我们的 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。