(1) 假设被禁止的sudo用户名为 user
(2) 禁止user用户使用passwd命令更改密码(非最终配置)
vim /etc/sudoers
加入
user ALL=(root)!/usr/bin/passwd
说明:
第一栏 规定它的适用对象:用户或组,就本例来说,它是用户user (因为系统中的组和用户可以重名,要想指定该规则的适用对象是组而非用户的话,组对象的名称一定要用百分号%开头)
第二栏 指定该规则的适用主机。当我们在多个系统之间部署sudo环境时,这一栏格外有用,这里的ALL代表所有主机 (对于桌面系统或不想将sudo部署到多个系统的情况,这一栏就换成相应的主机名)
第三栏 的值放在括号内,指出第一栏规定的用户能够以何种身份来执行命令。本例中该值设为root,这意味着用户user能够以root用户的身份来运行后面列出的命令。该值也可以设成通配符ALL,user便能作为系统中的任何用户来执行列出的命令了。
最后一栏(即!/usr/bin/passwd)是使用逗号分开的命令表,这些命令能被第一栏规定的用户以第三栏指出的身份来运行它们。本例中,该配置不允许user作为超级用户运行/usr/bin/passwd命令 (”!”表示该用户不能执行后面的命令)。
注意:这里列出的命令一定要使用绝对路径。
(3) 禁止user用户使用passwd命令更改密码(最终配置实例)
(a)登陆 root 用户在 sudoers 文件中添加 (vim /etc/sudoers)
user ALL=(root) /sbin/*,/usr/bin/*,!/usr/bin/chattr,!/usr/bin/passwd,!/usr/sbin/visudo,!/usr/sbin/useradd,!/usr/sbin/adduser,!/usr/sbin/userdel,!/usr/sbin/deluser
(b)所有sudo开个头的文件或文件夹添加 i 属性(不得任意更动文件或目录):
chattr +i /etc/sudo.conf
chattr +i /etc/sudoers
chattr +i /etc/sudoers.d/
chattr +i /etc/sudo-ldap.conf
(4) 其他设置
(a) 解锁文件
chattr -i /etc/sudo.conf
chattr -i /etc/sudoers
chattr -i /etc/sudoers.d/
chattr -i /etc/sudo-ldap.conf
(b) 给普通用户添加sudo权限,并且使用时不用输入密码(非必要,保留记录)
vim /etc/sudoers
加入
用户名 ALL=(ALL) NOPASSWD: ALL
原文链接:https://mp.weixin.qq.com/s/55ipw5jaaSa3SjN2ldGi1Q
标签:sudo,用户,etc,chattr,usr,Linux,root,user From: https://www.cnblogs.com/peakgrin/p/17029250.html