linux权限管理四——chattr和sudo权限控制
上篇文章介绍了ACL权限管理,通过设定 ACL ,我们可以为某个用户指定某个文件的特定权限。这篇文章说到的两个指令更加强大,甚至可以直接限制到root用户。
01、我的文件不想让别人动:chattr
001、设定文件的系统属性:chattr
chattr [+-=][选项] 文件或目录名
+:增加权限 -:删除权限 =:等于某权限
chattr就像资料馆的一把锁, -i 选项相当于给资料馆大门上锁,其他用户不能进行任何操作,-a 选项相当于给现有资料进行封装,用户可以往里面添加文件但是不能对现有文件进行更改,具体权限控制见下图:
注意:chattr 限制权限之后,root 用户也不能例外。这个命令可以防止文件进行误操作。
002、查看文件的系统属性:lsattr
lsattr 选项 文件名
选项:①、-a 显示所有文件和目录
②、-d 若是目录,仅列出本身的属性,而不是子文件的
02、root给予普通用户超人的权限:sudo
001. sudo是什么鬼,为什么要用?
①、sudo 的操作对象只能是系统命令。
②、把本来由超级用户执行的命令赋予给普通用户执行。
简单来讲就是比如很多只能由超级用户来执行的命令,比如重启,关机等等,有时候超级用户太忙,该怎么办?
第一步:那就进行适当的配置,让超级用户赋予普通用户也能执行这些命令的权限
第二步:普通用户加上 sudo 去执行这些命令。
002. 如何设置sudo权限?
0001. root使用 vim /etc/sudoers 命令,或者 visudo 命令
[[email protected] ~]# visudo
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
0002. 授权rui用户可以重启服务器权限
## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL rui ALL=/sbin/shutdown -h now
0003. 普通用户查看自身可用的sudo 命令
[[email protected] root]$ su rui [[email protected] root]$ sudo -l
切换到普通用户rui再执行sudo -l查看
匹配 %2$s 上 %1$s 的默认条目:
!visiblepw, always_set_home, match_group_by_gid, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin 用户 rui 可以在 0vo 上运行以下命令: (root) /sbin/shutdown -h now (ALL) ALL
0004. 普通用户可以执行 sudo 赋予的命令
[[email protected] root]$ sudo /sbin/shutdown -h now
03. 总结
本篇文章我们介绍了权限管理两个特别常用的命令,chattr 命令能设定文件的系统属性,超级用户也能被限制,这个命令能更好的保护文件和目录不被破坏;而另一个命令 sudo,超级管理员赋予普通用户执行系统命令的权利,然后通过 sudo 命令去执行,因为我们有时候没有超级用户的使用权限,这时候又想使用一些系统命令,那么 sudo 命令能帮助我们。