Linux入门基础 #8:Linux拓展权限


本文出自 http://blog.csdn.net/shuangde800

---------------------------------------------------------------------------------

 

默认权限

 
  • 每一个终端都拥有一个umask属性,来确定新建文件和文件夹的默认权限
  • umask使用数字权限方式来表示,如022
  • 目录的默认权限是:777-umask
  • 文件的默认权限是:666-umask
  • 一般,普通用户的默认umask是002,root用户的默认umask是022
  • 也就是说,对于普通用户来说:
新建文件的权限是:666-002 = 664
新建目录的权限是:777-002 = 775
  • 命令umask用以查看设置umask值
$ umask 查看当前的umask值。(会看到有4位,后面讲)
$ umask 022 把当前的umask值甚至为022
 
 
 
 

 

特殊权限

 
除了普通权限,还有特殊权限
用命令umask,会看到有4位,每一位占3bit,所以Linux权限二进制共有12位,UGO占了后9位, 开头的3位是特殊权限。
 
权限 对文件的影响 对目录的影响
suid 以文件的所属目录身份执行,而非执行文件的用户
sgid 以文件所属组身份执行 该目录中创建的任意新文件的所属组与该目录的所属组相同
sticky 对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件
 
 
例如:
 

$ ls -l /usr/bin/passwd

显示:

-rwsr-xr-x 1 root root 41284 Apr 9 2012 /usr/bin/passwd

U权限的x位变成了s,说明这个文件是suid权限
 
 

设置特殊权限

 

设置suid: $ chmod u+s test

设置sgid: $ chmod g+s test

设置sticky:$ chmod o+t test

 
 
 
与普通权限一样,特殊权限也可以使用数字方式表示
-SUID = 4
-SGID = 2
-Sticky = 1
所以,我们可以通过以下命令设置:
$ chmod 4755 test
 
 
 
 
 
 
 
 

猜你喜欢

转载自shangxun.iteye.com/blog/1937509