この記事では、Linux ユーザーを適切に編成することの重要性について説明します。ユーザーの作成と構成方法から始まり、特定のファイルとフォルダーへのアクセスを許可する方法まで、アクセス権について説明します。また、システムを不要なアクティビティから保護するのに役立つ、sudo や SELinux などの重要なセキュリティ ツールについても説明します。
Linux におけるユーザー管理とアクセス権の重要性
Linux の世界では、ユーザー管理とアクセス権が重要な役割を果たします。Linux を、各ユーザーが入居者であり、各ファイルが部屋である大きなアパートだと想像してください。 ユーザー管理 各テナントに固有のキーを割り当てるようなものですが、 アクセス権 部屋の中で何ができるかです。
ユーザーが作成されると、名前と一意の識別子(UID(アパートの個人鍵のような)を所有している。また、ユーザーは a グループヘッド、他のテナントと統合します。 グループ メンバーが共通の特権を共有するクラブのようなものです。
ファイルアクセス権 3つのカテゴリーに分かれています: 所有者 (user), グループヘッド, others各キー (ユーザー) には、各カテゴリに対する読み取り、書き込み、実行の独自の権限を設定できます。たとえば、ファイル所有者には読み取りと書き込みの権限が与えられ、グループには読み取り権限のみが与えられ、その他には何も与えられない、といった具合です。
次のようなセキュリティポリシーには特別な注意が必要です。 sudo (NAIST) と SELinuxのLinux システムで使用されます。 数独 は、通常管理者のみが実行できる特定のタスクを一般ユーザーが一時的にスーパーユーザー(ルート)権限で実行できるようにする特別なコマンドです。これにより、偶発的なエラーやスーパーユーザー権限の誤用を防ぐことができます。 sudo、ユーザーは通常、本人確認のためにパスワードの入力を求められます。その後、ユーザーは、 スーダーズ ファイルにソフトウェアを指定する必要があります。
SELinuxの Linux オペレーティング システムに追加されるセキュリティ レイヤーです。システムで使用できるプログラムとファイルを監視し、侵入や攻撃を防ぐためにそれらへのアクセスを制限します。これにより、ハッキングの試みや悪意のある行為を防ぎ、サーバーのセキュリティが強化されます。
ユーザーの作成と管理
Linuxでユーザーを作成する方法
Linuxユーザーは通常、 useradd コマンド。たとえば、「username」という名前のユーザーを作成するには、次のように入力します。
useradd username
Linux ユーザーのパスワードを設定する方法
ユーザーを作成した後、そのアカウントはパスワードで保護されません。新しいユーザーのパスワードを設定するには、 passwd コマンド:
passwd username
ここで、username はパスワードを設定するユーザーの名前です。
Linux でユーザーのリストを表示する方法
Linuxでターミナルから1つのコマンドでユーザーのリストを表示するには、 cut コマンド:
cut -d: -f1 /etc/passwd
このコマンドは、 /etc/passwd すべてのユーザーに関する情報が含まれるファイル。
特定のユーザーに関する情報を取得するには、次のコマンドを使用します。
id username
これにより、ユーザーの UID, GID, グループ.
Linux ユーザーの削除
ユーザーを削除するには、 userdel コマンド:
userdel username
ただし、このコマンドはユーザーのホームディレクトリ内のファイルを削除しません。それらを削除するには、 -r オプション:
userdel -r username
これにより、ユーザーのユーザー名とホーム ディレクトリおよびその中のすべてのファイルが削除されます。
Linux ユーザーの変更
ユーザーに関する情報を変更するには、 usermod コマンド。ツールは次の構文を使用します。
usermod argument user
可能な引数の完全なリストは、ユーティリティのヘルプに表示されます。
たとえば、ユーザーのホーム ディレクトリを変更するには、次のコマンドを使用します。
usermod -d /new/path/to/directory username
Linux でのユーザー グループの作成と管理
Linux のユーザー グループを使用すると、管理者は同様のアクセス権を持つユーザーをグループ化できます。これにより、アクセス権の管理が容易になり、各ユーザーごとに権限を設定するのではなく、グループ レベルで権限を設定できるため、システムのセキュリティが強化されます。例として、ユーザー admin を持つ開発者グループを考えてみましょう。
Linux でユーザー グループを作成する方法
新しいグループを作成するには、 groupadd 新しいグループの名前を指定したコマンド:
sudo groupadd group_name
この例では、コマンドは次のようになります。
sudo groupadd developers
Linux でユーザー グループを削除する方法
グループを削除するには、 groupdel コマンド:
sudo groupdel group_name
したがって、コマンド:
sudo groupdel developers
という名前のグループを削除します 開発者.
グループへのユーザーの追加
特定のグループにユーザーを追加するには、 usermod コマンド:
sudo usermod -aG group_name user_name
具体的な例を挙げますと、以下の通りです。
sudo usermod -aG developers admin
このコマンドは、 管理人 から 開発者 グループ。
グループからユーザーを削除する
グループからユーザーを削除するには、 脱落者 コマンド:
sudo deluser user_name group_name
ユーザーを削除するコマンド 管理人 開発者 グループ:
sudo deluser admin developers
Linux でのグループ リストの表示
システム内のすべてのグループのリストを表示するには、 cat とのコマンド /etc/group ファイル:
cat /etc/group
このコマンドは、システム内のすべてのグループのリストを表示します。
ユーザーグループメンバーシップの確認
アクションを実行した後、 groups コマンドを使用してユーザーが属するグループを確認できます。
groups user_name
ここまで、Linux でのユーザー グループ管理の基本について説明しました。次は、ファイルとディレクトリへのアクセス権の割り当てについて検討する次の段階に進みましょう。このプロセスにより、特定のファイルとディレクトリに関してユーザーまたはグループが実行できるアクションを決定し、効果的なセキュリティ管理とシステム リソースへのアクセスを確保できます。
ファイルとディレクトリへのアクセス権の割り当て
アクセス権の象徴的な表現
すでに述べたように、Linuxには3つのユーザーカテゴリがあります: 所有者 (user), グループヘッド, othersそれぞれがファイルまたはディレクトリへの特定のアクセス権を持つ場合があります。
- 読み取り (Read - r): ファイルまたはディレクトリの内容を表示できます。
- 書き込み (Write - w): ディレクトリ内のファイルを変更したり、新しいファイルを作成したりすることができます。ディレクトリの場合、そこからファイルを削除することもできます。
- 実行 (Execute - x): ファイルの実行 (実行可能ファイルの場合) またはディレクトリへの移動 (ディレクトリの場合) を許可します。
Linux ファミリー システムでは、アクセス権は 10 文字の文字列で表されます。最初の文字はファイルの種類 (通常のファイル、ディレクトリなど) を示し、残りの XNUMX 文字はユーザー グループごとに XNUMX 文字の XNUMX つのグループです。理解を深めるために、例を考えてみましょう。
アクセス権 -rwxr-xr-- 平均:
- 最初の文字 (-) はファイルの種類 (この場合は通常のファイル) を示します。
- 所有者の 3 文字 (rwx) は、所有者が読み取り、書き込み、および実行の権限を持っていることを示します。
- グループの 3 文字 (rx) は、グループ メンバーに読み取り権限と実行権限のみがあることを示します。
- 他のユーザーを表す 3 文字 (r--) は、他のユーザーがファイルの読み取りのみ可能であることを意味します。
アクセス権は、 chmod コマンドであり、構文は次のようになります。
chmod [options] mode file(s)
どこ:
- [オプション] - ディレクトリとそのサブディレクトリ内のアクセス権を再帰的に変更するための -R などの追加パラメータ。
- mode - どのアクセス権を誰に対して変更するかを指定する特別な文字列。モードは、シンボル (r、w、x) とビット (0 または 1) で指定できます。数値モードも使用できます (これについては後で説明します)
- ファイル - 変更が適用されるファイルまたはディレクトリ。
このユーティリティは非常に強力なツールなので、例としていくつかの基本的なコマンドのみを見ていきます。
ファイルへのアクセス権を変更して、所有者に読み取りと書き込みの権限を与え、グループに読み取り権限のみを与え、他のユーザーには権限を与えないようにします。
chmod u=rw,g=r,o= filename
すべてのユーザーにファイルの読み取りと書き込みのアクセス権を設定します。
chmod a+rw filename
ディレクトリ内のすべてのファイルとサブディレクトリのアクセス権を再帰的に変更します。
chmod -R u+rwx directory
アクセス権の数値表現
数値表現では、各ユーザー カテゴリ (所有者、グループ、その他) に番号があり、これらの番号の組み合わせによって最終的なアクセス権が設定されます。記号表現と同様に、3 つの権限のそれぞれに値がありますが、数値で表されます。
- 読み取り(読み取り) - 値 4
- 書き込み(書き込み) - 値 2
- 実行(実行) - 値 1
数値はユーザーの種類を決定するためにも使用されます。
- ファイル所有者(ユーザー) - 最初の数字
- 所有者のグループ(グループ) - 2桁目
- その他のユーザー(その他) - 3桁目
したがって、ファイル アクセス権の完全な数値表現は 10 桁の数字で構成され、各数字は特定のユーザー カテゴリの権限値の合計を表します。これは、記号表現で XNUMX 文字を使用するよりも便利です。この場合の管理は次のようになります。
chmod XYZ file
コラボレー X, Y, Z それぞれ所有者、グループ、その他のユーザーのアクセス権を表す数字です。
たとえば、所有者にフルアクセス権 (読み取り、書き込み、実行) を付与し、グループと他のユーザーには読み取りと実行のみを許可するには、次のコマンドを使用します。
chmod 755 file
他の例を考えてみましょう:
chmod 700 file
所有者のみが読み取り、書き込み、実行の権限を持ち、グループおよび他のユーザーにはアクセス権がありません。
chmod 644 file
所有者には読み取りと書き込みの権限がありますが、グループと他のユーザーには読み取り権限のみがあります。
chmod 751 file
所有者には完全な権限があり、グループには読み取り権限と実行権限があり、他のユーザーには実行権限のみがあります。
前述したように、このツールは非常に広範な機能を備えています。場合によっては、「ヘルプ」セクションで利用できるオプションだけでは不十分です。
最後の行に注目してください。このコマンドを使用すると、ツールに関するより詳細なドキュメントが開きます。ユーティリティの 公式ウィキペディア Chmod に関する詳細情報を確認できるページです。
結論
Linux ユーザーとその管理は、OS のセキュリティと安定した動作にとって非常に重要です。この記事では、Linux における効果的なユーザーおよびアクセス権管理の重要性について説明し、ユーザーの作成と管理、ユーザー グループの操作、ファイルとディレクトリへのアクセス権の割り当てについて説明しました。