Linux用户权限小练习

宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述Linux用户权限小练习相关的知识,希望能为你提供帮助。
    前提要求:创建用户user1、user2、user3,在/data/下创建目录test,具体操作如下:
    执行命令useradd user1; useradd user2; useradd user3创建三个用户,执行命令mkdir /data/test即可在/data/下创建test目录(如下图)

    在此基础上,我们开展几个小练习:

  1. 目录/data/test属主、属组为user1
    目录/data/test的属主为user1,即修改文件的所有者,要用到chown命令;而属组为user1,即修改文件的所属组,要用到chgrp命令。
    执行chown user1 /data/test 修改属主,执行chgrp user1 /data/test修改数组(如下图)



  1. 在目录属主、属组不变的情况下,user2对文件有读写权限
    这里主要是利用FACL来实现权限控制,主要有setfacl和getfacl两个命令,setfacl命令用来设置FACL权限,getfacl命令用来查看FACL权限。
    执行命令setfacl -R -m u:user2:rw test后,我们查看test会发现other的权限部分多了一个“+”执行命令getfacl test查看facl权限,发现user2已经具备了读写权限(如下图)



  1. user1在/data/test目录下创建文件a1.sh, a2.sh, a3.sh, a4.sh,设置所有用户都不可删除a1.sh,a2.sh文件、除了user1及root之外,所有用户都不可删除a3.sh, a4.sh
    user1在/data/test目录下创建文件,需切换到user1再进行操作(如下图)

    首先来看a1.sh和a2.sh文件,因为是所有用户不可删除,包括了root,涉及到文件的特殊属性,需用到chattr +i 命令,执行chattr +i a1.sh a2.sh命令后,我们可用lsattr命令来查看是否生效(如下图)

    其次是a3.sh和a4.sh文件,文件由user1创建,除user1和root外不可删除,涉及到Sticky权限,需用到chmod o+t命令(如下图)



  1. user3增加附加组user1,同时要求user1不能访问/data/test目录及其下所有文件
    使用usermod命令来为user3增加附加组(如下图)
【Linux用户权限小练习】
    执行setfacl -m u:user1:- /data/test命令,即让user1无读写执行权力,也就不能访问/data/test目录及其下所有文件(如下图)

  1. 清理/data/test目录及其下所有文件的acl权限
    执行setfacl -R -b /data/test命令即可清理/data/test目录及其下所有文件的acl权限(如下图)


    推荐阅读