Useradd
為什麼 debian 安裝程序強制我使用以 az 開頭的使用者名,而 adduser 卻沒有這樣做?
我剛剛通過標準的 cli 菜單驅動界面安裝了 Ubuntu Server,它提示我創建一個新帳戶。
嘗試創建我的數字使用者(例如
12345
),我得到一個“無效的使用者名”錯誤,指定使用者名必須以小寫字母開頭。所以我創建了一個替代使用者名並登錄沒有問題。
然後作為 root 使用者,我使用該
useradd
命令創建了我喜歡的數字使用者名,並且它創建它時沒有任何錯誤或註釋。查了
/etc/adduser.conf
配置文件,發現雖然有NAME_REGEX="^[a-z]..."
入口,但是被註釋掉了,所以不是預設的。那麼,當它不是預設設置時,為什麼要在安裝時強制執行它,導致我每次安裝時都必須執行此常式呢?
是否有其他方法可以在安裝時強制使用數字使用者,或者我是否需要調查 kickstart 選項?
不幸的是,我的使用者名必須是數字,這是通過我的客戶政策強制執行的。
在我看來,您需要向您的客戶推薦更改他們的政策。正如 Ulrich Schwarz在評論中所說,全數字使用者名完全有效,這有點令人驚訝。
考慮一下:如果
12345
系統中存在被呼叫的使用者,您將如何使用該chown
命令將文件的 uid 更改為數值 12345?提示:這實際上是可能的,但即使是手冊頁也沒有說明如何。任何嘗試執行此類操作的自動化腳本都可能會中斷。而且
chown
不是唯一的命令。當暴露於全數字使用者名時,系統的其他組件很可能會以更糟糕的方式崩潰。有一個關於改變規則的執行緒
adduser
。顯然它曾經禁止以數字開頭的名稱。