このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Linux】UIDとGIDの確認:idコマンド

idコマンドの概要

 「id」コマンドは、指定したユーザーまたは現在のユーザーのユーザーID (UID)、グループID (GID)、およびそのユーザーが所属するグループを表示します。このコマンドを使用することで、ユーザーの特権やアクセス権限を確認することができます。

【構文】
id [ユーザー名]

useraddコマンドのオプションと「/etc/passwd」、「/etc/group」ファイルの各項目との関係

 例として「useradd -u 1111 -g users -G staff -c "tanaka misaki" -d /home/tanaka -m -s /bin/bash tanaka」コマンドと「/etc/passwd」、「/etc/group」ファイルの各項目との関係について解説します。

rootユーザーに切り替えます。

・「su -」コマンドを実行して、パスワードを入力します。

user01@ubuntu-vm:~$ su -
パスワード: 
root@ubuntu-vm:~# 

次のコマンドを実行します。

  • useradd -u 1111 -g users -G staff -c "tanaka misaki" -d /home/tanaka -m -s /bin/bash tanaka」コマンド
  • grep users /etc/group」コマンド
  • grep staff /etc/group」コマンド
  • grep tanaka /etc/passwd」コマンド
root@ubuntu-vm:~# useradd -u 1111 -g users -G staff -c "tanaka misaki" -d /home/tanaka -m -s /bin/bash tanaka
root@ubuntu-vm:~# grep users /etc/group
users:x:100:
root@ubuntu-vm:~# grep tanaka /etc/group
staff:x:50:yamada,tanaka
root@ubuntu-vm:~# grep tanaka /etc/passwd
tanaka:x:1111:100:tanaka misaki:/home/tanaka:/bin/bash

 「useradd」コマンドのオプションと「/etc/passwd」、「/etc/group」との関係を下図に示します。

useraddコマンドのオプション

オプション説明
-cユーザーのコメント(通常はフルネーム)を指定します。
※指定がない場合:コメント欄は空欄になる。
-dユーザーのホームディレクトリを指定します。
※指定がない場合:/home の下にユーザー名と同じ名前のディレクトリを作成する。
-gユーザーのプライマリグループを指定します。
※指定がない場合:ユーザー名と同名のグループが作成される。
-Gユーザーのサブグループを指定します。複数のグループをカンマで区切って指定できます。
※指定がない場合:サブグループへの所属なし。
-sユーザーのデフォルトシェルを指定します。
※指定がない場合:/bin/bash が設定される。
-uユーザーID(UID)を指定します。
※指定がない場合:/etc/passwd ファイルに登録された最も大きい UID+1が設定される。
-Dデフォルトの設定を表示または変更します。
-mホームディレクトリを作成します。
※Debian系の場合は必須
useraddコマンドのオプション

コマンドの使用例と解説

1.現在のユーザーの情報を表示

・「id」コマンドを実行します。

 このコマンドを実行すると、現在のユーザーのUID、GID、および所属するすべてのグループの情報が表示されます。

root@ubuntu-vm:~# id
uid=0(root) gid=0(root) groups=0(root)

2.指定したユーザーの情報を表示

・「id tanaka」コマンドを実行します。

username に指定したユーザーのUID、GID、および所属するグループの情報が表示されます。

root@ubuntu-vm:~# id tanaka
uid=1111(tanaka) gid=100(users) groups=100(users),50(staff)

まとめ

 「id」コマンドは、ユーザーのUID、GID、および所属グループを確認するための非常に便利なツールです。特定のユーザーのアクセス権を確認する際や、システム管理を行う際に役立ちます。