分页: 1 / 1

如何设置sudo某些命令需要密码

发表于 : 2018-12-06 23:08
Derrick-W
在设定
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
后运行sudo命令不需要输入密码,但是怎么指定某些命令需要密码,如执行
sudo passwd user
要求输入账户密码?

Re: 如何设置sudo某些命令需要密码

发表于 : 2018-12-07 12:02
astolia
做不到。最多只能禁止sudo提权执行passwd

代码: 全选

%sudo ALL=(ALL:ALL) NOPASSWD:ALL, !/usr/bin/passwd
在你允许了其他所有命令的情况下,这个也很容易绕过。比如sudo sudo passwd user就搞定了

Re: 如何设置sudo某些命令需要密码

发表于 : 2018-12-07 12:48
Derrick-W
astolia 写了: 2018-12-07 12:02 做不到。最多只能禁止sudo提权执行passwd

代码: 全选

%sudo ALL=(ALL:ALL) NOPASSWD:ALL, !/usr/bin/passwd
在你允许了其他所有命令的情况下,这个也很容易绕过。比如sudo sudo passwd user就搞定了
感谢,突然产生这么一个想法,网上搜索结果都是教怎么不用输入密码的,就很好奇。。。

Re: 如何设置sudo某些命令需要密码

发表于 : 2018-12-07 14:48
susbarbatus
把sudo自身和所有shell都加入例外是不是就彻底禁了……

Re: 如何设置sudo某些命令需要密码

发表于 : 2018-12-07 14:49
susbarbatus
不对,只要自己写一个可执行的脚本就能绕过了……

Re: 如何设置sudo某些命令需要密码

发表于 : 2018-12-07 17:32
Derrick-W
看来这个只能是一个想法了,我试了一下把sudo自身禁掉可以解决sudo sudo passwd user的问题,但是用户还有sudo visudo,同样锁死visudo 还可以编辑sudoers文件 [笑哭] ,看来是无解了......

Re: 如何设置sudo某些命令需要密码

发表于 : 2018-12-12 9:37
astolia
Derrick-W 写了: 2018-12-07 17:32 看来这个只能是一个想法了,我试了一下把sudo自身禁掉可以解决sudo sudo passwd user的问题,但是用户还有sudo visudo,同样锁死visudo 还可以编辑sudoers文件 [笑哭] ,看来是无解了......
如果仅仅是在设置了NOPASSWD:ALL的情况下禁止执行某些程序,还是可以做到的。但不是在sudo的设置里,必须要用到更底层的安全机制。
比如用ubuntu默认启用了的apparmor,可以设定成以sudo运行的所有程序以及它们再运行的其他程序都禁止执行某个程序并禁止写入某些文件,这样就能防止相关配置文件被修改。