Linux

為什麼 Linux 使用者名不能以數字開頭?

  • July 29, 2019

有技術原因嗎?這是 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 參數可以在前面加上“+”以強制將其解釋為整數。

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