Linux

是什麼意思!在 /etc/passwd 中的使用者名欄位之前?

  • November 19, 2015

做了一些Google搜尋後,我在/etc/passwd

!在行首顯示 a 。

它看起來像這樣:

!user:x:0:0:user:/home/user:/bin/bash

有任何想法嗎?我唯一的猜測是使用者可能不再存在。

這實際上只是將使用者名更改為!user,所以如果您嘗試登錄,user您將得到:

No passwd entry for user 'user'

因為使用者名已更改為!user.

現在,如果您也更改並將/etc/shadow使用者名設置為!user,那麼您可以!user使用與 相同的密碼以使用者身份登錄user

如果你想阻止使用者使用密碼登錄,你應該!在密碼欄位中添加一個/etc/shadow或更好的使用passwd -l命令。

來自維基百科

“!” – 賬戶被密碼鎖定,使用者將無法通過密碼驗證登錄,但其他方式(例如 ssh 密鑰)可能仍然允許)

$$ 7 $$

此外,似乎!in的意義/etc/passwd也可能因它所在的位置(冒號)而異。在此連結中,他們提供了!位於密碼欄位中的條目範例,如下所示:

root:!:0:0::/:/usr/bin/ksh
daemon:!:1:1::/etc:
bin:!:2:2::/bin:

他們解釋說

如果使用者 ID 有密碼,那麼密碼欄位將有一個 ! (驚嘆號)。

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