Su查看會話是否在
查看會話是否在 su
下執行
我正在嘗試檢查目前的 shell 會話是否在
su
登錄會話中執行。測試這種情況的最佳方法是什麼?
查看
logname
命令。logname 將列印 utmp 日誌提供的登錄到控制終端的使用者的使用者名。tk-mbp:~ tkennedy$ id -g -rn staff tk-mbp:~ tkennedy$ id -u -rn tkennedy tk-mbp:~ tkennedy$ logname tkennedy tk-mbp:~ tkennedy$ su - Password: tk-mbp:~ root# id -g -rn wheel tk-mbp:~ root# id -u -rn root tk-mbp:~ root# logname tkennedy
這個例子如果來自 Mac OS X,所以
id
命令的使用可能與其他作業系統不同,但是,logname 的使用在 Mac OS X、Linux 和 Solaris 之間是一致的,這些都是我晚上可以測試的所有作業系統和。通過使用 logname,您可以假設如果
id
命令返回的使用者與返回的使用者不同logname
,則目前 shell 會話正在 su、sudo 或其他允許在貝殼。