Red Hat Training

A Red Hat training course is available for RHEL 8

11.3. コマンドラインからのユーザーの管理

コマンドラインインターフェイス (CLI) を使用してユーザーおよびグループを管理できます。これにより、Red Hat Enterprise Linux 環境でユーザーおよびユーザーグループを追加、削除、および変更できます。

11.3.1. コマンドラインでの新規ユーザーの追加

useradd ユーティリティーを使用して、新規ユーザーを追加できます。

前提条件

  • Root アクセス

手順

  • 新規ユーザーを追加するには、以下を使用します。

    # useradd options username

    optionsuseradd コマンドのコマンドラインオプションに、username はユーザー名に置き換えます。

    例11.1 新規ユーザーの追加

    ユーザー ID が 5000 のユーザー sarah を追加するには、以下を使用します。

    # useradd -u 5000 sarah

検証手順

  • 新規ユーザーが追加されたことを確認するには、id ユーティリティーを使用します。

    # id sarah

    返される出力は以下のとおりです。

    uid=5000(sarah) gid=5000(sarah) groups=5000(sarah)

関連情報

  • useradd の man ページ

11.3.2. コマンドラインでの新規グループの追加

groupadd ユーティリティーを使用して、新規グループを追加できます。

前提条件

  • Root アクセス

手順

  • 新規グループを追加するには、以下を使用します。

    # groupadd options group-name

    optionsgroupadd コマンドのコマンドラインオプションに、group-name はグループ名に置き換えます。

    例11.2 新規グループの追加

    グループ ID が 5000 のグループ sysadmins を追加するには、以下を使用します。

    # groupadd -g 5000 sysadmins

検証手順

  • 新規グループが追加されていることを確認するには、tail ユーティリティーを使用します。

    # tail /etc/group

    返される出力は以下のとおりです。

    sysadmins:x:5000:

関連情報

  • groupadd の man ページ

11.3.3. コマンドラインから補助グループにユーザーを追加

補助グループにユーザーを追加して、権限を管理したり、特定のファイルまたはデバイスへのアクセスを有効にしたりできます。

前提条件

  • root アクセス

手順

  • ユーザーの補助グループにグループを追加するには、以下を使用します。

    # usermod --append -G group-name username

    group-name はグループ名に、username はユーザー名に置き換えます。

    例11.3 補助グループへのユーザーの追加

    ユーザーの sysadmin をグループ system-administrators に追加するには、以下を使用します。

    # usermod --append -G system-administrators sysadmin

検証手順

  • ユーザー sysadmin の補助グループに新規グループが追加されていることを確認するには、以下を使用します。

    # groups sysadmin

    この出力では、以下が表示されます。

    sysadmin : sysadmin system-administrators

11.3.4. グループディレクトリーの作成

UPG システム設定では、グループ ID 権限の設定 (setgid) をディレクトリーに適用できます。setgid を使用して、ディレクトリーを共有するグループプロジェクトの管理が簡単になります。setgid をディレクトリーに適用すると、ディレクトリー内に作成されたファイルは、そのディレクトリーを所有するグループに自動的に割り当てられます。このグループ内の書き込みおよび実行権限があるユーザーは、対象のディレクトリーにファイルを作成、変更、および削除できるようになりました。

次のセクションでは、グループディレクトリーを作成する方法を説明します。

前提条件

  • Root アクセス

手順

  1. ディレクトリーを作成します。

    # mkdir directory-name

    directory-name は、ディレクトリー名に置き換えます。

  2. グループを作成します。

    # groupadd group-name

    group-name は、グループ名に置き換えます。

  3. ユーザーをグループに追加します。

    # usermod --append -G group-name username

    group-name はグループ名に、username はユーザー名に置き換えます。

  4. ディレクトリーのユーザーとグループの所有権は、group-name グループに関連付けます。

    # chgrp group-name directory-name

    group-name はグループ名に、directory-name はディレクトリー名に置き換えます。

  5. ファイルおよびディレクトリーを作成および修正し、setgid を設定してこの権限を directory-name ディレクトリー内で適用できるようにします。

    # chmod g+rwxs directory-name

    directory-name は、ディレクトリー名に置き換えます。

    group-name グループのすべてのメンバーが、directory-name ディレクトリーにファイルを作成し、編集できるようになりました。新規に作成されたファイルは、group-name グループの所有権を保持します。

検証手順

  • パーミッション設定の正確性を検証するには、以下を使用します。

    # ls -ld directory-name

    directory-name は、ディレクトリー名に置き換えます。

    返される出力は以下のとおりです。

    drwxrwsr-x. 2 root group-name 6 Nov 25 08:45 directory-name

11.3.5. コマンドラインでのユーザーの削除

コマンドラインを使用してユーザーアカウントを削除できます。ユーザーアカウントの削除に加えて、必要に応じてユーザーデータとメタデータ (ホームディレクトリーや設定ファイルなど) を削除できます。

前提条件

  • root アクセスがある。
  • ユーザーが存在している。
  • ユーザーがログアウトしていることを確認します。

    # loginctl terminate-user user-name

手順

  • ユーザーデータではなく、ユーザーアカウントのみを削除するには、以下を実行します。

    # userdel user-name
  • ユーザー、データ、およびメタデータを削除するには、以下を実行します。

    1. ユーザー、そのホームディレクトリー、メールスプール、および SELinux ユーザーマッピングを削除します。

      # userdel --remove --selinux-user user-name
    2. 追加のユーザーメタデータを削除します。

      # rm -rf /var/lib/AccountsService/users/user-name

      このディレクトリーには、ホームディレクトリーが使用可能になる前にシステムが必要とする、ユーザーに関する情報が保存されます。システムの設定によっては、ユーザーがログイン画面で認証するまで、ホームディレクトリーが利用できない可能性があります。

      重要

      このディレクトリーを削除せずに、後で同じユーザーを再作成した場合、再作成されたユーザーは、削除されたユーザーから継承した特定の設定を引き続き使用します。

関連情報

  • userdel(8) man ページ