2014年9月28日

Linux扩展权限(默认权限):umask

默认权限
每一个终端都拥有一个umask属性,来确定新建文件、文件夹的默认权限
umask使用数字权限方式表示,如:0022(第一个数字是特殊权限)

创建目录的默认权限是:777-umask(777减去当前的umask最后三个数字的值)
创建文件的默认权限是:666-umask(666减去当前的umask最后三个数字的值)
一般情况下,普通用户的默认umask是002,root用户的默认umask是022

也就是说,对于普通用户来讲:
新建文件的权限:666-002=664
新建目录的权限:777-002=775

命令umask用以查看设置(修改)umask值
umask 022
一般情况下,我们不去修改默认权限.

特殊权限

权限   对文件的影响 对目录的影响
suid 以文件的所属用户身份执行,而非执行文件的用户
sgid 以文件属组身份执行 在该目录创建的任意文件(包括文件夹)的所属组与该目录的所属组相同
sticky 对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件

suid:
root@a:~# ls -ld /usr/bin/passwd
-rwSr-xr-x 1 root root 42824 Apr 9 2012 /usr/bin/passwd
suid(S)替换了所属用户User的权限的x位
sgid(S)替换了所属用组Group的权限的x位
sticky(T)替换了所其他用组权限的x位

root@a:~# ls -ld /etc/shadow
-rw-r—– 1 root shadow 950 Sep 27 15:40 /etc/shadow

root的权限无穷大,passwd功能就是接受用户信息,然后写入shadow当中。

设置特殊权限
设置suid:
chmod u+s linuxcast
设置sgid:
chmod g+s linuxcast
设置sticky:
chmod o+t linuxcast

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