Linux

在 init.d 腳本中獲取登錄使用者

  • May 3, 2013

我在 RHEL 6.x 中創建了一個 init.d 腳本來控製作為服務的程序。在腳本中,我使用 /sbin/runuser 以非特權使用者身份啟動程序。這部分腳本工作正常。

腳本操作為 sudo service scriptname 操作

例如,sudo service httpd restart

此外,我想註銷執行上述命令的使用者。在普通的 bash 腳本中,我使用了各種 $ USER, $ SUDO_USER 和 $logname 讓使用者執行腳本。當使用“服務”執行檔執行腳本時,這似乎不起作用。

我錯過了什麼?如何在服務命令執行的腳本中獲取執行服務命令的使用者的名稱?

謝謝。

service在盡可能可預測的環境中執行 System V 初始化腳本,刪除大多數環境變數並將目前工作目錄設置為 /。

LANG , TERM

傳遞給初始化腳本的唯一環境變數。

我真的不明白您想要實現的目標,但您可能想嘗試whoamiorlogname命令。

引用自:https://serverfault.com/questions/504918