溫馨提示×

Ubuntu SELinux如何控制文件訪問

小樊
64
2025-06-13 07:52:57
欄目: 智能運維

SELinux(Security-Enhanced Linux)是一種在Linux系統上實現強制訪問控制(MAC)的安全模塊。它通過定義一套規則來限制進程對文件、網絡和其他資源的訪問。在Ubuntu系統中,SELinux默認是禁用的,但你可以通過以下步驟啟用并配置它來控制文件訪問。

啟用SELinux

  1. 安裝SELinux包

    sudo apt update
    sudo apt install selinux-basics selinux-policy-default
    
  2. 啟用SELinux

    sudo selinux-activate
    
  3. 驗證SELinux狀態

    sestatus
    

    你應該看到SELinux status: enabled。

配置SELinux

SELinux的配置文件位于/etc/selinux/config。你可以編輯這個文件來更改SELinux的模式。

sudo nano /etc/selinux/config

SELINUX=enforcing改為SELINUX=disabled可以禁用SELinux,或者改為SELINUX=permissive可以在不強制執行規則的情況下運行SELinux。

使用SELinux控制文件訪問

SELinux通過標簽(labels)來控制文件和目錄的訪問。每個文件和目錄都有一個SELinux標簽,SELinux策略使用這些標簽來決定是否允許訪問。

  1. 查看文件和目錄的SELinux標簽

    ls -Z
    
  2. 更改文件或目錄的SELinux標簽

    sudo chcon user_home_t /path/to/file_or_directory
    

    這里user_home_t是一個示例標簽,你可以根據需要選擇合適的標簽。

  3. 永久更改文件或目錄的SELinux標簽

    sudo chcon -R user_home_t /path/to/file_or_directory
    
  4. 使用restorecon命令恢復默認標簽

    sudo restorecon -Rv /path/to/file_or_directory
    

示例策略

假設你想限制某個用戶只能訪問其主目錄中的文件,你可以創建一個自定義的SELinux策略。

  1. 安裝policycoreutils-python-utils

    sudo apt install policycoreutils-python-utils
    
  2. 生成自定義策略模塊

    sudo ausearch -c 'user_home_access' --raw | audit2allow -M mypol
    
  3. 加載自定義策略模塊

    sudo semodule -i mypol.pp
    
  4. 驗證策略是否生效

    sudo ausearch -m avc -ts recent
    

通過這些步驟,你可以啟用并配置SELinux來控制文件訪問,從而提高系統的安全性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女