ホームページ >運用・保守 >Linuxの運用と保守 >Linux でロールベースのアクセス制御 (RBAC) を構成する方法

Linux でロールベースのアクセス制御 (RBAC) を構成する方法

WBOY
WBOYオリジナル
2023-07-05 15:37:141283ブラウズ

Linux でロールベースのアクセス制御 (RBAC) を構成する方法

はじめに:
マルチユーザー環境では、システムのセキュリティとデータ プライバシーを確​​保することが重要なタスクになります。 Linux システムでは、ユーザーのアクセス許可とリソース アクセスを管理するためにロールベースのアクセス制御 (RBAC) が広く使用されています。この記事では、Linux システムで RBAC を構成する方法を紹介し、読者が実装プロセスをよりよく理解できるようにいくつかのコード例を示します。

ステップ 1: 必要なソフトウェア パッケージをインストールする
まず、RBAC 機能を有効にするために必要なソフトウェア パッケージをインストールする必要があります。次のコマンドを使用して、SELinux (Security Enhanced Linux) と PAM (Pluggable Authentication Modules) を Linux システムにインストールします。

sudo apt-get install selinux pam

インストールが完了したら、次のステップに進むことができます。

ステップ 2: ユーザーとロールを作成する
Linux システムでは、各ユーザーを 1 つ以上のロールに割り当てることができます。 adduser コマンドを使用して新しいユーザーを作成し、usermod コマンドを使用してユーザーを対応するロールに追加できます。

sudo adduser user1
sudo usermod -aG role1 user1

上記のコードでは、user1 という名前の新しいユーザーを作成し、role1 という名前のロールに追加します。ニーズに応じて、さらに多くのユーザーとロールを作成できます。

ステップ 3: ロール ポリシー ファイルを構成する
ロール ポリシー ファイルは、各ロールのアクセス許可とリソース アクセス ポリシーを定義します。テキスト エディタを使用して /etc/selinux/policy.conf ファイルを開き、ロール ポリシーを追加します。

sudo nano /etc/selinux/policy.conf

次の内容をファイルの最後に追加します。

role role1 types type1, type2, type3

上記のコードでは、role1 という名前のロールと、そのロールがアクセスできるリソースの種類を定義します。

ステップ 4: PAM モジュールを構成する
PAM モジュールは、ユーザーの認証と認可に使用されるプラグ可能な認証モジュールです。テキスト エディタを使用して /etc/pam.d/common-auth ファイルを開き、PAM モジュール構成を追加します。

sudo nano /etc/pam.d/common-auth

次の内容をファイルの先頭に追加します。

auth [success=done new_authtok_reqd=ok default=ignore] pam_selinux_permit.so
auth required pam_deny.so

上記のコードでは、pam_selinux_permit.so モジュールを使用して、SELinux がアクセス許可を設定できるようにします。 so モジュールは、アクセス権を持たないユーザーの承認を禁止します。

ステップ 5: システムを再起動する

上記の構成が完了したら、RBAC 構成を有効にするために Linux システムを再起動する必要があります。

sudo reboot

再起動後、RBAC 機能が有効になり、ユーザーはロールのアクセス権に従って認可されます。

コード例:

次に、RBAC を使用してユーザー権限制御を構成する方法を示す簡単な RBAC コード例を示します。

import os

def check_access(user, resource):
    output = os.system("id -Z")
    if user in output and resource in allowed_resources:
        return True
    else:
        return False

user = "user1"
allowed_resources = ["file1", "file2", "file3"]

if check_access(user, "file2"):
    print("用户有权限访问资源")
else:
    print("用户无权限访问资源")

上記のコードでは、

check_access 関数を使用して、ユーザーがリソースにアクセスする権限を持っているかどうかを確認します。ユーザーが指定されたロールに属しており、必要なリソースがアクセスを許可されたリソースのリストにある場合、関数は True を返し、それ以外の場合は False を返します。

結論:

ロールベースのアクセス制御 (RBAC) を構成することで、ユーザーのアクセス許可とリソース アクセスをより適切に管理し、システムのセキュリティとデータ プライバシーを向上させることができます。この記事では、Linux システムで RBAC を構成する手順を紹介し、読者が実装プロセスをよりよく理解できるように簡単なコード例を示します。リーダーは、独自のニーズに応じて RBAC 構成を拡張および変更し、より正確な権限制御を実現できます。

以上がLinux でロールベースのアクセス制御 (RBAC) を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。