我需要一个脚本以另一个用户的身份运行其大部分命令,但又不想指示我的用户通过sudo调用它。使用此处的EOF文件运行命令不可行,因为有很多变量要从输入传递到脚本定义的各种函数中。在保留输入和变量的同时,我还有另一种方式可以以其他用户身份运行函数吗?是否可以在不调用大量外部文件或将sudo添加到将近300个命令的情况下完成此操作?
把它放在主要函数调用之前对我来说是个窍门:
if [ "`whoami`" != "runasuser" ]; then
sudo -u runasuser bash "$0" "$@"
exit
fi
这将以您选择的用户的身份在子外壳中调用当前脚本,并将所有输入传递给该脚本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句