Linux禁止某个sudo用户修改root密码

(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

posted @   peakgrin  阅读(1014)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示