ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

(Linux)权限的基础理解

(Linux)权限的基础理解 权限的基本概念Linux下有两种用户一种是超级用户root一种是普通账户。超级用户不受任何权限的限制我们所说的权限管理是针对普通用户的。要切换不同用户也很简单可以用su命令格式如下su [用户名]如果要切换root用户使用su root 或者不填用户名直接用su即可。文件有如下三个基本的权限读r:对文件而言具有读取文件内容的权限对目录来说具有浏览该目录信息的权限。写 (w) :对文件而言具有修改文件内容的权限对目录则具有删除或移动目录内文件的权限。执行(x)对文件而言具有执行文件得到权限如果是目录则具有进入目录的权限。如果一个文件所有人都可以读写或者执行那就很难保护好一些机密文件所以要给不同的文件访问者设置不同的权限。按照访问者的身份可以将其分为3类文件或目录的拥有者u---User文件或目录拥有者所在的组的用户g---Group简称所属组最后是其他用户o---Others给三种访问者分配不同的权限以保护重要信息不被泄露或者篡改。比较矛盾的一点是当用户拥有某个目录的写权限时就可以删除该目录下的文件无论用户有没有该文件的写权限。为此Linux引入了粘滞位的概念。当目录被设置为粘滞位时该目录下的文件只能有三种用户能删除一是root用户二是文件所在目录的拥有者三是该文件的拥有者。更改权限的具体操作更改文件访问权限在Linux中只有文件拥有者和root才可以更改访问权限用chmod指令即可更改具体格式是chmod [选项] [权限] [文件名或路径]选项可以先不管更改权限有增加减少-和赋予三种操作赋予和增加的区别之后会在实例中讲。操作对象除了之前讲到的拥有者u,所属组g其他用户o之外还有所有人a用于一次更改所有访问者的权限。例如指令chmod aw temp.c 就是给文件temp.c的所有访问者加上写的权限实例如下首先用ll指令列出当前路径下的所有文件和目录每行第一个字符如果是d表示这是目录如果是-则反之。图中划线部分是文件temp.c的权限分配情况每三个字符对应一个访问者种类绿线上的部分是拥有者的权限情况绿线上的三个字符分别对应读r写w和执行x的权限哪个位置是 - 符号就说明没有哪个权限绿线上的rw-表示拥有者u有读写权限但是没有执行权限。此外红线部分表示所属组g的权限情况白色部分则对应的是其他用户o的。接着我们执行不同的chmod命令再用ll命令调出信息即可清楚地看到权限的变化。其中命令chmod ux temp.c 将拥有者的权限全部去掉然后增加x权限而不是像操作那样在原有的基础上增加权限这就是赋予和增加两种操作的区别。读者可以更改权限后切换账户再对同一文件读写或者更改拥有者、所属组进行进一步的验证。更改目录的粘滞位粘滞位可以看作是整个目录的一种属性要么有粘滞位要么没有。同样是使用chmod指令进行更改chmod t [目录]如果要取消粘滞位将 改成 - 即可。为目录加上粘滞位后其它用户的写权限会覆盖为 t 或T也就是显示在最后的那个权限。t 表示其他用户有执行权限T则表示没有。更改文件拥有者、所属组除了更改文件的访问权限还可以直接更改文件的拥有者和所属组。更改拥有者可以使用chown命令格式如下chown [选项] 用户名 文件名例如 chown user1 temp.c将拥有者改成root一般会被拒绝执行。更改所属组可以使用chgrp命令格式与chown类似如下chgrp [选项] 用户组名 文件名例如 chown users1 temp.c这两个命令较为简单不再具体操作。权限的表示在linux下权限的本质就是一串二进制数字一个权限对应一位0代表没有这个权限1则代表有。比如 rwx 对应 111rw_ 对应 110 不难发现只需三位的八进制数字就能表示一个文件的所有权限。我们可以具体来看下面这个文件。drwxrwxr-x 2 tester tester 4096 Aug 28 11:01 test/前面讲过最左边的那一串字符就是文件的权限。其中左边第一位是文件类型我们看后面这9位即rwxrwxr-x 对应的二进制数字即为 111111101转化为八进制即为775。其它文件也是同理。
返回列表