sudo su到其他用户以运行脚本

时间:2018-09-06 17:35:13

标签: linux security sudo sudoers

我试图以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

我该如何实现?

1 个答案:

答案 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是什么和做什么缺乏理解。