我以用户身份运行我的服务(给予正确的权限并添加到适当的组),但如果我愿意,我也可以以 root 身份运行它。 如何在系统范围内禁用此功能而不是针对单个应用程序?
最佳答案
假设它是用 bash 编写的。你可以这样做:
if [[ $EUID -eq 0 ]]; then
echo "Cant run this as root" 1>&2
exit 1
fi
检测哪个用户正在运行脚本的另一种方法是
id -u
$UID
我目前在我的 Mac Box 中,并以 root 身份在终端中登录,这是输出
~# id -u
0
~# echo $UID
0
~# echo $EUID
0
~#
~#
所以你基本上是说,如果我对用户 ID 的检查是 0,那么它就是 root。所以只需打印一条消息并退出
关于linux - 我可以限制我的服务以 root 身份运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58432279/