主目錄下列出的使用者與未列出的使用者之間的區別

主目錄下列出的使用者與未列出的使用者之間的區別

我看到我可以在 centos 的目錄下找到一些用戶,/home但看不到其餘的用戶。

目錄下列出的用戶/home,我可以使用命令以這些用戶身份登入

su username

要找到其餘用戶,我必須使用以下命令:

cut -d: -f1 /etc/passwd

要以其餘用戶之一的身份登錄,我需要使用命令

sudo -u username

有什麼不同?

答案1

如果您執行與您類似的命令:

$ cut -d: -f1,6,7 /etc/passwd
root:/root:/bin/bash
bin:/bin:/sbin/nologin
daemon:/sbin:/sbin/nologin
adm:/var/adm:/sbin/nologin
lp:/var/spool/lpd:/sbin/nologin
sync:/sbin:/bin/sync
shutdown:/sbin:/sbin/shutdown
halt:/sbin:/sbin/halt
mail:/var/spool/mail:/sbin/nologin
operator:/root:/sbin/nologin
games:/usr/games:/sbin/nologin
...
gareth:/home/gareth:/bin/bash
...

您會注意到,唯一具有/home目錄的帳戶是以下帳戶:a) 上面的第二列具有 中目錄的路徑/home,b) 第三列 ( ) 具有 shell /bin/bash

所有其他用戶都無法登錄,因為他們要么擁有 的 shell(/sbin/nologin顧名思義,不允許登錄),要么擁有屬於特定命令的 shell,例如/sbin/halt

您可以以其他使用者身分執行命令,甚至執行 shell:

$ sudo -u daemon whoami
daemon
$ sudo -u daemon bash
$ whoami
daemon
$ echo $HOME
/

但你不會有主目錄/home

更重要的是,您無法在登入提示字元下或使用這些帳戶登錄,su因為sshshell/sbin/nologin及其密碼將被停用(在 的第二列中尋找 a!!或 a )。*sudo less /etc/shadow

這些帳號都是系統電子郵件或 dhcp 等服務使用的帳戶或用於關閉系統的帳戶。

當這些用戶使用sudo.

相關內容