目次

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ユーザマッピング