📌  相关文章
📜  如何在 Linux 中更改文件的权限 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:52:25.062000             🧑  作者: Mango

如何在 Linux 中更改文件的权限 - Shell-Bash

权限是 Linux 中的一个重要概念,用于控制文件或目录的访问权限。文件拥有者/用户、拥有组和其他人(不在用户组中的人)可以通过相应的权限读取、写入和执行文件。在本文中,我们将讨论如何在 Linux 上使用Shell-Bash更改文件的权限。

查看文件权限

在更改文件权限之前,我们需要知道文件的当前权限。我们可以使用 ls -l 命令来查看文件的权限。该命令将显示文件的大小、拥有者、拥有组以及文件的权限。

$ ls -l file.txt
-rw-r--r-- 1 user group 14 Jan 29 20:00 file.txt

文件权限的第一个字符表示文件类型。'-'表示常规文件、'd'表示目录、'l'表示符号链接等。

文件权限的后9个字符分别表示三组权限,即文件拥有者/用户的权限、拥有组的权限和其他人的权限。每组权限由三个字符表示,对应于读(r)、写(w)、执行(x)权限。如果没有权限,则使用'-'表示。

在上面的示例中,文件 'file.txt' 是一个常规文件(-rwxr-xr-x),拥有者是 'user',拥有组是 'group'。用户有读、写和执行权限,而组和其他人仅有读和执行权限。

更改文件权限

我们可以使用 chmod 命令更改文件的权限。以下是 chmod 命令的基本语法:

chmod [options] mode filename

其中,'mode' 是指新的权限,也可以使用八进制数字表示。在使用八进制数字表示时,每个数字分别表示文件拥有者/用户、拥有组和其他人的权限。

以下是一些常用权限模式:

  • r :读取权限(4)
  • w :写入权限(2)
  • x :执行权限(1)
  • - :无权限(0)

要更改文件 'file.txt' 的权限,如下所示:

$ chmod 644 file.txt

在上面的示例中,'6' 表示文件拥有者/用户有读、写权限,'4' 表示拥有组和其他人有读权限。

我们也可以使用符号表示法来更改文件权限。'+' 用于添加权限,'-' 用于删除权限,'=' 用于设置权限。

以下是使用符号表示法更改文件权限的示例:

$ chmod u+x file.txt     # 给用户添加执行权限
$ chmod o-r file.txt     # 去掉其他人的读权限
$ chmod g=r file.txt     # 将组的权限设置为只读

在上面的示例中,'u' 表示用户、'g' 表示组、'o' 表示其他人。

更改文件拥有者和拥有组

我们可以使用 'chown' 命令更改文件的拥有者/用户和拥有组。以下是 'chown' 命令的基本语法:

chown [options] new_owner: new_group filename

我们可以使用用户名或用户ID(UID)来表示文件的新拥有者/用户。我们可以使用组名或组ID(GID)来表示文件的新拥有组。

以下是更改文件拥有者/用户和拥有组的示例:

$ chown user:group file.txt    # 更改文件的拥有者和拥有组
$ chown user file.txt          # 仅更改文件的拥有者/用户
$ chown :group file.txt        # 仅更改文件的拥有组
结论

在 Linux 中,了解和掌握文件权限是非常重要的。使用 ls -l 命令可以查看文件的权限,使用 chmod 命令可以更改文件的权限,使用 chown 命令可以更改文件的拥有者/用户和拥有组。

使用 Shell-Bash 更改文件权限是 Linux 系统管理员必须了解的一项技能。