linux chown命令格式,在Linux上如何使用chown命令 (文件所有权)

在本教程中,通过实例向你展示如何使用chown命令。

如何使用chown

在使用chown命令之前,先回顾一下基本的语法。

chown命令表达式采用以下格式:chown [OPTIONS] USER[:GROUP] FILE(s)复制

USER是新所有者的用户名或用户ID ( UID ),GROUP是新组的名称或组ID ( GID),FILE是一个或多个文件,目录或链接的名称,数字ID应以+符号为前缀。USER-如果仅指定用户,则指定的用户将成为给定文件的所有者,组所有权不会更改。USER: - 当用户名后跟冒号:并且未给出组名时,用户将成为文件的所有者,并且文件组的所有权更改为用户的登录组。USER:GROUP-如果同时指定了用户和组(在它们之间没有空格),则文件的用户所有权更改为给定的用户,而组所有权更改为给定的组。:GROUP-如果省略了User,并且该组以冒号:开头,则仅文件的组所有权更改为给定的组。:如果仅给出一个冒号:而不指定用户和组,则不会进行更改。

默认情况下,成功时,chown不产生输出并返回零。

使用命令查明谁拥有文件或文件所属的组:ls -l filename.txt-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt

|[-][-][-]- [------] [---]

| |

| +-----------> Group

+-------------------> Owner

只有root或有权限的用户才能更改文件的组所有权。

如何更改文件的所有者

要更改文件的所有者,请使用chown命令,后跟新所有者的用户名和目标文件作为参数:chown USER FILE复制

例如,以下命令将名为file1的文件的所有权更改为名为linuxize的新所有者:chown linuxize file1

要更改多个文件或目录的所有权,请将它们指定为以空格分隔的列表,下面的命令将名为file1和目录dir1的文件的所有权更改为名为linuxize的新所有者:chown linuxize file1 dir1

可以使用数字用户ID ( UID )代替用户名,以下示例将名为file2的文件的所有权更改为UID为1000的新所有者:chown 1000 file2

如果数字所有者作为用户名存在,那么所有权被转移到用户名,要避免此前缀ID +:chown 1000 file2

如何更改文件的所有者和组

若要更改文件的所有者和组,请使用chown命令,后跟新的所有者和组,该组之间用冒号( : )分隔,没有目标文件插入空格和。chown USER:GROUP FILE复制

以下命令将名为file1的文件的所有权更改为名为linuxize和组users的新所有者:chown linuxize:users file1

如果省略冒号( : )后面的组名,文件的组将更改为指定的用户的登录组:chown linuxize: file1

如何更改文件的组

要只更改文件的组,请使用chown命令,后跟冒号( : )和新组名(他们之间没有空间)和目标文件作为参数:chown :GROUP FILE复制

以下命令将名为file1的文件的所属组更改为www-data:chown :www-data file1

另一个可用于更改文件组所有权的命令是。

如何更改符号链接所有权

当不使用recursive选项时,chown命令会更改符号链接指向的文件的组所有权,而不是符号链接本身。

例如,如果你尝试更改指向symlink1的符号链接的所有者和组/var/www/file1符号链接,chown将更改文件的所有权chown www-data: symlink1

就不能更改目标所有权,而是获得"cannot dereference'symlink1': Permission denied" 错误。

错误发生是因为大多数Linux发行版的符号链接都受到保护,不能直接对目标文件进行操作,此选项在/proc/sys/fs/protected_symlinks中指定,1表示已启用,0已禁用,我们建议不要禁用符号链接保护。

要更改符号链接本身的组所有权,请使用-h选项:chown -h www-data symlink1

如何递归更改文件所有权

要递归操作给定目录下的所有文件和目录,请使用-R ( --recursive )选项:chown -R USER:GROUP DIRECTORY复制

以下示例将/var/www目录下所有文件和子目录的所有权更改为名为www-data的新所有者和组:chown -R www-data: /var/www

如果目录包含符号链接,就传递-h选项:chown -hR www-data: /var/www

在递归更改目录所有权时可以使用的其他选项是-h和-L。

如果传递给chown命令的参数是指向目录的符号链接,就-h选项将导致命令遍历它,-L告诉chown遍历遇到的每个符号链接到一个目录,通常,不应该使用这些选项,因为你弄乱系统或创建安全风险。

使用引用文件

--reference=ref_file选项允许你将给定文件的用户和组所有权更改为与指定的引用文件( ref_file )的所有者相同,如果参考文件是符号链接chown使用目标文件的用户和组。chown --reference=REF_FILE FILE复制

例如,以下命令将file1的用户和组所有权分配给file2chown --reference=file1 file2

结论

chown是一种Linux/UNIX命令行程序,用于更改文件用户和组的所有权。

要了解有关chown命令的更多信息,请访问chown页面或在终端中键入man chown。

如果你有问题或反馈,请留下评论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值