目录
 
 1.文件访问者的分类(人/用户) 
 
 2.文件类型和访问权限(事物属性)
 
 3.文件权限值的表示方法
 
 a)字符表示方法
 
 b)8进制数值表示方法 
 
 4.文件访问权限的相关设置方法 
 
 4.1 改属性
 
 4.2 改人(改拥有者/所属组)
 
 5. 常见权限问题
 
 5.1 目录权限
 
 5.2 umask 
 
 5.3 粘滞位
 
 
  
 Linux下有两种用户:超级用户(
 root
 )、普通用户。 
  
 超级用户:可以再
 linux
 系统下做任何事情,不受限制 
 
 普通用户:在
 linux
 下做有限的事情。 
 
 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
 。 
 
 
 命令
 :
 su [
 用户名
 ] 
 
 功能
 :切换用户。 
 
 例如,要从
 root
 用户切换到普通用户
 user
 ,则使用
  su user
 。 要从普通用户
 user
 切换到
 root
 用户则使用
  su root(
 root
 可以省略),此时系统会提示输入root用户的口令(密码).
 
  
 
1.文件访问者的分类(人/用户) 
 
 文件和文件目录的所有者:u---User(类似小组长) 
 
 文件和文件目录的所有者所在的组的用户:g---Group(类似小组成员) 
 
 其它用户:o---Others (类似其他人)
 
 
 
2.文件类型和访问权限(事物属性)
 

 
a) 文件类型
 
 d
 :文件夹 
 
 -
 :普通文件 
 
 l
 :软链接(类似
 Windows
 的快捷方式) 
 
 b
 :块设备文件(例如硬盘、光驱等) 
 
 p
 :管道文件 
 
 c
 :字符设备文件(例如屏幕等串口设备) 
 
 s
 :套接口文件
 
 
 注:Linux下,不以文件后缀来区分文件类型(并不代表不可以使用,在系统层面没意义,用户看着方便)
 
 
 
 b)基本权限
 
 
 
 
  i.   
  读(r)
  :
  Read
  对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 
 
 
 
  ii. 
   写(w)
  :
  Write
  对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限 
 
 
 
  iii. 
  执行(x)
  :
  execute
  对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限 
 
 
 
  iv. 
  “-”表示不具有该项权限
 
 
  
 
3.文件权限值的表示方法
 
a)字符表示方法
 

 
b)8进制数值表示方法 
 

 
4.文件访问权限的相关设置方法 
 
4.1 改属性
 
 a)chmod 
 
 功能:
 设置文件的访问权限 
 
 格式:
 chmod [
 参数
 ] 权限 文件名                                                                                                        
 
  常用选项: 
 
 
 
          R : 递归修改目录文件的权限
 
 
  
 
 说明:只有文件的拥有者和
 root
 才可以改变文件的权限 
 
 
 chmod命令权限格式:
 
 ① 用户表示符 +/-/= 权限字符 
 
 +:
 向权限范围增加权限代号所表示的权限 
 
 -:
 向权限范围取消权限代号所表示的权限 
 
 =:
 向权限范围赋予权限代号所表示的权限 
 
 用户符号:  
 
 u
 :拥有者(user)
 
 g
 :拥有者同组用(group)
 
 o
 :其它用户(other)
 
 a
 :所有用户(all)
 
 
 
 
 
 ②三位8进制数字
 
 
 
若无权限会怎么样?(Permission denied) (但是root账户即使无权限也可操作访问,root相当于上帝!)
 

 
 
 
4.2 改人(改拥有者/所属组)
 
 b)chown 
 
 功能
 :修改文件的拥有者 
 
 格式
 :
 chown [
 参数
 ] 
 用户名 文件名
 
 
 
 
 c)chgrp 
 
 功能
 :修改文件或目录的所属组 
 
 格式
 :
 chgrp [
 参数
 ] 
 用户组名 文件名 
 
 常用选项
 :
 -R 
 递归修改文件或目录的所属组
 
 
 
 
5. 常见权限问题
 
5.1 目录权限
 
- 进入一个目录,需要权限:x;                                                                                                   
 - 查看目录下面文件列表,需要权限:r;                                                                                     
 - 要在目录下创建文件或者目录,需要权限:w.
 
 
5.2 umask 
 

 
 实际上,目录起始权限是777(rwxrwxrwx),普通文件起始权限是666(rw-rw-rw-),那么为什么我们上图中看到的最终权限和起始权限不一样呢?
 
这就涉及到权限掩码umask:
 

 
 Tip:凡是在umask中出现的权限,都不应该在最终权限中出现!
 
分析:上图中我们得知当前umask为002,前两位为0,所以不影响拥有者和所属组权限,以目录权限777为例,7二进制为111,umask中2的二进制为010,由Tip知,最终权限为101,即r-x(775),与目录最终权限相符。同理可得普通文件最终权限为664(r--)。
 
结论:最终权限 = 起始权限&(~umask)。
 
修改umask方法如下:
 
 
 
5.3 粘滞位
 
        一般情况下,别人想要删除你创建目录下文件是做不到的,因为你根本不会给他进入你目录的权限。
 
但是不排除有这种情况:当多个用户共享一个目录,需要在该目录下进行读写删除,那么有可能别人就把你的文件删除了。这种情况就需要给该目录设置粘滞位解决。
 
设置粘滞位后,该目录下文件只能由3种人删除:超级管理员(root),目录所有者,文件所有者。这样一来,用户就只能删自己文件而不能删其他用户文件了。
 
粘滞位设置方法:chmod  +t  目录名 
 

 
注:粘滞位只能给目录加,普通文件不行。