Linux chown命令 --更改文件所有者

Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。

Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符。

chown 需要超级用户 root 的权限才能执行此命令,非超级用户如需要设置关联组可能需要使用 chgrp 命令。

使用权限 : root

语法

chown [选项] 所有者[:组] 文件...
chown [选项] --reference=参考文件 文件...

选项 :

  • -R, --recursive: 递归更改目录及其子目录中所有文件的所有者

  • -v, --verbose: 显示详细操作信息

  • -c, --changes: 只显示实际发生更改的文件

  • -f, --silent, --quiet: 抑制错误信息

  • --reference=文件: 使用参考文件的所有者和组设置

  • -h, --no-dereference: 影响符号链接本身,而不是链接指向的文件

  • --from=当前所有者: 只有当前所有者匹配时才更改

基本使用格式

1. 只更改所有者

chown username filename
chown john file.txt

2. 同时更改所有者和组

chown username:groupname filename
chown john:developers script.sh

3. 只更改组(所有者前留空)

chown :groupname filename
chown :staff document.txt

4. 使用数字ID

chown 1000:1000 filename    # 用户ID 1000,组ID 1000
chown 1001 filename         # 只更改用户ID

实例

把 /var/run/httpd.pid 的所有者设置 root:

chown root /var/run/httpd.pid

将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup :

chown runoob:runoobgroup file1.txt

将当前前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup:

chown -R runoob:runoobgroup *

把 /home/runoob 的关联组设置为 512 (关联组ID),不改变所有者:

chown :512 /home/runoob

实际应用示例

1、Web 服务器文件管理

# 将网站文件所有权给web服务器
chown -R www-data:www-data /var/www/html/

# 设置上传目录权限
chown -R apache:apache /var/www/uploads/
chmod -R 755 /var/www/uploads/

2、用户文件管理

# 将用户目录所有权返回给用户
chown -R john:john /home/john/

# 新建用户后设置home目录
chown -R newuser:newuser /home/newuser/

3、系统服务文件

#

 设置服务日志文件所有者
chown syslog:adm /var/log/application.log

# 设置数据库文件所有者
chown -R MySQL:mySQL /var/lib/mysql/

4、开发项目权限

# 设置项目文件所有者为开发团队
chown -R developer:developers /home/projects/webapp/

# 设置部署目录权限
chown -R deploy:deploy /opt/application/

高级使用技巧

1、批量操作

# 使用find命令批量更改
find /home/user -name "*.sh" -exec chown user:staff {} \;

# 只更改特定类型文件的所有者
find /var/www -type f -name "*.PHP" -exec chown www-data:www-data {} \;

2、条件更改

# 只有当前所有者是root时才更改
chown --from=root john /home/john/file.txt

# 基于参考文件设置
chown --reference=/etc/passwd /etc/shadow

3、符号链接处理

# 更改符号链接本身
chown -h john:staff /home/user/link

# 更改符号链接指向的文件
chown john:staff /home/user/link


文章声明:以上内容(如有图片或视频亦包括在内)除非注明,否则均为阿初在此原创文章,转载或复制请以超链接形式并注明出处。https://achu.pro/20130628.html

« 上一篇
下一篇 »

相关推荐

Linux chgrp 命令 -- 更改文件所属组

2013年07月24日

6阅读

Linux chown命令 --更改文件所有者

2013年06月12日

5阅读

Linux file命令 -- 识别文件类型

2013年05月18日

5阅读

LINUX cat命令 – 在终端设备上显示文件内容

2013年05月06日

10阅读

Linux chmod命令--更改文件权限

2013年05月02日

6阅读

Linux chattr 命令-提供更高级的文件管理功能

2013年04月05日

6阅读

发表评论

访客 访客
验证码
评论列表 (暂无评论,5人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码