zoukankan      html  css  js  c++  java
  • Linux 系统访问控制列表ACL

    常见的文件系统的一般权限(rwx)、特殊权限(SUID,SGID,STICK)、隐藏权限(chattr)其实有个共性——权限是针对某一类用户设置的。而如果希望对某个指定的用户进行单独的权限控制,那么就需要用文件的访问控制列表来实现啦。基于普通文件或目录设置文件访问控制列表(Access Control Lists,ACL)访问控制策略,通俗来说就是设置指定的特定用户或用户组对某个文件的操作权限。另外如果对某个目录设置了访问控制策略,那么子文件则继承其访问策略,而若对文件设置了访问控制策略则不再继承上级目录的控制策略。

    如何设置ACL(文件控制访问列表)

    获取文件控制访问列表的方式为:
    getfacl FileName
    设定文件控制访问列表的命令为setfacl,如果加上-m,就表示设定访问权限,-x表示取消访问权限:
    setfacl -m u:USERNAME:MODE FileName
    setfacl -m g:GROUPNAME:MODE FileName
    如果是取消权限,则无需指定具体的权限,只指定用户名或组名即可:
    setfacl -x u:USERNAME:MODE FileName
    setfacl -x g:GROUPNAME:MODE FileName
    setfacl -b FileName 取消对该文件上的所有ACL权限。

    其它:

    对用户设置权限实例
    #setfacl -m u:username:rw- /test.txt       //普通的文件
    #setfacl -Rm d:u:username:rw- /test/       //对目录设置

    对组设置权限
    #setfacl -m g:group:r-- /test.txt
    #setfacl -m d:g:group:r-- /test/

    查看权限
    #getfacl filename/directory  //文件或目录名

    常用的ls命令是看不到访问控制列表信息的,但是却可以看到文件的权限最后一个点(.)变成了加号(+),而这就意味着这个文件已经被设置有了ACL访问策略。

    [root@rhel7 rusky]# ll
    total 8
    drwxrwxr-x+ 2 lxjtest users 6 Jul 21 02:33 lxjtest_mkdirtest
    drwxrwxrwt+ 2 rusky   rusky 6 Jul 20 21:58 testSticky
    [rusky@localhost ~]$ cd /root/
    -bash: cd: /root/: Permission denied
    [rusky@localhost ~]$ su -
    Password: 
    Last login: Mon Nov 27 15:44:08 CST 2017 on pts/1
    [root@localhost ~]# setfacl -Rm u:rusky:rwx /root/
    [root@localhost ~]# su - rusky
    Last login: Mon Nov 27 15:44:28 CST 2017 on pts/1
    [rusky@localhost ~]$ cd /root/
    [rusky@localhost root]$ cat anaconda-ks.cfg 
    
    [rusky@localhost root]$ ls -ld /root/
    dr-xrwx---+ 15 root root 4096 Nov 27 11:21 /root/
    getfacl命令用于显示文件的ACL规则,格式为:"getfacl 文件名称"。
    [root@localhost ~]# getfacl /root/
    getfacl: Removing leading '/' from absolute path names
    # file: root/
    # owner: root
    # group: root
    user::r-x
    user:rusky:rwx
    group::r-x
    mask::rwx
    other::---
  • 相关阅读:
    JavaScript技巧
    函数
    windows实现应用双开
    vue组件中name属性有啥作用
    文本超出长度后多余部分显示省略号
    el-tree控件动态获取数据赋值给treeData渲染问题:render-after-expand属性
    elementUI弹框dialog的打开和关闭
    自然语言处理工具之gensim / 预训练模型 word2vec doc2vec
    Linux 根目录空间不足解决方法
    文本挖掘预处理之分词 / 向量化 / TF-IDF / Hash trick 附代码 Demo
  • 原文地址:https://www.cnblogs.com/rusking/p/7217840.html
Copyright © 2011-2022 走看看