在 init.d 脚本中获取登录用户

在 init.d 脚本中获取登录用户

我在 RHEL 6.x 中创建了一个 init.d 脚本来将进程作为服务进行控制。在脚本中,我使用 /sbin/runuser 以非特权用户身份启动进程。脚本的这一部分运行良好。

脚本以 sudo service scriptname 操作的方式运行

例如,sudo service httpd restart

此外,我想注销运行上述命令的用户。在普通的 bash 脚本中,我使用了各种 $USER、$SUDO_USER 和 $logname 来获取运行脚本的用户。当使用“服务”可执行文件运行脚本时,同样的方法似乎不起作用。

我错过了什么?如何在服务命令运行的脚本中获取运行服务命令的用户的名称?

谢谢。

答案1

service在尽可能可预测的环境中运行 System V init 脚本,删除大多数环境变量并将当前工作目录设置为/。

语言学期
传递给初始化脚本的唯一环境变量。

我不太明白您想要实现的目标,但您可能想尝试whoamilogname命令。

相关内容