说说在 Linux 中如何修改某个文件拥有者
2020-11-23 本文已影响0人
deniro
修改某个文件的拥有者,最常见的应用场景是在复制文件给其他人时1。
假设原来在 vagrant 账号下有一个 deniro.txt 文件:
这时我们使用 cp 命令(cp deniro.txt deniro_copy.txt
),把这个文件复制一份给其他人:
可以看到,这个新的 deniro_copy.txt 文件,它的拥有者以及拥有组名都为 vagrant。
如果我们把这个文件给其他账号,他们如果没有权限,根本无法使用。
解决这一问题的方法之一是使用 chgrp 命令修改这个新文件所在的组2。
这里我们采用另一种方法:修改这个新文件的拥有者。这会用到 chown 命令。Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令3。
chown 命令格式为:chown [-R] user[:group] file
-
- R
表示以递归的方式来处理。 - user 表示新拥有者的名称。这个名称必须是已存在的 Linux 账号。这个账号列表是 /etc/passwd。
- file 表示需要修改拥有者的文件名称。
- 这里还有一个可选项 [:group],利用它可以一次性把组名也修改掉。
比如我们想把新的 deniro_copy.txt 文件的拥有者改为 operator、组名修改为 tty,那么可以执行命令 chown operator:tty deniro_copy.txt
(可能需要权限高的账号来执行该命令):
参考资料:
【1】鸟哥. 鸟哥的Linux私房菜 基础学习篇[M]. 第四版. 北京: 人民邮电出版社,2018:212-213.
【2】说说在 Linux 中如何修改某个文件所属群组.
【3】Linux chown 命令.