Unix / Linux-ユーザー管理

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

Unixシステムには3つのタイプのアカウントがあります-

ルートアカウント

これは、 superuserそして、システムを完全かつ自由に制御できるでしょう。スーパーユーザーは、制限なしで任意のコマンドを実行できます。このユーザーは、システム管理者と見なす必要があります。

システムアカウント

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

ユーザーアカウント

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

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

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

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

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

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

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

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

を使用して上記のすべてのファイルを確認してください cat コマンド。

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

シニア番号 コマンドと説明
1

useradd

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

2

usermod

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

3

userdel

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

4

groupadd

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

5

groupmod

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

6

groupdel

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

マンページヘルプを使用して、ここに記載されている各コマンドの完全な構文を確認できます。

グループを作成する

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

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

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

次の表にパラメータを示します-

シニア番号 オプションと説明
1

-g GID

グループのIDの数値

2

-o

このオプションを使用すると、一意でないGIDを持つグループを追加できます

3

-r

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

4

-f

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

5

groupname

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

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

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

$ 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 command そしてその group name。財務グループを削除するには、コマンドは次のとおりです。

$ groupdel developer

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

アカウントを作成する

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

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

次の表にパラメータを示します-

シニア番号 オプションと説明
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。このユーザーには、KornShellが割り当てられています。

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

上記のコマンドを発行する前に、を使用して作成された開発者グループがすでにあることを確認してくださいgroupadd コマンド。

アカウントが作成されると、を使用してそのパスワードを設定できます 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コマンドを使用して、既存のユーザーを削除できます。注意して使用しないと、これは非常に危険なコマンドです。

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

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

$ userdel -r mcmohd20

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