umask默认权限及特殊权限

删除回忆录丶 提交于 2019-12-03 02:21:19
1. linux系统中,创建一个新的文件或者目录的时候,新的文件或目录都会有默认的访问权限,umask命令与文件和目录的默认访问权限有关。
    用户创建一个文件,文件的默认权限为 -rw-rw-rw-(666) ,创建目录的默认权限 drwxrwxrwx (777),umask值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值
2. 查看umask值
    umask
    修改umask值
    umask 026
    当umask为偶数:
    创建文件的权限为:666-026
    当umask为奇数:
    umask 025
    创建文件权限为:666-025然后在奇数位上加1,权限为666-025+001=642  目录权限为:777-025=752
    umask 055
    文件权限为:666-055+011=622  目录权限为:777-055=722  临时设置umask,退出后失效
3. 永久修改umask的方法:
    vim /etc/profile
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
#[ 用户UID>=199 ] 并且  [ 用户的名字 == 用户组名字 ]
    umask 002
else
    umask 022

fi
source /etc/profile

    或者修改:
    修改文件/etc/bashrc,在文件中添加一行 umask 027

  

4. 文件系统的权限
[root@harbor ~]# chattr +a b 
[root@harbor ~]# 
[root@harbor ~]# 
[root@harbor ~]# 
[root@harbor ~]# lsattr b
-----a---------- b
[root@harbor ~]# echo 123 > b
-bash: b: Operation not permitted
[root@harbor ~]# echo 123 >> b
[root@harbor ~]# chattr -a b 
[root@harbor ~]# cat b
123
[root@harbor ~]# lsattr b
---------------- b
[root@harbor ~]# echo "hello" > b
5. 测试i权限
[root@harbor ~]# ll c 
-rw--w--w- 1 root root 0 Oct 31 14:20 c

[root@harbor ~]# chattr +i c 

[root@harbor ~]# ll c 
-rw--w--w- 1 root root 0 Oct 31 14:20 c
[root@harbor ~]# lsattr c 
----i----------- c
[root@harbor ~]# echo 123 >> c 
-bash: c: Permission denied
[root@harbor ~]# echo 123 > c 
-bash: c: Permission denied
[root@harbor ~]# chattr -i c 
[root@harbor ~]# echo 123 > c 
[root@harbor ~]# cat c 
123
[root@harbor ~]# chattr +i c 
[root@harbor ~]# echo 1234 >> c 
-bash: c: Permission denied
[root@harbor ~]# rm -f c 
rm: cannot remove ‘c’: Operation not permitted
[root@harbor ~]# chattr -i c 
[root@harbor ~]# rm -f c 
5. t 粘滞位
    设置了粘滞位的目录在目录下面创建的文件只能管理自己的文件
ll -d /tmp/
drwxrwxrwt. 9 root root 195 Oct 31 14:32 /tmp/

6. suid权限
    运行包含suid权限的 命令的时候,相当于这个命令的所有者
[root@harbor ~]# ls
anaconda-ks.cfg  go  harbor-online-installer-v1.8.2.tgz  keepalived-2.0.18.tar.gz  test.txt  zookeeper.out

[root@harbor ~]# su test

[test@harbor root]$ ls
ls: cannot open directory .: Permission denied
[test@harbor root]$ rm -f /root/test.txt
rm: cannot remove ‘/root/test.txt’: Permission denied

[test@harbor ~]$ exit
exit

[root@harbor ~]# ll /bin/rm
-rwxr-xr-x. 1 root root 62864 Apr 11  2018 /bin/rm
[root@harbor ~]# chmod u+s /bin/rm
[root@harbor ~]# !ll
ll /bin/rm
-rwsr-xr-x. 1 root root 62864 Apr 11  2018 /bin/rm
[root@harbor ~]# su test

[test@harbor root]$ rm -f /root/test.txt
[test@harbor root]$ exit
exit

[root@harbor ~]# chmod u-s /bin/rm
[root@harbor ~]# ls
anaconda-ks.cfg  go  harbor-online-installer-v1.8.2.tgz  keepalived-2.0.18.tar.gz  zookeeper.out

文件的权限,有x权限时+s为小s,没有x时+s为大S
[root@harbor ~]# ll test.txt 
-rw--w--w- 1 root root 12 Oct 31 14:56 test.txt
[root@harbor ~]# chmod u+s test.txt 
[root@harbor ~]# !ll
ll test.txt 
-rwS-w--w- 1 root root 12 Oct 31 14:56 test.txt
[root@harbor ~]# chmod +x test.txt 
[root@harbor ~]# !ll
ll test.txt 
-rws-w--w- 1 root root 12 Oct 31 14:56 test.txt

  

  

  

  

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!