![如何使 bash 脚本在多个账户上运行?](https://linux22.com/image/572462/%E5%A6%82%E4%BD%95%E4%BD%BF%20bash%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%A4%9A%E4%B8%AA%E8%B4%A6%E6%88%B7%E4%B8%8A%E8%BF%90%E8%A1%8C%EF%BC%9F.png)
我们的 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。