默认权限和特殊权限
1.默认权限
umask 属性,用来确定LINUX的默认权限
umask 使用数字权限方式表示:如:022
目录的默认权限是777-umask
文件的默认权限是666-umask
一般普通用户的umask是002,root用户默认umask是022
命令umask用以查看设置umask的值
ming@ming-computer:~$ umask
0002 -------------------->>>>>>>>>>普通用户
ming@ming-computer:~$ sudo su
[sudo] password for ming:
root@ming-computer:/home/ming# cd
root@ming-computer:~# umask
0022 ------------------------->>>>>>>>>>>>>>根用户
root@ming-computer:~#
注:实际上是4位另一位是存储特殊权限的。
在命令行中敲入umask 数字权限,可以修改当前终端的umask属性
ming@ming-computer:~$ umask
0002
ming@ming-computer:~$ umask 022 ----------->>>>>>>修改umask
ming@ming-computer:~$ umask
0022 ---------------->>>>>>>>>>只限于当前终端
ming@ming-computer:~$
2.特殊权限(寻找命令的源文件:which 命令名称)
umask的第一位就是特殊权限位(4位12bit长,UGO占9bit)
suid----->>>对文件:以文件所属用户的身份执行而非执行文件的用户。对目录无影响。(目地:让用户在执行时拥有额外的权限、资源和功能)例如passwd命令
ming@ming-computer:~$ which passwd
/usr/bin/passwd
ming@ming-computer:~$ ls -ld /usr/bin/passwd
-rwsr-xr-x 1 root root 41284 4月 9 2012 /usr/bin/passwd ------------>>>>>>>所属用户的x位变成s(设置成SUID)密码保存在/etc/shadow中,普通用户没有权限修改此文件,设置成suid,这样用户就能自己修改密码。(通常设置给可执行文件,让某些用户获得的原先没有的功能)
ming@ming-computer:~$
sgid----->>>对文件以文件所属组身份执行。对目录:在该目录中创建的任意新文件的所属组与该目录的所属组相同(继承该目录的所属组)。没有设置的话是原先用户的所属
组
sticky----->>>对文件无影响。对目录:对目录拥有写权限的用户仅仅可以删除其拥有的文件,无法删除其他用户所拥有的文件
3.设置特殊权限位
suid:
chmod u+s filename
设置sgid:
chmod g+s filename
设置sticky:
chmod o+t filename
与普通权限一样,特殊权限也可以使用数字方式表示
SUID=4 ----->>>用户的x位
SGID=2 ----->>>组的x为
STICKY=1 ----->>>other的x位
所以,我们可以通过以下命令设置:
chmod 4755 filename ------rwsr-xr-x