linux - 我可以限制我的服务以 root 身份运行吗?

标签 linux root systemd user-permissions

我以用户身份运行我的服务(给予正确的权限并添加到适当的组),但如果我愿意,我也可以以 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/

相关文章:

android - 以 root 身份运行应用程序失败

sql - 在邻接表中查找后代的根节点

yocto - 在Yocto构建中禁用标准的systemd服务

linux - 文件列表到文本文件,按 a-z 顺序排列,每个结果对应一个新行

linux - linux权限只有在linux运行时才起作用吗?

linux - 从很长的行中提取多个子字符串

linux - 递归遍历文件夹和删除文件的 Bash 脚本

sql-server - TSQL for xml 将架构属性添加到根节点

kubernetes - Kubernetes 内的 systemd 服务无法获取环境

linux - linux 中的自动调光键盘背光