Linux chown命令示例

时间:2020-02-23 14:39:26  来源:igfitidea点击:

有时,您将面临更改文件和文件夹权限的前景。
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