linux:commands:manage_user_group

Linux ユーザー・グループ管理

ユーザーを追加する。

$ sudo useradd hogeuser

追加した新規ユーザーのパスワードをする。

$ sudo passwd hogeuser
ユーザー hogeuser のパスワードを変更。
新しいパスワード: ******** <- パスワードを入力
新しいパスワードを再入力してください: ******** <- パスワードを再入力
passwd: 全ての認証トークンが正しく更新できました。

ユーザーを追加する。

$ sudo adduser hogeuser
$ sudo groupadd wwwusers
$ sudo useradd -d /var/www/username username
$ sudo groupadd -g 5000 hogegroup
$ sudo useradd -u 5000 -g hogegroup hogename
$ sudo gpasswd -a username wheel
  1. UID、GID、グループの所属状況を確認する。

    $ sudo id hogeuser
    

    uid=503(hogeuser) gid=503(hogeuser) 所属グループ=503(hogeuser)
    

  2. ユーザーをグループに追加 (-a) する。

    $ sudo usermod -a -G wwwusers hogeuser
    

    ※複数グループに追加 (-a) する場合は以下のように','で区切って複数指定する。

    $ sudo usermod -a -G wwwusers,grp2users,grp3users hogeuser
    

  3. ユーザーが指定したグループに所属していることを確認する。

    $ sudo id hogeuser
    

    uid=503(hogeuser) gid=503(hogeuser) 所属グループ=503(hogeuser),504(wwwusers)
    

$ usermod -h

使い方: usermod [オプション] LOGIN

オプション:
  -a, --append                  ユーザを (-G で指定された) 補助グループ群
                                GROUPS に追加する。他のグループからの削除は
                                行わない。
  -b, --badname                 allow bad names
  -c, --comment COMMENT         GECOS フィールドの値を再設定する
  -d, --home HOME_DIR           ユーザアカウントのホームディレクトリを
                                再設定する
  -e, --expiredate EXPIRE_DATE  アカウント期限切れの日を EXPIRE_DATE にする
  -f, --inactive INACTIVE       パスワードを期限切れ後に無効化する日数を
                                INACTIVEにする
  -g, --gid GROUP               主グループを GROUP に変更する
  -G, --groups GROUPS           新たな補助グループのリストを与える
  -h, --help                    このヘルプを表示して終了する
  -l, --login NEW_LOGIN         ログイン名を変更する
  -L, --lock                    このユーザアカウントをロックする
  -m, --move-home               現ホームディレクトリの内容を新たな場所に
                                移動する (-d が指定された場合のみ)
  -o, --non-unique              一意でないユーザ (UID の重なるユーザ) を
                                許可する
  -p, --password PASSWORD       新たな暗号化済みパスワードを与える
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -r, --remove                  remove the user from only the supplemental GROUPS
                                mentioned by the -G option without removing
                                the user from other groups
  -R, --root CHROOT_DIR         chroot するディレクトリ
  -s, --shell SHELL             ユーザのシェルを新たに SHELL にする
  -u, --uid UID                 このユーザの UID を変更する
  -U, --unlock                  このユーザアカウントのロックを解除する
  -v, --add-subuids FIRST-LAST  add range of subordinate uids
  -V, --del-subuids FIRST-LAST  remove range of subordinate uids
  -w, --add-subgids FIRST-LAST  add range of subordinate gids
  -W, --del-subgids FIRST-LAST  remove range of subordinate gids
  -Z, --selinux-user            このユーザアカウントへの新規 SELinux
                                ユーザマッピング
      --selinux-range SERANGE   new SELinux MLS range for the user account

  1. ファイルやフォルダのグループを変更する。
    $ sudo chgrp wwwusers /var/www/public_html
  2. 必要に応じてグループのパーミッションも変更する。
    $ sudo chmod 775 /var/www/public_html

 ユーザーとホームディレクトリの削除を行う。

$ sudo userdel -r hogeuser

 以下のコマンドを実行して、不要グループの削除を行う。

$ sudo groupdel wwwusers

 このファイルにはプログラムなどから参照するためのユーザー情報が格納されている。

$ cat /etc/passwd
〜省略〜
hogeuser:x:503:503:hoge comment:/home/hogeuser:/bin/bash
データhogeuser:x:503:503:hoge comment:/home/hogeuser:/bin/bash
説明ユーザー名
*1
パスワード
*2
ユーザーID
(UID) *3
プライマリ
グループID(GID) *4
ユーザーID
情報 *5
ホーム
ディレクトリ *6
シェル/
コマンド *7

*1 システムにログインするときにユーザーが入力する名前。
*2 シャドーパスワードを利用している場合は x が設定され、暗号化されたパスワードが /etc/shadow に格納される。
*3 各ユーザーにはユーザーID(UID)を割り当てる必要がある。
 アクセス権を確定するときに OS やプログラムなどで使用されます。
 UID 0 は root 用に、1〜99はその他の定義済みアカウント用に予約されている。
*4 プライマリ グループID(GID)を設定する。(/etc/group に定義済みのGID)
*5 コメント列。ユーザーのフルネームや電話番号などの追加情報を格納する。fingerコマンドがこのフィールドを利用する。
*6 ユーザーのログイン直後の初期ディレクトリを絶対パスで設定する。
*7 /bin/bash などシェルの絶対パスを設定する。シェルである必要はなく通常のコマンドでも良い。

参考文献
Understanding /etc/passwd File Format
Red Hat Enterprise Linux 固有の情報

 このファイルにはプログラムなどから参照するためのグループ情報が格納されている。

$ cat /etc/group
〜省略〜
hogeuser:x:503:jiro,goro
データhogeuser:x:503:jiro,goro
説明グループ名
*1
パスワード
*2
グループID
(GID)*3
グループ
リスト *4

*1 ls コマンドを実行した際に、そのグループ列に表示される。
*2 シャドーパスワードを利用している場合は x が設定され、暗号化されたパスワードが /etc/gshadow に格納される。
*3 各グループにはグループID(GID)を割り当てる必要がある。
 アクセス権を確定するときに OS やプログラムなどで使用されます。
*4 グループのメンバーであるユーザー名のリストをカンマ区切りで設定する。

  • linux/commands/manage_user_group.txt
  • 最終更新: 2025/02/24 10:44
  • by ともやん