• 已整理文件权限与相关配置


    目录:
      1、基本权限
      2、权限适用对象(归属)
      3、更改文件/文件夹权限命令
      4、修改文件/文件夹归属命令
      5、添加用户到指定的组
      6、Linux判断用户具备的权限
      7、特殊权限(附加权限)
      8、acl访问控制列表
      9、目录和数值权限

      10、umask详解

    1、基本权限
    读取:允许查看内容      -read     ->r
    写入:允许修改内容      -write       ->w
    可执行:允许运行和切换   -execute    ->x

    对于文本文件:
    r:    cat / head / less
    w:   vim / > >>
    x:    shell 脚本、程序等

    2、权限适用对象(归属)
    所有者:拥有此文件/目录的用户        -user ->u
    所属组: 拥有此文件/目录的组        -group ->g
    其它用户:除所有者、所属组以外的用户   -other ->o

    各字段的意义:

    权限位    硬连接数     所有者     所属组    大小      最后修改时间      文件名
    -rwxr-xr-x.    1        root       root     114      Jun 19 18:48     irsync.sh

    其中权限栏尾:

    -        表示文本文件
    d       表示目录
    l        表示链接文件,快捷方式
    rwxr-xr-x    共9位,前3位表示所有者权限,中间3位表示所属组的权限,后3位表示other的权限;
    .       表示特殊权限

    # ll -ld /tmp                      #比较有代表性的目录权限
    drwxrwxrwt. 11 root root 259 Jun 20 22:51 /tmp
    # ll /etc/shadow            #比较有代表性的文件权限,什么权限都没有
    ---------- 1 root root 838 Jun 13 16:32 /etc/shadow

    3、更改文件/文件夹权限命令
    常用语法:

    chmod u+w    文件/文件夹              #增加权限
    chmod u-w    文件/文件夹              #减权限
    chmod u=rwx,g=rx,o=rx    文件/文件夹       #对文件夹设置权限
    chmod ugo=rwx    文件/文件夹            #ugo都设置为rwx权限
    chmod +x 文件/文件夹                 #针对ugo都添加x权限

    目录权限说明:
    目录的r权限:能够ls浏览此目录内容;
    目录的w权限:能够执行rm/mv/cp/mkdir/touch/... 等更改目录内容的操作;
    目录的x权限:能够cd切换到此目录;

    4、修改文件/文件夹归属命令
    常用语法格式:
      chown [-R]   属主      文件/文件夹
      chown [-R]   :属组      文件/文件夹
      chown [-R]   属主:属组   文件/文件夹

    5、添加用户到指定的组
    常用语法:

    gpasswd -a cephadmin    root         #用户cephadmin 加入到了root组,但需要用户退出当前登陆(注销)再进入

    删除语法:

    gpasswd -a cephadmin root    #从cephadmin组中删除root用户

    6、Linux判断用户具备的权限
    【1】判断用户角色
    【2】查看相应角色权限位
    【3】匹配即停止,顺序:所有者>所属组>其它人


    7、特殊权限(附加权限)
    又称之为附加权限;
    1)、set gid(用得较多)
    【1】set gid附加在属组的【x】位上,属组的权限标识会变为【s】;
    【2】如果属组上面没有【x】权限,就会变成【大写的S】,如果有【x】权限,就会是【小写的s】;

    作用:
    适用于目录,set gid 可以使目录下新增的文档自动设置与父目录相同的属组,同时新创建的目录也会继承父目录的s特殊权限;
    通俗理解是:让新增文件/文件夹自动继承父目录的属组,新创建的目录也会继承父目录的s特殊权限;

    # chmod g+s test        #设置了gid 权限
    drwxrwsr-x 2 root root 46 Jun 21 16:29 test
    
    $ touch wowo.txt        #cephadmin用户创建文件
    $ ll
    -rw-rw-r-- 1 cephadmin root 0 Jun 21 16:34 wowo.txt

    2)、set uid(不常用,不安全)
    set uid 是附加在属主的x位上
    作用:属主的权限标识会变为s,适有于可执行文件,set uid 可以让使用者具有文件(一般是可执行文件)属主的身份及部分权限;

    案例:

    # ll -ld /usr/bin/passwd             #这个命令也带有set uid特殊权限
    -rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
    
    
    # cp /usr/bin/mkdir /opt/mkdir
    # chmod u+s /opt/mkdir                #对程序添加set uid特殊权限
    # ll /opt/mkdir
    -rwsr-xr-x 1 root root 79768 Jun 21 17:07 /opt/mkdir
    
    $ /opt/mkdir wode                    #新创建的目录,不是自己而是mkdir程序的所有者
    $ ll
    drwxrwsr-x 2 root adminuser 6 Jun 21 17:07 wode

    3)、sticky bit(用得较多)
    附加在other的x位上;
    其它人的权限标识会变为t;
    适用于开放w权限的目录,可以阻止用户滥用w写入权限(禁止操作别人的文档)

    通俗的理解:
    一个公共目录public,针对other用户赋予了rwx 的权限,那所有用户就能够对public下面的目录和文件有读写执行的权限,包括删除;
    如果增加t权限,那就只能删除属于自己的文件和目录,对其它的文件和目录没有删除/修改的权限;

    # chmod o+t public          #添加sticky bit t权限
    
    $ ll
    -rw-rw-r-- 1 cephadmin cephadmin 10 Jun 21 17:33 cephadmin.txt
    $ rm -f cephadmin.txt       #其它用户无法删除cephadmin的文件
    rm: cannot remove ‘cephadmin.txt’: Operation not permitted

    8、acl访问控制列表
    文档的归属局限性,任何人只属于三种角色:属主、属组、其它人,无法实现更精细的控制;

    acl访问策略:
    能够对个别用户、个别组设置独立的权限,大多数挂载的ext3/4、xfs文件系统默认已支持;

    使用案例:

    # setfacl -m u:cephadmin:rwx private              #针对单个用户cephadmin设置rwx权限,-m 表示修改,如果没有设置过就表示新增
    # ls -l 
    drwxrws---+ 2 root adminuser 6 Jun 21 17:43 private    #有1个+,表示还有特殊权限
    
    # getfacl private                          #查看文件夹的acl权限
    # file: private/
    # owner: root
    # group: adminuser
    # flags: -s-
    user::rwx
    user:cephadmin:rwx
    group::rwx
    mask::rwx
    other::---
    
    
    # setfacl -m u::rwx private             #设置默认用户,读,写,可执行
    # setfacl -b private                 #清除所有acl
    # setfacl -x u:cephadmin private           #删除用户cephadmin对private文件夹的acl权限
    # setfacl -m d:u:cephadmin:rwx private        #设置用户创建文件/文件夹的权限为rwx,是让目录中所有新建的文件/文件夹都继承此权限,这个权限对目录本身不生效;
                                  且不会影响目录中已经存在的文件/文件夹
    # setfack -k private                 #删除默认用户的权限

    setfacl语法:

    用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
    -m,   --modify-acl 更改文件的访问控制列表
    -M,   --modify-file=file 从文件读取访问控制列表条目更改
    -x,   --remove=acl 根据文件中访问控制列表移除条目
    -X,   --remove-file=file 从文件读取访问控制列表条目并删除
    -b,   --remove-all 删除所有扩展访问控制列表条目
    -k,   --remove-default 移除默认访问控制列表
        --set=acl 设定替换当前的文件访问控制列表
        --set-file=file 从文件中读取访问控制列表条目设定
        --mask 重新计算有效权限掩码
    -n,   --no-mask 不重新计算有效权限掩码
    -d,   --default 应用到默认访问控制列表的操作,针对目录
    -R,   --recursive 递归操作子目录,使用该参数时需要放在-m参数前面
    -L,   --logical 依照系统逻辑,跟随符号链接
    -P,   --physical 依照自然逻辑,不跟随符号链接
        --restore=file 恢复访问控制列表,和“getfacl -R”作用相反
        --test 测试模式,并不真正修改访问控制列表属性
    -v, --version 显示版本并退出
    -h, --help 显示本帮助信息


    9、目录和数值权限
    权限的数值表示,权限的数值化,基本权限:r=4,w=2,x=1
    附加权限:SUID=4,SGID=2,Sticky Bit=1

    采用数值形式设置权限:

    chmod [-R] nnn     文档...
    chmod [-R] xnnn    文档...


    10、umask详解
    umask值:权限掩码,与用户创建的目录默认权限有关;

    # umask          #类似于一个变量
    0022

    777-022=755 ->也就是用户创建目录的权限是755,用最大权限减去掩码的权限,得到最终创建目录的权限;

    不建议去改umask值,生产环境不建议,保持默认就可以了;

    文件的默认权限是:0644 ;

    # ll
    -rw-r--r-- 1 root root 0 Jun 21 22:37 haha    #0644

    umask确定了文件创建时的初始权限,文件或目录权限为文件目录默认权限减去umask得到初始文件权限;
    文件初始默认权限为0666,目录为0777,减去umask值0022,默认创建文件权限为0644,默认创建目录权限为0755;
    若用户umask为0002,则新创建的文件或目录在没有指定的情况下默认权限分别为0664,0775;

  • 相关阅读:
    Unity中获取移动设备GPS信息
    Unity打包APP控制顶部状态栏
    Hololens概览
    webdriver中的定位模拟及实例
    selenium等待机制
    seleniumChrom无头浏览器
    selenium规避网站监测
    百度api识别验证码登录
    Pyecharts-数据可视化模块
    Selenium-浏览器兼容性测试自动化
  • 原文地址:https://www.cnblogs.com/reachos/p/16399499.html
Copyright © 2020-2023  润新知