在 bin/bash 中更改用户

oce*_*des 3 bash

我想要一个脚本 X.sh 来切换用户并执行一个操作,但到目前为止我有这个:

 #!/bin/sh

 sudo su partner -s /bin/bash 
 supervisord -c ~/supervisord.conf
exit
Run Code Online (Sandbox Code Playgroud)

我希望用户合作伙伴执行 supervisord 并退出,但我得到的只是一个 bash shell 命令行中的切换用户,这样做su partner -s /bin/bash是我可以访问合作伙伴用户的唯一方法。

请帮忙

jkt*_*123 5

您应该sudo -u partner supervisord -C ~/supervisord.conf改为使用,并在 /etc/sudoers 文件中设置您的当前用户。允许用户“current”以“partner”身份执行此命令的条目如下所示:

current ALL=(partner:partner) NOPASSWD: /path/to/supervisord
Run Code Online (Sandbox Code Playgroud)

确保并使用visudo而不是尝试手动编辑 sudoers 文件。有sudoers文件语法的更深入的,但简单的解释在这里