Linux chown命令示例
有时,您将面临更改文件和文件夹权限的前景。
Linux chown命令使您可以根据需要修改文件和目录权限。
这非常方便,尤其是在配置功能和服务时。
让我们看看如何使用该命令。
Linux chown命令语法
chown命令用法的语法如下所示:
chown [option] [owner]:[group] file
让我们看一下该命令附带的几个选项。
更改文件所有权
您如何更改文件的所有权?语法非常简单,如下所示。
chown [owner] file
让我们看一下由用户"詹姆斯"创建的文件" newfile.txt"。
默认情况下,此文件属于用户" james"和组" james",如下面的输出所示。
ls -l
文件权限后的第一个属性表示拥有文件的用户,第二个属性表示文件所属的组。
要将文件所有权更改为其他用户(例如root用户),请执行:
chown root newfile.txt
要验证所有权更改,再次使用ls -l
命令。
有时,您在运行chown命令时可能会遇到权限问题。
例如,更改属于另一个用户的文件所有权。
在这种情况下,请使用sudo运行命令,并确保用户具有sudo特权。
更改文件所属的组
在上一个示例中,我们设法将文件的所有权从一个用户更改为另一个用户。
但是,如果您足够敏锐,则必须已观察到组没有改变。
更改文件所属的组与更改用户非常相似。
语法略有不同,如下所示
chown :[group-name] [file-name]
例如,将组所有权更改为root用户运行
chown :root newfile.txt
这次,我们设法更改了文件的组。
通过一个命令更改文件所属的用户和组
如果您想简化工作并更改用户和文件所属的组,请使用以下语法
chown user:group newfile.txt
例如,将用户和组都更改为" james",执行:
chown james:james newfile.txt
更改目录所有权
现在让我们谈谈更改目录所有权。
语法仍然非常相似,
chown user:group ./directory-name/
我有一个由root用户创建的名为linux的目录,它包含3个文本文件:
file1.txt file2.txt file3.txt
要将用户和组更改为" james"运行
chown james:james ./linux/
正如您已经敏锐地指出的,尽管更改了目录所属的用户和组,但目录内容保持不变。
要将文件所有权归类到文件夹内容,我们将递归更改权限,如您将在下一个子主题中学习的那样。
递归更改目录的文件权限
要回想性地影响文件权限,请使用-R选项
chown -R root:root linux
从输出中,我们可以清楚地看到文件权限已对" linux"目录中包含的文件生效。
更改文件的UID和GID
可以选择指定文件所属的GID或者UID,而不是在chown命令中指定用户或者组。
为此,请使用语法
chown uid:gid [filename]
例如,要将" newfile.txt"更改为uid 1000和gid 1000,请执行以下命令:
chown 1000:1000 newfile.txt
显示详细输出
您可以选择显示更改权限时在终端上正在进行的操作。
为此,请使用-v选项
chown root:root newfile.txt -v