Unix-user-administration

提供:Dev Guides
移動先:案内検索

Unix/Linux-ユーザー管理

この章では、Unixでのユーザー管理について詳しく説明します。

Unixシステムには3種類のアカウントがあります-

ルートアカウント

これは「スーパーユーザー」とも呼ばれ、システムを完全かつ自由に制御できます。 スーパーユーザーは、制限なくコマンドを実行できます。 このユーザーは、システム管理者として想定される必要があります。

システムアカウント

システムアカウントは、たとえばメールアカウントや sshd アカウントなど、システム固有のコンポーネントの操作に必要なアカウントです。 通常、これらのアカウントはシステム上の特定の機能に必要であり、それらの変更はシステムに悪影響を与える可能性があります。

ユーザーアカウント

ユーザーアカウントは、ユーザーおよびユーザーグループにシステムへの対話型アクセスを提供します。 通常、一般ユーザーはこれらのアカウントに割り当てられ、通常、重要なシステムファイルおよびディレクトリへのアクセスが制限されています。

Unixは、多数のアカウントを論理的にグループ化する_Group Account_の概念をサポートしています。 すべてのアカウントは、別のグループアカウントの一部になります。 Unixグループは、ファイルのアクセス許可とプロセス管理で重要な役割を果たします。

ユーザーとグループの管理

4つの主なユーザー管理ファイルがあります-

  • /etc/passwd -ユーザーアカウントとパスワード情報を保持します。 このファイルには、Unixシステム上のアカウントに関する情報の大部分が含まれています。

  • /etc/shadow -対応するアカウントの暗号化されたパスワードを保持します。 すべてのシステムがこのファイルをサポートしているわけではありません。

  • /etc/group -このファイルには、各アカウントのグループ情報が含まれています。

  • /etc/gshadow -このファイルには、安全なグループアカウント情報が含まれています。

    *cat* コマンドを使用して、上記のすべてのファイルを確認します。

次の表は、アカウントとグループを作成および管理するために、ほとんどのUnixシステムで使用できるコマンドを示しています-

Sr.No. Command & Description
1

useradd

システムにアカウントを追加します

2

usermod

アカウント属性を変更します

3

userdel

システムからアカウントを削除します

4

groupadd

システムにグループを追加します

5

groupmod

グループ属性を変更します

6

groupdel

システムからグループを削除します

link:/unix/unix-manpage-help [Manpage Help]を使用して、ここで説明する各コマンドの完全な構文を確認できます。

グループを作成する

これで、グループの作成方法を理解できます。 そのためには、アカウントを作成する前にグループを作成する必要があります。そうでない場合は、システム内の既存のグループを使用できます。 すべてのグループが /etc/groups ファイルにリストされています。

デフォルトグループはすべてシステムアカウント固有のグループであり、通常のアカウントに使用することはお勧めしません。 だから、次は新しいグループアカウントを作成するための構文です-

 groupadd [-g gid [-o]] [-r] [-f] groupname

次の表は、パラメータを示しています-

Sr.No. Option & Description
1

-g GID

グループのIDの数値

2

-o

このオプションにより、一意でないGIDを持つグループを追加できます

3

-r

このフラグは、 groupadd にシステムアカウントを追加するよう指示します

4

-f

このオプションは、指定されたグループが既に存在する場合、成功ステータスで終了します。 -gを使用すると、指定されたGIDが既に存在する場合、他の(一意の)GIDが選択されます

5

groupname

作成される実際のグループ名

パラメータを指定しない場合、システムはデフォルト値を使用します。

次の例は、デフォルト値で_developers_グループを作成します。これは、ほとんどの管理者にとって非常に受け入れられます。

$ groupadd developers

グループを変更する

グループを変更するには、 groupmod 構文を使用します-

$ groupmod -n new_modified_group_name old_group_name

developers_2グループ名をdeveloperに変更するには、次のように入力します-

$ groupmod -n developer developer_2

財務GIDを545に変更する方法は次のとおりです-

$ groupmod -g 545 developer

グループを削除する

これで、グループを削除する方法を理解できます。 既存のグループを削除するために必要なのは、* groupdelコマンド*と group name だけです。 金融グループを削除するには、コマンドは-

$ groupdel developer

これにより、グループのみが削除され、そのグループに関連付けられたファイルは削除されません。 ファイルには、所有者が引き続きアクセスできます。

アカウントを作成する

Unixシステムで新しいアカウントを作成する方法を見てみましょう。 以下は、ユーザーのアカウントを作成するための構文です-

useradd -d homedir -g groupname -m -s shell -u userid accountname

次の表は、パラメータを示しています-

Sr.No. Option & Description
1

-d homedir

アカウントのホームディレクトリを指定します

2

-g groupname

このアカウントのグループアカウントを指定します

3

-m

ホームディレクトリが存在しない場合は作成します

4

-s shell

このアカウントのデフォルトのシェルを指定します

5

-u userid

このアカウントのユーザーIDを指定できます

6

accountname

作成される実際のアカウント名

パラメータを指定しない場合、システムはデフォルト値を使用します。 useradd コマンドは、 /etc/passwd/etc/shadow 、および /etc/group ファイルを変更し、ホームディレクトリを作成します。

アカウント mcmohd を作成し、そのホームディレクトリを /home/mcmohd に設定し、グループを developers として設定する例を次に示します。 このユーザーにはKorn Shellが割り当てられます。

$ useradd -d/home/mcmohd -g developers -s/bin/ksh mcmohd

上記のコマンドを発行する前に、 _ groupadd_ コマンドを使用して_developers_グループが既に作成されていることを確認してください。

アカウントが作成されたら、次のように passwd コマンドを使用してパスワードを設定できます-

$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
*_passwd accountname_* と入力すると、スーパーユーザーであればパスワードを変更するオプションが表示されます。 それ以外の場合は、アカウント名を指定せずに同じコマンドを使用してパスワードのみを変更できます。

アカウントを変更する

*usermod* コマンドを使用すると、コマンドラインから既存のアカウントに変更を加えることができます。 *useradd* コマンドと同じ引数に加えて、アカウント名を変更できる-l引数を使用します。

たとえば、アカウント名 mcmohdmcmohd20 に変更し、それに応じてホームディレクトリを変更するには、次のコマンドを発行する必要があります-

$ usermod -d/home/mcmohd20 -m -l mcmohd mcmohd20

アカウントを削除する

*userdel* コマンドを使用して、既存のユーザーを削除できます。 注意して使用しない場合、これは非常に危険なコマンドです。

アカウントのホームディレクトリとメールファイルを削除するために、コマンド .r で使用できる引数またはオプションは1つだけです。

たとえば、アカウント_mcmohd20_を削除するには、次のコマンドを発行します-

$ userdel -r mcmohd20

バックアップのためにホームディレクトリを保持する場合は、*-r *オプションを省略します。 必要に応じて、後でホームディレクトリを削除できます。