代码之家  ›  专栏  ›  技术社区  ›  user3646699

sudo su给其他用户运行脚本

  •  0
  • user3646699  · 技术社区  · 6 年前

    我尝试以USER1身份登录,并将user切换到USER2,然后以USER2身份执行一些脚本(100多个脚本,不能在sudoer文件中逐一列出它们)

    在我的Sudoer文件里

       USER1 ALL=(USER2) NOPASSWD: ALL
    

    当我以USER1身份运行以下命令时

      sudo su - USER2 -c "test.sh"
    

    我明白了

    测试.sh'作为根

    如果我跑了

      sudo su - sassrv
    

    我明白了

    抱歉,不允许用户USER1执行'/bin/su-USER2'

             USER1 ALL=(ALL) NOPASSWD: /bin/su - USER2
    

    它会让我切换用户,但我仍然得到

    抱歉,不允许用户USER1执行'/bin/su-USER2-c'

    我怎样才能做到这一点?

    1 回复  |  直到 6 年前
        1
  •  2
  •   that other guy    6 年前

    你想跑 test.sh sudo 但是你却跑了 su 作为根。

    测试.sh 作为USER2,但这超出了 苏多 . 从 苏多 的观点来看,您所做的唯一一件事就是尝试以root用户身份运行命令。

    苏多 测试.sh 直接作为用户2:

    sudo -u USER2 test.sh
    

    sudo su 在任何上下文中,都有一种代码气味,表明对什么缺乏理解 苏多 现在是,现在是。