说说在 Linux 中如何修改某个文件拥有者

语言: CN / TW / HK

修改某个文件的拥有者,最常见的应用场景是在复制文件给其他人时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 命令.

分享到: