使用 shell 脚本从 userB 以 userA 身份启动服务

Starting a service as userA from userB by using shell script

有什么方法可以使用 shell 脚本从用户 B 以用户 A 的身份启动服务,其中用户 A 和用户 B 没有根访问权限。两个用户都受密码保护。

http://www.cyberciti.biz/open-source/command-line-hacks/linux-run-command-as-different-user/

此处的资源显示了实现此目的的几种不同方法。

看起来 runuser -l userNameHere -c 'command' 就是您要找的东西

通常的方法是使用 'sudo':

sudo -u userB service whatever start

sudo 在大多数 linux 系统上开箱即用。也可以配置,让userA使用上面的命令不需要输入密码。

如果您设置了 ssh,则可以在 2 个用户 ID 之间设置 "no password" 登录。可以单向设置,也可以双向设置。

然后你可以使用ssh作为另一个用户执行命令

ssh user@host remote_command