我以JSmith用户的身份登录。
作为这个用户,我运行一个csh脚本,它运行一系列可执行文件。
但是,其中一个可执行文件需要与用户HJones一起运行。
之后,其他可执行文件应该与用户JSmith一起运行。
请注意,JSmith不是根用户,HJones有一个密码,即“abcd”。
如何在脚本运行期间将用户更改为HJones,运行可执行文件,然后更改回JSmith。
下面是文件run_execs.sh中的一些代码,我用用户JSmith运行它。

#!/bin/csh -f

cd $EXEC_DIRECTORY

./doJSmithThis
./doJSmithThat

sudo -u HJones ??

./doHJonesStuff

sudo -u JSmith ??

./doJSmithAnother
./doJSmithMoreStuff

最佳答案

su -c './doHJonesStuff' - HJones将运行脚本doHJonesStuff作为HJones,它不会影响其他命令。

#!/bin/csh -f

cd $EXEC_DIRECTORY

./doJSmithThis
./doJSmithThat

su -c './doHJonesStuff' - HJones

./doJSmithAnother
./doJSmithMoreStuff

08-04 22:59