Linux

使用者是否必須登錄才能執行程序並成為其所有者?

  • December 19, 2018

一般來說,使用者是否必須登錄才能執行程序並成為其所有者(ruid 或 euid)?這是否適用於任何使用者或任何非 root 使用者?例如:

  • 在 Linux 的引導順序中,核心作為第一個程序啟動 init 系統,然後執行 init 程序,login以便每個使用者都可以登錄。init 程序由 擁有root,使用者root是否必須在啟動該init程序之前登錄?請參閱為什麼每個登錄的使用者都擁有一個“systemd”程序?
  • 當使用ssh在不啟動互動式 shell 的情況下執行命令時,我們必須先登錄還是不執行命令?

如果我不需要以所有者身份登錄來執行程序,我該怎麼做?

謝謝。

不,您無需登錄即可啟動以給定使用者身份執行的程序。登錄是一種使用者空間結構;核心並不關心這一點。有很多這樣的例子;例如,cron 作業可以作為任何使用者執行,而無需該使用者登錄。

要解決您的具體問題:

  • 不,幸運的是,root 不需要登錄即可啟動該init過程(想像一下處理數千台伺服器和數百萬台虛擬機的艦隊);
  • 使用 SSH 連接算作登錄。

引用自:https://unix.stackexchange.com/questions/489909