开发者

Linux之权限管理解读

目录
  • 1.访问者的分类
  • 2.文件类型与访问权限
  • 3.文件权限值的表示方法
    • 字符表示法
    • 8进制表示法
  • 4.文件权限的设置方法
    • a)chmod
    • b)chown
    • c)chgrp
  • 5.常见权限问题
    • 总结

      linux 下有两种用户:超级用户( root )、普通用户。

      • 超级用户:可以再linux系统下做任何事情,不受限制
      • 普通用户:在linux下做有限的事情。

      超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

      • 命令:su [用户名]

      理解权限,分两个方面来理解,一方面它是针对谁的,另一方面它具有哪些属性。

      1.访问者的分类

      • 文件和文件目录的所有者:u---User
      • 文件和文件目录的所有者所在的组的用户:g---Group
      • 其它用户:o---Others

      2.文件类型与访问权限

      Linux之权限管理解读

      文件类型

      • d:文件夹
      • -:普通文件
      • l:软链接(类似Windows的快捷方式)
      • b:块设备文件(例如硬盘、光驱等)
      • p:管道文件
      • c:字符设备文件(例如屏幕等串口设备)
      • s:套接口文件

      基本权限

      • i. 读( r/4 ): Read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
      • ii. 写( w/2 ): Write 对文件而言,具有修改文件内容的权限;对目录来说具有删除php移动目录内文件的权限
      • iii. 执行( x/1 ): execute 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

      iv.“—” 表示不具有该项权限

      3.文件权限值的表示方法

      字符表示法

      Linux之权限管理解读

      8进制表示法

      Linux之权限管理解读

      4.文件权限的设置方法

      a)chmod

      • 功能: 设置文件的访问权限
      • 格式: chmod [ 参数 ] 权限 文件名
      • 说明:只有文件的拥有者和 root 才可以改变文件的权限

      ① 用户表示符 +/-= 权限字符

      • +:向权限范围增加权限代号所表示的权限
      • -:向www.devze.com权限范围取消权限代号所表示的权限
      • =:向权限范围赋予权限代号所表示的权限

      用户符号:

      • u:拥有者
      • g:拥有者同组用
      • o:其它用户
      • a:所有用户

      举例:

      Linux之权限管理解读

      ②三位 8 进制数字

      举例:

      Linux之权限管理解读

      b)chown

      • 功能 :修改文件的拥有者
      • 格式 : chown [ 参数 ] nTGNNise用户名 文件名

      举例:

      Linux之权限管理解读

      c)chgrp

      • 功能 :修改文件或目录的所属组
      • 格式 : chgrp [ 参数 ] 用户组名 文件名

      举例:

      Linux之权限管理解读

      当然,可以修改拥有者的同时,修改所属组

      Linux之权限管理解读

      5.常见权限问题

      1.进入一个目录,需要什么权限?

      Linux之权限管理解读

      通过观察,不难发现,进入目录,需要 x 权限。

      2.umask

      Linux之权限管理解读

      为什么创建一个目录和普通文件,目录对应的权限分别为 775(rwx | rwx | r-x)

      普通文件对应的权限为 664 (rw- | rw- | r--),为什么呢?

      • 一个目录被创建,起始权限是从 777 开始的;
      • 一个普通文件被创建,起始权限是从 666 开始的。

      但是 777 编程客栈与 775 并不同,666 与 664 也不同,为什么呢?-----这里引入 umask(权限掩码)

      Linux之权限管理解读

      目录或者文件被创建,最终的权限 = 起始权限 & (~ umask)

      即,先对 umask 按位取反,然后与 起始权限 按位与,结果就是最终权限。

      下面,我们只针对 o(Other) 进行验证:

      Linux之权限管理解读

      3.粘滞位

      Linux之权限管理解读

      我们发现, o(Other) 列最后一个字母是 t,这个是什么意思呢?------这个就是粘滞位

      那么粘滞位有什么用呢?

      Linux之权限管理解读

      我们惊奇的发现,在 根目录 下的一个目录中创建的一个普通文件,虽然 wmh(普通用户)不能进行写入,对应的权限是 r-- ,不能写入能理解,但是居然能删除。

      这里我想说的是,目录中的文件,能不能被删除,不是看文件针对某个对象有没有 w 权限,而是该文件所在的目录有针对该对象,有没有 w 权限。

      引入粘滞位的目的就是,当多个用户在同一个目录中创建,修改文件时,本来属于 o(Other) 用户,并没有对应的修改,或者查看,或者删除的权限,但是该文件所在的目录针对 o(Other) 有 w 权限,这就导致了虽然 o(Other) 不能查看,修改,删除,但是却真的能删除。

      引入粘滞位以后,该文件就不能被删除了,达到了谁创建的谁才能删除(root 除外,因为root无所不能)。

      Linux之权限管理解读

      我们发现,引入粘滞位后,属于o(Other) 的 wmh 删除不了了。

      总结

      以上为个人经验,希望能给大家一php个参考,也希望大家多多支持编程客栈(www.devze.com)。

      0

      上一篇:

      下一篇:

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      最新运维

      运维排行榜