有什么方法可以撤消sudo
脚本中的操作吗?例如..
sudo ./script.sh
sudo
带权限的命令 1,2,3,4,5
sudo
无权限的命令 6,7,8,9
答案1
如果您必须使用 sudo 运行脚本,您仍然可以以普通用户身份运行某些命令:
sudo -u $SUDO_USER <command>
如果使用以下命令运行以下脚本sudo
:
#!/bin/bash
whoami
sudo -u $SUDO_USER whoami
它将输出:
root
sylvain
答案2
请参阅 sudo 手册:
-k [命令]
单独使用时,sudo 的 -k(kill)选项会使用户的缓存凭据无效。下次运行 sudo 时将需要输入密码。
sudo -k
因此,在每条需要重新输入密码的命令前加上sudo
。或者在每条不需要输入密码的命令后加上sudo
。
顺便说一句:如果您在脚本中要求输入密码,您应该使用...
./script.sh
而不是在sudo
它前面。