如何使 bash 脚本在多个账户上运行?

如何使 bash 脚本在多个账户上运行?

我们的 Linux 服务器中有几个类似管理员的帐户,不同的帐户用于不同的用途。

有时,需要多个帐户协同工作才能完成一项工作。手动,我可以登录并输入命令。但是我如何将其制作成单个脚本(BASH)?

顺便说一句:sudo 在我的服务器上不起作用

答案1

你的问题有点不清楚。但我相信你问的是,如何运行必须与其他帐户一起执行的命令。

只需做这样的事情即可。

#!/bin/bash

# execute blah as username, assuming the main script is running as root
su username -c blah

# execute blah as username, assumes you have delegated calling users permissions to run command as username
sudo -u username blah

# execute blah as username, using key-based authentication.
ssh username@localhost blah

答案2

您必须使用 su -c 命令以其他用户身份运行命令。它将以交互方式提示输入密码。如果您需要以批处理模式运行它,则可以使用 expect。

相关内容