Linux 如何设置用户 sudo 指定命令不需要密码,而其他命令需要输入密码?
- 0次
- 2021-06-22 08:11:20
- idczone
我发现当用户这个指定命令 sudo 不需要输入密码时,其他命令就不能 sudo 了,报错:
Sorry, user xxxx is not allowed to execute 'sudo 命令' as root on xxx.
除非设置所用命令不需要输入密码。
那如何设置用户 sudo 指定命令不需要密码,而其他命令需要输入密码?
没看太明白,sudo 都不用密码了,其他命令为什么还需要密码。。。
对特定的命令指定 https://linuxconfig.org/how-to-use-special-permissions-the-setuid-setgid-and-sticky-bits
你仔细看看 sudo 的权限就会发现这是个 setuid 程序,只不过加了密码验证而已。
所以,你可以自己写一个,不需要密码验证即可。
当然你也可以创建一个组,将某个用户加入这个组,在 sudo 的配置目录新建配置,写入"%yourgoup ALL=(ALL) NOPASSWD: ALL"即可
%yourgoup ALL=(ALL) NOPASSWD: ALL 是设置所有命令 sudo 都不需要密码,
但当设置指定命令不需要密码如 %yourgoup ALL=(ALL) NOPASSWD: a 命令 ,现在只想 sudo a 命令不需要输入,其他命令仍希望 sudo 输入密码应该怎么设置呢?
sudo 可以指定命令啊,指定了就可以免密,没有的话 sudo 时就要密码,或者没有 sudo 的权限
指定单独命令免密,其他命令 sudo 报错 not allowed to execute as root
能否让其他命令 sudo 输入密码执行呢?
https://wiki.archlinux.org/index.php/Sudo
哈哈,遇到过这个问题,你改下 sudoer 的内容,对于需要免密执行的命令程序加入 sudoer 里面就行了,比如 systemctl suspend 之类的
其实我没看懂你的问题,只看懂了最后一句
test ALL=(ALL) ALL
test ALL=(ALL) NOPASSWD:/bin/ls
[email&sudo ls
01
[email&sudo vim
[sudo] password for test:
[email protected]:/root/test$
看到你的帖子我就猜到大部分人猜不出你想问什么。
哈哈哈这个知识点真的是许多人不知道
有很多发行版 Linux 都是直接在 Shadow 文件里去掉 x root 就不用输入密码了
看你回复的就知道是楼主想要的
哈哈,昨天刚百度过这问题……
ssh 远程运行需要提权的脚本时候挺有用的
是这样