撤消脚本中的“sudo”

撤消脚本中的“sudo”

有什么方法可以撤消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它前面。

相关内容