Linuxでは複数のユーザーアカウントを作成することができます。
新規でユーザーアカウントを作成するには「useradd」コマンドを使用します。
また、作成したユーザーアカウントを削除するには「userdel」コマンドを使用します。
「useradd」,「userdel」コマンドの使い方(Linux)
以下では「useradd」コマンドを用いてユーザー「user01」というアカウントを作成・削除を実施しました。
「useradd」の使い方
「useradd」では「-m」オプションを使用してコマンドを使用することにより、新規ユーザーのホームディレクトリが存在しない場合にホームディレクトリを作成します。
この「useradd」コマンドはスーパーユーザーのみで実行可能となります。
ファイルやディレクトリなどの書き込みや権限の移行など、システムの管理に関係する作業は「管理者権限(スーパーユーザ)」が必要です。 このスーパーユーザは一般ユーザーから変更する場合は「su」コマンドを使用します。 「su」[…]
$ su - パスワード: [root]# useradd -m user01 [root]# passwd user01 ユーザー user01 のパスワードを変更。 新しいパスワード: 新しいパスワードを再入力してください: passwd: すべての認証トークンが正しく更新できました。
また、新規ユーザーを作成する際にオプションと引数で情報を設定することができます。
※以下コマンドオプションを参照
オプションを指定しない場合はデフォルトの値が採用されます。
オプションや引数で指定できる項目は以下となります。
- ユーザーID
- グループ名、グループID
- ホームディレクトリ
- ログインシェル…etc
最後にユーザーアカウントに対してパスワードを設定します。
「useradd」コマンドで「-p」オプションを使用することで作成と同時にパスワードを設定することも可能です。
「userdel」の使い方
謝ってユーザーアカウントを作成したり、不要になった場合などはユーザーを削除することができます。
そのような場合は「userdel」コマンドを使用します。
以下では「user02」というアカウントを削除した例となります。
「useradd」と同じく、スーパーユーザーに昇格しないとコマンドを実行することができません。
$ su - パスワード: [root]# userdel user02
上記コマンドを簡単にユーザーアカウントは削除されますが、ユーザーを削除する場合は十分に注意が必要となります。
期限付きのユーザーアカウントを作成する
ユーザーアカウントは利用期限を設けることも可能です。
以下では2022年3月1日に対象のユーザーアカウント(test3M)が無効になるように設定をします。
$ useradd -e 2022-3-1 test3M
ユーザーアカウント情報の確認
ユーザーアカウントの情報は「/etc/」配下で管理されています。
以下ではそれぞれのファイルの内容を紹介します。
ファイル: /etc/passwd
以下ファイルではそれぞれのユーザーアカウントの情報が「:(コロン)」で区切られて記述されています。
デフォルトで作成した「test」というユーザーは次のように表示されています。
※パスワードが設定されている場合、以下の表示で「x」と記述されます。暗号化されたパスワードファイルは「/etc/shadow」に記載されます。
$ cat /etc/passwd test:x:1001:1001::/home/test:/bin/bash
ユーザー情報は「:(コロン)」区切りで左から以下の情報となります。
- ユーザー名
- パスワード
- ユーザーID
- グループID
- コメントフィールド
- ホームディレクトリのパス
- ログインシェル
ファイル: /etc/shadow
このファイルではユーザーアカウントの暗号化されたパスワードなどの情報が表示されます。
以下では「test」ユーザーのアカウント情報が記載されています。
$ cat /etc/shadow test:$6$dsZKgrEXXwqbiyLZ$wTys2G6dJphTatT6TlSuhrvkpVp576r35LwBv5n09oddqTlCuOkDKiYN1taKT4CDHIS4BPqWrAufZH3j9C9Kx/:19028:0:99999:7:::
「test」ユーザーアカウントの情報は「:(コロン)」区切りで左から以下の情報となります。
- ユーザー名
- 暗号化されたパスワード
- 1970年1月1日からパスワードが変更されたまでの日数
- パスワードが変更可能となるまでの日数
- パスワード変更するまでの日数
- パスワード有効期限が来る前にユーザーが警告を受ける日数
- パスワード有効期限が過ぎたアカウントが使用不可となるまでの日数
- 1970年1月1日からアカウントが使用不可になるまでの日数
- 予約フィールド
「useradd」コマンドオプション
「useradd」コマンドのオプションは以下の通りとなります。
$ useradd --help 使い方: useradd [オプション] LOGIN useradd -D useradd -D [オプション] オプション: -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 を使う
「userdel」コマンドオプション
「userdel」コマンドのオプションは以下の通りとなります。
$ userdel --help 使い方: userdel [オプション] LOGIN オプション: -f, --force force some actions that would fail otherwise e.g. removal of user still logged in or files, even if not owned by the user -h, --help このヘルプを表示して終了する -r, --remove ホームディレクトリとメールスプールを削除する -R, --root CHROOT_DIR chroot するディレクトリ -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files -Z, --selinux-user このユーザの SELinux ユーザマッピングを 全て削除する
「useradd」,「userdel」コマンドの使い方は以上となります。
エンジニアのオンライン学習
エンジニアにおすすめのオンライン教材比較 | |
ITエンジニアが自宅で学習ができるオンラインスクール比較 | |