Useradd

為什麼 debian 安裝程序強制我使用以 az 開頭的使用者名,而 adduser 卻沒有這樣做?

  • October 8, 2014

我剛剛通過標準的 cli 菜單驅動界面安裝了 Ubuntu Server,它提示我創建一個新帳戶。

嘗試創建我的數字使用者(例如 12345),我得到一個“無效的使用者名”錯誤,指定使用者名必須以小寫字母開頭。

所以我創建了一個替代使用者名並登錄沒有問題。

然後作為 root 使用者,我使用該useradd命令創建了我喜歡的數字使用者名,並且它創建它時沒有任何錯誤或註釋。

查了/etc/adduser.conf配置文件,發現雖然有NAME_REGEX="^[a-z]..."入口,但是被註釋掉了,所以不是預設的。

那麼,當它不是預設設置時,為什麼要在安裝時強制執行它,導致我每次安裝時都必須執行此常式呢?

是否有其他方法可以在安裝時強制使用數字使用者,或者我是否需要調查 kickstart 選項?

不幸的是,我的使用者名必須是數字,這是通過我的客戶政策強制執行的。

在我看來,您需要向您的客戶推薦更改他們的政策。正如 Ulrich Schwarz在評論中所說,全數字使用者名完全有效,這有點令人驚訝。

考慮一下:如果12345系統中存在被呼叫的使用者,您將如何使用該chown命令將文件的 uid 更改為數值 12345?提示:這實際上是可能的,但即使是手冊頁也沒有說明如何。任何嘗試執行此類操作的自動化腳本都可能會中斷。

而且chown不是唯一的命令。當暴露於全數字使用者名時,系統的其他組件很可能會以更糟糕的方式崩潰。

有一個關於改變規則的執行緒adduser顯然它曾經禁止以數字開頭的名稱。

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