Linux
使用者是否必須登錄才能執行程序並成為其所有者?
一般來說,使用者是否必須登錄才能執行程序並成為其所有者(ruid 或 euid)?這是否適用於任何使用者或任何非 root 使用者?例如:
- 在 Linux 的引導順序中,核心作為第一個程序啟動 init 系統,然後執行 init 程序,
login
以便每個使用者都可以登錄。init 程序由 擁有root
,使用者root
是否必須在啟動該init
程序之前登錄?請參閱為什麼每個登錄的使用者都擁有一個“systemd”程序?- 當使用
ssh
在不啟動互動式 shell 的情況下執行命令時,我們必須先登錄還是不執行命令?謝謝。
不,您無需登錄即可啟動以給定使用者身份執行的程序。登錄是一種使用者空間結構;核心並不關心這一點。有很多這樣的例子;例如,cron 作業可以作為任何使用者執行,而無需該使用者登錄。
要解決您的具體問題:
- 不,幸運的是,root 不需要登錄即可啟動該
init
過程(想像一下處理數千台伺服器和數百萬台虛擬機的艦隊);- 使用 SSH 連接算作登錄。