Linux

Linux 相當於 Unix who -m 命令,在 su 之前顯示原始使用者 ID?

  • March 3, 2017

我正在嘗試找到一個who -m在 Unix 中執行的 Linux 等價物。在 Unix中,在通過等who -m啟動任何新的 shell 會話之前,給出您用於登錄的第一個使用者 ID 。su

-m切換到在 Linux 中具有不同的效果,who到目前為止,我無法在手冊頁中找到與我的需求相關的任何內容。

更新:我的回答(我是誰)是正確的,您的終端要麼損壞,要麼配置不正確以支持該功能。

根據評論,我做了更多的研究,並請朋友幫忙。您沒有說您使用的是哪個終端,但它可能與 gnome-terminal 做同樣的事情。

關於 gnome-terminal *終端啟動時,它不會更新 utmp 文件。這似乎是一個設計決定。後來,當誰讀取 utmp 以找出相關資訊時,它不存在,因此它只是退出並且什麼也不列印。

*我嘗試將 xterm、konsole 和 ssh 用於各種發行版。


您想要who am iwhich 列印呼叫使用者,而不是whoamiwhich 告訴您目前有效使用者的使用者名

如果給定兩個非選項參數,“誰”只列印執行它的使用者的條目(由其標準輸入確定),前面是主機名。傳統上,給出的兩個參數是“我是”,如“我是誰”。

info coreutils 'who invocation'有趣的是(在基於 linux coreutils 的系統上)who xyzzy plugh也有效。

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