Linux 中的 chown 命令和示例
操作系统中的不同用户拥有所有权和权限,以确保文件安全并限制谁可以修改文件内容。在 Linux 中,有不同的用户使用该系统:
- 每个用户都有一些与之关联的属性,例如用户 ID 和主目录。我们可以将用户添加到一个组中,以便更轻松地管理用户。
- 一个组可以有零个或多个用户。指定的用户可以与“默认组”相关联。它也可以是系统上其他组的成员。
所有权和权限:为了保护和保护 Linux 中的文件和目录,我们使用权限来控制用户可以对文件或目录执行的操作。 Linux 使用三种类型的权限:
- 读取:此权限允许用户读取文件和目录,它允许用户读取存储在其中的目录和子目录。
- 写入:此权限允许用户修改和删除文件。它还允许用户修改目录的内容(创建、删除和重命名其中的文件)。除非没有授予目录的执行权限,否则更改确实会影响它们。
- 执行:文件的写权限允许它被执行。例如,如果我们有一个名为PHP.sh的文件,那么除非我们不给它执行权限,否则它不会运行。
文件权限类型:
- 用户:这些类型的文件权限会影响文件的所有者。
- 组:这些类型的文件权限影响拥有文件的组。如果所有者用户在此组中,则将应用用户权限而不是组权限。
- 其他:这些类型的文件权限会影响系统上的所有其他用户。
注意:要查看我们使用的权限:
ls -l
chown命令用于更改文件所有者或组。每当您想更改所有权时,都可以使用 chown 命令。
句法:
chown [OPTION]… [OWNER][:[GROUP]] FILE…
chown [OPTION]… –reference=RFILE FILE…
示例:要更改文件的所有者:
chown owner_name file_name
在我们的例子中,我们有如下文件:
现在,如果我在我的情况下使用file1.txt ,要更改所有权,我将使用以下语法:
chown master file1.txt
其中master是系统中的另一个用户。假设您是名为 user1 的用户,并且您想将所有权更改为 root(您的当前目录是 user1)。在语法前使用“sudo”。
sudo chown root file1.txt
选项:
- -c:当文件发生变化时报告。
例子:
chown -c master file1.txt
- -v:用于显示处理的每个文件的详细信息。
例子:
chown -v master file1.txt
- -f:它抑制大多数错误消息。当您不允许更改组权限并显示错误时,此选项会强制/静默更改所有权。
例子:
- 更改组所有权在我们的例子中,我使用 group1 作为系统中的一个组。要更改所有权,我们将使用
chown :group1 file1.txt
您可以看到组权限从 root 更改为 group1,如果您使用 -v 选项,它将报告该情况。我们只需要添加一个“:”来更改组。
- 更改所有者和组:再次将master作为用户,group1作为系统中的一个组
chown master:group1 greek1
这里, greek1 是一个文件。
- 仅从特定所有权更改所有者:假设我们要将所有权从主更改为根,当前所有者必须仅为主。
chown --from=master root greek1
- 要从特定组更改组:
chown --from=:group1 root greek1
在这里,greek1 的组被更改为 root。
- 要将一个文件的所有权复制到另一个:
chown --reference=greek1 greek2
- 要更改多个文件的所有权:
chown master:group greek2 greek3