linux:commands:manage_user_group

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
linux:commands:manage_user_group [2024/04/19 09:27] – 削除 - 外部編集 (Unknown date) 非ログインユーザーlinux:commands:manage_user_group [2025/02/24 10:44] (現在) – [ユーザーをグループに所属させる] ともやん
行 1: 行 1:
 +====== Linux ユーザー・グループ管理 ======
 +===== 新規ユーザーの作成 =====
 +
 +
 +==== useradd / passwd コマンド ====
 +ユーザーを追加する。\\
 +<code>
 +$ sudo useradd hogeuser
 +</code>
 +追加した新規ユーザーのパスワードをする。\\
 +<code>
 +$ sudo passwd hogeuser
 +ユーザー hogeuser のパスワードを変更。
 +新しいパスワード: ******** <- パスワードを入力
 +新しいパスワードを再入力してください: ******** <- パスワードを再入力
 +passwd: 全ての認証トークンが正しく更新できました。
 +</code>
 +
 +==== adduser / gpasswd コマンド ====
 +ユーザーを追加する。\\
 +<code>
 +$ sudo adduser hogeuser
 +</code>
 +
 +===== グループの作成 =====
 +<code>
 +$ sudo groupadd wwwusers
 +</code>
 +
 +===== ホームディレクトリを指定する場合 =====
 +<code>
 +$ sudo useradd -d /var/www/username username
 +</code>
 +
 +===== UID、GIDを指定してユーザー、グループを作成 =====
 +<code>
 +$ sudo groupadd -g 5000 hogegroup
 +$ sudo useradd -u 5000 -g hogegroup hogename
 +</code>
 +===== ユーザーを管理者グループに所属させる場合 =====
 +<code>
 +$ sudo gpasswd -a username wheel
 +</code>
 +
 +===== ユーザーをグループに所属させる =====
 +  - UID、GID、グループの所属状況を確認する。<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:solid">sudo</u></font> <font color="#26A269">id</font> hogeuser
 +</pre></html></WRAP>
 +<WRAP color_result><html><pre>
 +uid=503(hogeuser) gid=503(hogeuser) 所属グループ=503(hogeuser)
 +</pre></html></WRAP>
 +</WRAP>
 +  - ユーザーをグループに追加 (-a) する。<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:solid">sudo</u></font> <font color="#26A269">usermod</font> <font color="#A347BA">-a</font> <font color="#A347BA">-G</font> wwwusers hogeuser
 +</pre></html></WRAP>
 +</WRAP>※複数グループに追加 (-a) する場合は以下のように','で区切って複数指定する。<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:solid">sudo</u></font> <font color="#26A269">usermod</font> <font color="#A347BA">-a</font> <font color="#A347BA">-G</font> wwwusers,grp2users,grp3users hogeuser
 +</pre></html></WRAP>
 +</WRAP>
 +  - ユーザーが指定したグループに所属していることを確認する。<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269"><u style="text-decoration-style:solid">sudo</u></font> <font color="#26A269">id</font> hogeuser
 +</pre></html></WRAP>
 +<WRAP color_result><html><pre>
 +uid=503(hogeuser) gid=503(hogeuser) 所属グループ=503(hogeuser),504(wwwusers)
 +</pre></html></WRAP>
 +</WRAP>
 +
 +==== 使い方 ====
 +<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<font color="#0087FF"><b>$</b></font> <font color="#26A269">usermod</font> <font color="#A347BA">-h</font>
 +</pre></html></WRAP>
 +<WRAP color_result><html><pre>
 +使い方: 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
 +
 +</pre></html></WRAP>
 +</WRAP>
 +
 +===== ファイルやフォルダのグループを変更する =====
 +  - ファイルやフォルダのグループを変更する。<code>
 +$ sudo chgrp wwwusers /var/www/public_html
 +</code>
 +  - 必要に応じてグループのパーミッションも変更する。<code>
 +$ sudo chmod 775 /var/www/public_html
 +</code>
 +
 +===== ユーザーの削除 =====
 + ユーザーとホームディレクトリの削除を行う。<code>
 +$ sudo userdel -r hogeuser
 +</code>
 +
 +===== グループの削除 =====
 + 以下のコマンドを実行して、不要グループの削除を行う。<code>
 +$ sudo groupdel wwwusers
 +</code>
 +
 +===== /etc/passwd ファイルの形式 =====
 + このファイルにはプログラムなどから参照するためのユーザー情報が格納されている。
 +<code>
 +$ cat /etc/passwd
 +〜省略〜
 +hogeuser:x:503:503:hoge comment:/home/hogeuser:/bin/bash
 +</code>
 +^データ|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 などシェルの絶対パスを設定する。シェルである必要はなく通常のコマンドでも良い。\\
 +\\
 +**参考文献**\\
 +[[http://www.cyberciti.biz/faq/understanding-etcpasswd-file-format/|Understanding /etc/passwd File Format]]\\
 +[[http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-ja-4/s1-acctsgrps-rhlspec.html|Red Hat Enterprise Linux 固有の情報]]\\
 +
 +===== /etc/group ファイルの形式 =====
 + このファイルにはプログラムなどから参照するためのグループ情報が格納されている。
 +<code>
 +$ cat /etc/group
 +〜省略〜
 +hogeuser:x:503:jiro,goro
 +</code>
 +^データ|hogeuser:|x:|503:|jiro,goro|
 +^説明|グループ名\\ *1  |パスワード\\ *2  |グループID\\ (GID)*3  |グループ\\ リスト *4  |
 +*1 ls コマンドを実行した際に、そのグループ列に表示される。\\
 +*2 シャドーパスワードを利用している場合は x が設定され、暗号化されたパスワードが /etc/gshadow に格納される。\\
 +*3 各グループにはグループID(GID)を割り当てる必要がある。\\
 + アクセス権を確定するときに OS やプログラムなどで使用されます。\\
 +*4 グループのメンバーであるユーザー名のリストをカンマ区切りで設定する。\\
 +\\
 +===== 参考文献 =====
 +[[http://www.cyberciti.biz/faq/understanding-etcgroup-file/|Understanding /etc/group File]]\\
 +[[http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-ja-4/s1-acctsgrps-rhlspec.html|Red Hat Enterprise Linux 固有の情報]]\\
 +[[https://www.howtogeek.com/50787/add-a-user-to-a-group-or-second-group-on-linux/|Add a User to a Group (or Second Group) on Linux]]\\