~~NOCACHE~~
## 61.アカウント管理-ユーザー
adduserはuseraddのシンボリックリンクなので
useraddについて記載する。
### 一般的なコマンド
#ユーザー一覧表示
cat /etc/passwd
#新規ユーザー作成
useradd [オプション] [ユーザー名]
#ユーザー変更
usermod [オプション] [ユーザー名/ユーザーID]
#ユーザー削除
userdel -r [ユーザー名] # -r ホームディレクトリとメールスプールを削除する
#ユーザー作成の初期値確認
useradd -D
### useraddコマンド例
#一般ユーザー、シェルは/bin/bash、ホームディレクトリも同時に作成する
useradd -s /bin/bash -m [ユーザー名]
#一般ユーザー、シェルは/bin/bash、ホームディレクトリも同時に作成する、プライマリグループを指定したグループ名に所属
useradd -s /bin/bash -g [グループ名] -m [ユーザー名]
#一般ユーザー、シェルは/sbin/nologin、ホームディレクトリは作成しない
useradd -s /sbin/nologin -M [ユーザー名]
#システムユーザー、シェルは/sbin/nologin、ホームディレクトリも同時に作成する
#システムユーザーは/etc/login.defsのSYSUIDMIN~SYSUIDMAXの範囲でグループIDが付与される
useradd -r -s /sbin/nologin -m [ユーザー名]
### usermodコマンド例
#ユーザー名を新ユーザー名に変更、ホームディレクトリを/home/[新ユーザー名]へ変更、現ホームディレクトリの内容を新たな場所に移動する
usermod -l [新ユーザー名] -d /home/[新ユーザー名] -m [旧ユーザー名]
### その他ユーザ関連コマンド例
#ユーザーのパスワード有効期限関連の情報を表示する
chage -l [ユーザ名]
#ユーザーのパスワード有効期限を設定する(99999で無期限)
chage -M [数字] [ユーザ名]
#ユーザーがログインするタイミングでパスワードの変更を強制する
passwd --expire [ユーザ名]
#ユーザーのアカウントをロックする。
passwd -l [ユーザ名]
#ユーザーのアカウントをアンロックする。
passwd -u [ユーザ名]
#アカウントの状態の確認
passwd -S [ユーザ名]
#サーバにログインしているユーザ確認
who
### useraddオプション一覧
オプション:
-b, --base-dir BASE_DIR 新アカウントのホームディクトリのベースディレクトリ
-c, --comment COMMENT 新アカウントの GECOS フィールド
-d, --home-dir HOME_DIR 新アカウントのホームディレクトリ
-D, --defaults useradd のデフォルト設定を表示または変更
-e, --expiredate EXPIRE_DATE 新アカウントの期限切れ日付
-f, --inactive INACTIVE 新アカウントのパスワード無効化日数
-g, --gid GROUP 新アカウントの主グループの名前または ID
-G, --groups GROUPS 新アカウントの補助グループのリスト
-h, --help このヘルプを表示して終了する
-k, --skel SKEL_DIR 雛型ディレクトリに指定のものを使う
-K, --key KEY=VALUE /etc/login.defs のデフォルトより優先される
-l, --no-log-init ユーザを lastlog, faillog のデータベースに追加しない
-m, --create-home ユーザのホームディレクトリを作成する
-M, --no-create-home ユーザのホームディレクトリを作成しない
-N, --no-user-group ユーザと同名のグループを作成しない
-o, --non-unique UID が同じユーザの作成を許す
-p, --password PASSWORD 新アカウントの暗号化されたパスワード
-r, --system システムアカウントを作成します
-R, --root CHROOT_DIR chroot するディレクトリ
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-s, --shell SHELL 新アカウントのログインシェル
-u, --uid UID 新アカウントのユーザ ID
-U, --user-group ユーザと同じ名前のグループを作成する
-Z, --selinux-user SEUSER SELinux のユーザマッピングに指定したSEUSER を使う
### usermodオプション一覧
オプション:
-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 新たな補助グループのリストを与える
-a, --append ユーザを (-G で指定された) 補助グループ群GROUPS に追加する。他のグループからの削除は行わない。
-h, --help このヘルプを表示して終了する
-l, --login NEW_LOGIN ログイン名を変更する
-L, --lock このユーザアカウントをロックする
-m, --move-home 現ホームディレクトリの内容を新たな場所に移動する (-d が指定された場合のみ)
-o, --non-unique 一意でないユーザ (UID の重なるユーザ) を許可する
-p, --password PASSWORD 新たな暗号化済みパスワードを与える
-R, --root CHROOT_DIR chroot するディレクトリ
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-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ユーザマッピング
{{tag>AWS RHEL 実践的}}