環境
Ubuntu20.4
記事
ログインしている自分のユーザー名とユーザーID(UID)は次のようにして調べることができます。
$whoami
$id [ユーザー名]
登録されているユーザーの一覧は次のようにして調べることができます。先頭1列目がユーザー名で、2列目のxはパスワードなのだが、xとしか表示されません。3行目がUIDです。因みに、パスワードは/etc/passwdでは管理しておらず、/etc/shadowで暗号化して管理しています。
$cat /etc/passwd
上記のコマンドだけでの表示では、随分と見づらいため、ユーザー名とUIDだけ、awkで抜き出して表示すると分かりやすく表示することができます。
$cat /etc/passwd | awk -F ':' '{print $3 " " $1}' | sort -n
さらにもう少し見やすくしてみます。ユーザー名は左寄せのままで、UIDを右寄せして表示します。表示を整形する場合は、printの代わりにprintfを利用します。
$cat /etc/passwd | awk -F ':' '{printf "%4s" " " "%-20s\n", $3, $1}'| srot -n
ユーザー一覧をみると、一般ユーザーのUIDは1000から連番で作成されていることがわかります。UIDの0~999はシステムで予約されている番号となります。ほほほぼ固定されたUIDがシステムから割り当てられます。一般ユーザーに割り当てられるUIDの範囲は、/etc/login.defsで定義されています。/etc/login.defsで設定されている、UID_MIN、UID_MAXの値が、UIDの範囲となります。
$cat /etc/login.defs | grep UID
自分の環境では、デフォルトで次のように設定されています。UID_MINの値を変更すれば、割り当てられるUIDを変更することができます。しかし、あまり触ることはないでしょう。
UID_MIN 1000
UID_MAX 60000