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引数を追加します。
たとえば、アカウント名を変更するには mcmohd に mcmohd20 それに応じてホームディレクトリを変更するには、次のコマンドを発行する必要があります-
$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20
アカウントを削除する
ザ・ userdelコマンドを使用して、既存のユーザーを削除できます。注意して使用しないと、これは非常に危険なコマンドです。
コマンドに使用できる引数またはオプションは1つだけです .r、アカウントのホームディレクトリとメールファイルを削除します。
たとえば、アカウントmcmohd20を削除するには、次のコマンドを発行します-
$ userdel -r mcmohd20
バックアップのためにホームディレクトリを保持する場合は、 -rオプション。後で必要に応じてホームディレクトリを削除できます。