我以用户 JSmith 的身份登录。 作为这个用户,我运行了一个运行一系列可执行文件的 csh 脚本。 但是,其中一个可执行文件需要以用户 HJones 运行。 之后,其他可执行文件应该以用户 JSmith 运行。 请注意,JSmith 不是 root 用户,并且 HJones 有一个密码,即“abcd”。 如何在脚本运行期间将用户更改为 HJones,运行我的可执行文件,然后再更改回 JSmith。
这是我与用户 JSmith 一起运行的文件 run_execs.sh 中的一些代码。
#!/bin/csh -f
cd $EXEC_DIRECTORY
./doJSmithThis
./doJSmithThat
sudo -u HJones ??
./doHJonesStuff
sudo -u JSmith ??
./doJSmithAnother
./doJSmithMoreStuff
等等
最佳答案
su -c './doHJonesStuff' - HJones
将作为 HJones
运行脚本 doHJonesStuff
,它不会影响您的其他命令。
#!/bin/csh -f
cd $EXEC_DIRECTORY
./doJSmithThis
./doJSmithThat
su -c './doHJonesStuff' - HJones
./doJSmithAnother
./doJSmithMoreStuff
关于linux - 在使用非 root 用户执行 csh 脚本期间更改用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37547295/