技術的な理由はありますか?これはLinuxまたはUnixの初期のアーティファクトですか?それでは、維持され続ける理由はありますか?
ベストアンサー1
一部のコマンド(例chown
:)はユーザー名または数値ユーザーIDを受け入れることができるため、すべての数値ユーザー名を受け入れると、そのコマンドは中断されます。
名前が数字で始まり、一部の文字を含めることを許可する規則は、努力する価値がないと見なすことができ、代わりに名前をアルファベット文字で始める必要があります。
編集する:
この場合、一部のディストリビューションはこの制限を超えたもので、他の回答で表示されます。GNUコアユーティリティドキュメント:
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パラメータの前に「+」を付けて整数として解釈することができます。