• Linux 自定义文件 acl 权限


    Linux 自定义文件权限

    1. 场景分析

    当前有一个文件 passwd ,如下;现在权限为 644

    [user1@node01 demo]$ 
    [user1@node01 demo]$ pwd
    /opt/demo
    [user1@node01 demo]$ ll
    总用量 4
    -rw-r--r-- 1 user1 user1 968 87 14:31 passwd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    此时有个需求:想要指定用户 user2 user3 可以对这个文件拥有 rwx 的权限,但是其他用户(例:user4 user5 ...)没有,如果使用 chmod 657 passwd 那么其他所有用户都会拥有权限

    2. 解决方案

    这里就可以使用 setfacl,在设置之前我们可以先查看当前文件权限 getfacl

    • setfacl

    命令语法

    setfacl [选项] file …

    命令选项

    参数说明
    -m修改 acl
    -x删除指定 acl
    -b删除所有 acl
    -k删除默认 acl
    -R递归
    • getacl

    命令语法

    getacl file …

    2.1 Getfacl

    查看文件权限信息

    示例:

    [root@node01 demo]# getfacl passwd 
    # file: passwd
    # owner: user1
    # group: user1
    user::rw-
    group::r--
    other::r--
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.2 Setfacl

    修改当前文件权限信息

    示例:

    设置 user2 user3passwd 文件拥有 rwx 权限,也可以对组进行设置

    [root@node01 demo]# setfacl -m user:user2:rwx passwd
    [root@node01 demo]# setfacl -m user:user3:rwx passwd
    
    [root@node01 demo]# setfacl -m group:demo:rwx passwd
    
    • 1
    • 2
    • 3
    • 4

    设置完成,查看当前文件权限

    [root@node01 demo]# getfacl passwd 
    # file: passwd
    # owner: user1
    # group: user1
    user::rw-
    user:user2:rwx
    user:user3:rwx
    group::r--
    group:demo:rwx
    mask::rwx
    other::r--
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    删除 user2 的权限

    [root@node01 demo]# setfacl -x user2 passwd 
    [root@node01 demo]# getfacl passwd 
    # file: passwd
    # owner: user1
    # group: user1
    user::rw-
    user:user3:rwx
    group::r--
    group:demo:rwx
    mask::rwx
    other::r--
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    删除所有的 acl 权限

    [root@node01 demo]# setfacl -b passwd 
    [root@node01 demo]# getfacl passwd 
    # file: passwd
    # owner: user1
    # group: user1
    user::rw-
    group::r--
    other::r--
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

     
     
     
     
     

  • 相关阅读:
    第五十二天 数论
    【Apache Spark 】第 5 章Spark SQL 和 DataFrames:与外部数据源交互
    死锁的产生条件以及如何避免死锁
    错误记录2022.11.22
    【字符串】求解方程 数学
    Nginx基础篇-Nginx Location
    创建多层级行索引,创建多层级行索引的DataFrameMultiIndex.from_product()
    shell脚本学习笔记2
    跨域问题(CORS)详细说明和解决
    mysql的锁介绍
  • 原文地址:https://blog.csdn.net/D1179869625/article/details/126211269