linux文件权限,用户和组

默认权限分配

umask

umask是通过八进制的数值来定义用户创建文件或目录的默认权限的
安全权限的临界点是,文件默认权限是644,目录默认权限是755

[root@Poppy joker]# umask 
0022
根据下面的判断来设置默认的权限分配
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
       umask 002
    else
       umask 022
    fi

所以你是root登录的话,umask是022,如果是uid大于199并且uid和gid不同umask就是002

控制umask方法,umask + 权限 linux文件的权限 666 全部权限 022 umask默认值 644 文件默认权限 目录权限从777 777 022 755

特殊权限位

setuid位
linux系统基本权限位为9位权限,但还有额外3位权限位,共12位权限
suid    s(有x)  S  4    用户对应的权限位,用户对应的3位上
sgid    s(有x)  S  2    用户组对应的权限位,用户组对应的3位上
sticky    t(有x)  T  1    其他用户对应的权限位

[root@Poppy ~]# ls -l `which passwd` 
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd
属主有个s位,也就是suid,就是说执行命令的任意用户可以获得该属主的权限 u+s u-s,suid针对命令和二进制程序的 setgid位 sgid仅对二进制命令有效 执行命令的任意用户可以获得该属组的权限 g+s g-s 黏贴位 其他用户带个t就是黏贴位,像/tmp目录一样 777 如果设置了黏贴位,除非目录的属主和root用户有权限删除它,除此之外其它用户不能删除这个目录

 特殊权限对应的数字小结:

suid 4000权限字符s(S),用户位的x位上设置
chmod 4755 /bin/rm 或 chmod u+s joker

sgid 2000权限字符s(S),用户组位的x位上设置
chmod 2755 joker.txt 或 chmod g+s joker

粘滞位 1000权限字符t(T),其他用户位的x位上设置
chmod 1777 /tmp 或 chmod o+t /tmp
如果对应位有x,字符权限表现位小写,否则表现为大写

命令

更改文件属主属组
chown 用户 file,只改变属主
chown .用户组 file,只改变属组
chown 用户.用户组 file,属主属组改变

改变文件属性
chattr +i / -i 锁定

猜你喜欢

转载自www.cnblogs.com/jokerbj/p/9207880.html
今日推荐