Linux
為什麼 Linux 使用者名不能以數字開頭?
有技術原因嗎?這是 Linux 或 Unix 早期的產物嗎?如果是的話,它存在的原因是什麼?
某些命令(例如
chown
)可以接受使用者名或數字使用者 ID,因此允許全數字使用者名會破壞這一點。允許名稱以數字開頭並包含一些字母的規則可能被認為不值得努力。相反,只需要以字母字元開頭。
編輯:
從其他回應看來,一些發行版已經顛覆了這一限制;在這種情況下,根據GNU Core Utils 文件:
POSIX 要求這些命令首先嘗試將指定的字元串解析為名稱,並且只有在失敗時才嘗試將其解釋為 ID。
$ useradd 1000 # on most systems this will fail with: # useradd: invalid user name '1000' $ mkdir /home/1000 $ chown -R 1000 /home/1000 # This will first try to map # to username "1000", but this may easily be misinterpreted.
添加一個名為“0”的使用者只會自找麻煩(UID 0 == root 使用者)。但是,請注意,組/使用者 ID 參數可以在前面加上“+”以強制將其解釋為整數。