二、用户身份与文件权限( 七 )


实例:给/root文件夹设置用户yu有读写执行权限
[root@LB-nginx-01 ~]# setfacl -Rm u:yu:rwx /root/[root@LB-nginx-01 ~]# su - yu上一次登录:四 1月 14 15:38:26 CST 2021pts/3 上[yu@LB-nginx-01 ~]$ cd /root/[yu@LB-nginx-01 root]$ lsanaconda-ks.cfgdocker-ce.repointall_nginx.shlinuxnginx-1.6.3testyuchaoleiyu.txtbackup.tarimg1keepalived-1.2.4.tar.gzmycentos_latest.tarnginx-1.6.3.tar.gztext.txtyu.tar[yu@LB-nginx-01 root]$ cat text.txt hello word1111[yu@LB-nginx-01 root]$ exit
[root@LB-nginx-01 ~]# ll -d /root#文件的权限最后一个点(.)变成了加号(+) ,这就意味着该文件已经设置了 ACL 了dr-xrwx---+ 9 root root 4096 1月13 20:23 /root
:显示文件上设置的 ACL 信息

二、用户身份与文件权限

文章插图
语法格式: [-] file ...
说明:
-a:仅显示文件访问控制列表-d:仅显示默认的访问控制列表-c:不显示注释表头-e: 显示所有的有效权限-E:显示无效权限-s:跳过只有基条目(base entries)的文件-R:递归显示子目录-L:逻辑遍历(跟随符号链接)-P:物理遍历(不跟随符号链接)-t:使用制表符分隔的输出格式-n:显示数字的用户/组标识-p:不去除路径前的 '/' 符号-v:显示版本并退出-h: 显示本帮助信息
实例:
[root@LB-nginx-01 ~]# getfacl/root# file: root#文档名# owner: root#此文件的拥有者# group: root#此文件所属的群组 user::r-x#文件拥有者的权限user:yu:rwx#针对 yu的权限设置为 rwx,与拥有者并不同group::r-x#针对文件群组的权限设置仅有 rxmask::rwx#此文件默认的有效权限other::---#其他人拥有的权限
6.su 命令与 sudo 服务
在实验环境中很少遇到安全问题,并且为了避免因权限因素导致配置服务失败,从而建议使用 root 管理员来执行各种操作,但是在生产环境中还是要对安全多一份敬畏之心,不要用 root管理员去做所有事情 。因为一旦执行了错误的命令,可能会直接导致系统崩溃,尽管 Linux 系统为了安全性考虑,使得许多系统命令和服务只能被 root管理员来使用,但是这也让普通用户受到了更多的权限束缚,从而导致无法顺利完成特定的工作任务 。
su 命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户,比如从 root 管理员切换至普通用户:
语法格式:su [-lm] [-c 指令] []
说明:
- :单纯使用 - 如“ su - ”代表使用 login-shell 的变量文件读取方式来登陆系统;若使用者名称没有加上去,则代表切换为 root 的身份 。-l :与 - 类似,但后面需要加欲切换的使用者帐号!也是 login-shell 的方式 。-m :-m 与 -p 是一样的,表示“使用目前的环境设置,而不读取新使用者的配置文件”-c :仅进行一次指令,所以 -c 后面可以加上指令喔!
实例:如果想要离开 root 的身份则得要利用 exit 离开才行 。那我如果只是想要执行“一个只有 root 才能进行的指令,且执行完毕就恢复原本的身份呢
[yu@LB-nginx-01 ~]$ cat /etc/shadowcat: /etc/shadow: 权限不够[yu@LB-nginx-01 ~]$ su - root -c "head -3 /etc/shadow"密码:root:$6$EHnCZkJi21dSzHPH$k2HEPreRAyQw8frfP40LRM/2vW1TKRzme9QmKYqA4f/DF45ugQjvGdbOskeE6B7R6a/ONEiExZw9cM7i5lSSd.::0:99999:7:::bin:*:17834:0:99999:7:::daemon:*:17834:0:99999:7:::
[root@localhost ~]# iduid=0(root) gid=0(root) groups=0(root)[root@localhost ~]# su - centosLast login: Thu Jan 14 11:59:20 EST 2021 on pts/0[centos@localhost ~]$ iduid=1000(centos) gid=1000(centos) groups=1000(centos)
上面的 su 命令与用户名之间有一个减号(-),这意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息 。强烈建议在切换用户身份时添加这个减号(-) 。