Users
更改UID後沒有使用者名
$$ Ubuntu 16.04.7, ISPConfig, Jailkit $$ 我需要更改新創建的(入獄)使用者的 UID(通過 ISPConfig 的
Add Shell User
函式)以消除與同一虛擬主機上其他使用者的歧義。所以我確定下一個可用uid
並執行usermod -u xxxx UserName
。我檢查了使用者的主目錄,而不是使用者列中顯示的使用者名,而是
uid
顯示。起初我並沒有在意這個結果。當我以新使用者身份登錄時,我發現雖然其他一切都在工作,但提示使用者名設置為
I have no name!
. 由於我不需要/不想更改使用者名(也沒有),我對這個結果感到驚訝。當我id
為這個使用者執行時,我得到了(注意使用者名沒有顯示在他們的 uid 旁邊):uid=5016 gid=5007(groupName) groups=5007(groupName)
使用者肯定在
/etc/passwd
文件中。在到處搜尋之後,我沒有找到任何解決這個問題的方法。我怎樣才能解決這個問題?
您提到這是針對入獄使用者的。因此,您需要更改監獄內外的 uid/使用者名映射。
您
usermod
處理了監獄外的主要內容,但要編輯裡面的內容,您必須使用普通編輯器(您不太可能usermod
在監獄內擁有命令,所以您不能chroot usermod...
)。該文件應{JailRoot}/etc/passwd
為{JailRoot}
. UID 是第三個以冒號分隔的欄位。作為完整性的最後一步,確保舊 UID (
{oldUID}
) 擁有的所有文件都已轉換為新 UID ({newUID}
)。顯然,如果您確定沒有此類文件,則可以跳過此步驟find / -user {oldUID} -exec chown {newUID} {} +