linux学习入门14——Linux扩展权限(linuxcast.net)(uamsk、特殊权限(suid,sgid,sticky))

来源:互联网 发布:佐治亚理工本科知乎 编辑:程序博客网 时间:2024/05/20 03:39

默认权限和特殊权限



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


原创粉丝点击