我试图以USER1身份登录并将用户切换到USER2,并以USER2身份执行一些脚本(超过100个脚本,无法将它们全部逐个列出在sudoer文件中)
我拥有的Sudoer文件中
USER1 ALL=(USER2) NOPASSWD: ALL
当我以USER1身份运行以下命令时
sudo su - USER2 -c "test.sh"
我知道
对不起,用户USER1不允许执行'/ bin / su-USER2 -c test.sh'作为root
如果我跑步
sudo su - sassrv
我明白了
对不起,用户USER1不允许执行'/ bin / su-USER2'
如果我将Sudoer文件更改为
USER1 ALL=(ALL) NOPASSWD: /bin/su - USER2
它可以让我切换用户,但我仍然可以
对不起,用户USER1不允许执行'/ bin / su-USER2 -c test.sh'作为root
我该如何实现?
答案 0 :(得分:2)
您想使用test.sh
作为USER2运行sudo
,但是您以root用户运行su
。
su
可能反过来尝试以USER2身份运行test.sh
,但这超出了sudo
的范围和知识。从sudo
的角度来看,您要做的就是尝试以root用户身份运行命令。
相反,要求sudo
以USER2的身份直接运行test.sh
:
sudo -u USER2 test.sh
PS:sudo su
在任何情况下都是一种代码气味,表明对sudo
是什么和做什么缺乏理解。