📅  最后修改于: 2023-12-03 14:52:25.062000             🧑  作者: Mango
权限是 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 系统管理员必须了解的一项技能。