Linux 权限
设置
有关设置工作区的更多背景信息,请查看本系列的第一个指南:Linux 中的用户和组管理。
权限
Linux 中的每个文件、目录和其他系统对象都分配有所有者和组。这是系统安全性最基本但必不可少的部分,可保护用户免受彼此侵害。所有者、属于某个组的用户和所有其他人可能被授予不同类型的访问权限,以读取、写入或执行文件。这在 Linux 中通常称为文件权限。
为了设置权限和管理所有权,我们将使用以下命令:
chmod:更改文件权限
chown:更改文件所有者
chgrp:更改组所有权
id:打印用户和组 ID
用户、群组和其他所有人
通常,文件的所有者是创建该文件的用户,并且(至少在最初)组是与所有者关联的组(也称为主要组)。为了说明,让我们在当前工作目录中创建一个名为test1的新文件:
echo "This is a dummy file called test1" > test1
然后我们对其执行ls -l:
ls -l test1
输出中的第一个字符表示test1是一个常规文件(即不是目录或其他类型的系统对象)。接下来的九个字符(分为 3 组,每组 3 个)表示所有者、组所有者和系统中其他用户的读取 ( r )、写入 ( w ) 和执行 ( x ) 权限。
第一组 3 个字符 ( rw- ) 表示文件所有者 (用户pluralsight ) 具有读写权限,组也是如此(如接下来的 3 个字符所示)。最后,最后一组 ( r-- ) 表示其余用户只能读取该文件 - 但不能写入或执行它。
需要对文件具有读取权限才能打开和读取文件。需要对目录具有同样的权限(以及执行权限)才能列出其内容并移至其中。
要更改文件的权限,我们将使用chmod。此命令后面必须跟一个符号表示,指示应将新权限应用于谁:
- u表示用户(或者更准确地说,文件的所有者)
- g表示组
- o表示所有其他用户
- a表示所有用户
权限类型:
- +r添加读取权限
- -r删除读取权限
- +w添加写权限
- -w删除写权限
- +x添加执行权限
- -x删除执行权限
- +rw添加读写权限
- +rwx增加读写和执行权限
等等。
最后,我们还需要指定文件或目录的名称。让我们按如下方式更改test1上的权限。首先,我们将仅为所有者添加执行权限:
chmod u+x test1
接下来我们将会
chmod o-rw test1
删除所有者和非组所有者之外的其他用户的读写权限。
我们来看一下进行上述修改之后test1当前的权限:
ls -l test1
设置权限的另一种方法是使用八进制而不是符号表达式。要转换为八进制形式,我们必须将所需的权限分成 3 个字符的组,并使用下表将每个组替换为其八进制等价物:
权限 | 二进制 | 八进制 |
---|---|---|
--- | 000 | 0 |
--x | 001 | 1 |
-w- | 010 | 2 |
-wx | 011 | 3 |
r-- | 100 | 4 |
接收 | 101 | 5 |
rw- | 110 | 6 |
读写 | 111 | 7 |
根据上表,每个权限通常被称为位。因此,给定权限的存在意味着设置了相应的位。例如,rx表示读取和执行位都已设置,而写入位则未设置。因此,如果您需要为所有者分配test1的rwx权限,为组分配rw 权限,并为其他所有人分配r权限,则应执行
chmod 764 test1
在上面的命令中,7、6、4 分别代表 rwx、rw、r。
其他示例:
所有者和组具有rw权限,其他用户无任何访问权限: chmod 660 test1
所有者拥有所有 ( rwx ) 权限,但其他所有人(包括组和其他用户)仅拥有读取和执行权限:chmod 755 test1
何时使用符号表达式或八进制形式来设置权限取决于具体情况。如果只需要设置一位,那么符号表达式可能会更快。但如果我们要为所有者、组和所有其他人设置不同的权限,八进制形式更简单、更直接。
如果我们执行上述命令,test1的当前权限为rwxr-xr-x(755),所有者和组分别为pluralsight和pluralsight。
更改群组
现在介绍如何使用chgrp将test1的组所有者更改为finances。该命令后面必须跟组名和需要设置所有权的文件的名称(本例中为test1 )。
sudo chgrp finances test1
接下来,让我们看看用户student是否可以写入此文件。如下图所示,我们收到权限被拒绝错误。要授予student对文件的写权限,我们可以为组设置相应的位:
sudo chmod g+w test1
然后将帐户添加到财务中,再次使用usermod,但这次使用-aG组合选项,如下所示:
sudo usermod -aG finances student
-aG组合选项是 append to group 的缩写。
现在,财务组已成为用户student的次要或补充组。新的访问权限将在student下次登录时生效。
此时我们可以使用
id student
验证帐户是否已正确添加到组中。如果我们以学生身份登录,则只需输入id即可。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~