zoukankan      html  css  js  c++  java
  • umask默认权限及特殊权限

    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
    

      

      

      

      

      

  • 相关阅读:
    IMX6ULL开发板Ubuntu文件系统Ubuntu-base构建
    迅为3399开发板新增目标检测技术-RKSSD-编译程序
    国际化支持、activity生命周期、屏幕翻转的ui适配
    java调用第三方接口(转载)
    android基础控件的使用
    java并发框架--Fork-Join
    java并发框架--Executor
    多线程管理
    死锁问题
    java多线程信息共享
  • 原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/11771220.html
Copyright © 2011-2022 走看看