我测试是否可以以user1运行脚本,然后sudo as user2以用户身份执行脚本的一部分,然后再恢复为user1。
显然我的脚本在第一个sudo之后卡住了,并且没有执行后续的行。怎么解决这个问题?
道歉,因为我在shell脚本编写方面确实没有经验
#!/bin/bash
whoami
ls -lrt /myfolder
sudo -i -u user2
whoami
sftp ${othersvr} <<EOF
cd /tgtpath
lcd /myfolder
get -p *.txt
exit
EOF
sudo -i -u user1
whoami
ls -lrt /myfolder
答案 0 :(得分:1)
你应该找到一种更好的方法来做你想做的事情,比如使用ACL或者什么。
但是,如果您想这样做,请考虑sudo
可以接收命令
sudo -i -u user2 'whoami; ls -lrt /myfolder'
sudo -i -u user1 'whoami; ls -lrt /myfolder'