我以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