SUSE Linux 系統權限與 AppArmor & SELinux
在 SUSE Linux 系統中,預設使用 AppArmor 作為強制存取控制(MAC)框架,也可選用 SELinux。本指南將說明 SUSE 上的傳統權限管理、AppArmor 用法、以及 SELinux 的安裝與設定。
目錄
檔案與目錄權限管理
SUSE 使用標準 Unix 權限:讀(r)、寫(w)、執行(x)。
檢視權限
ls -l /path/to/file_or_dir
修改權限 (chmod
)
sudo chmod 644 example.txt
sudo chmod 755 script.sh
修改擁有者與群組 (chown
)
sudo chown user1:group1 example.txt
sudo chown -R user1:group1 /srv/www/
使用者與群組管理
建立使用者與設定密碼
sudo useradd -m alice
sudo passwd alice
刪除使用者
sudo userdel -r alice
建立與管理群組
sudo groupadd devops
sudo usermod -aG devops alice
ACL(存取控制清單)
細緻權限控制:
安裝工具
sudo zypper install acl
檢視 ACL
getfacl example.txt
設定 ACL(允許 bob 讀取)
sudo setfacl -m u:bob:r example.txt
AppArmor 基本概念與管理
SUSE 預設使用 AppArmor,封裝應用於「路徑」基礎的策略。
查看狀態
sudo aa-status
切換模式
sudo aa-enforce /usr/sbin/apache2
sudo aa-complain /usr/sbin/apache2
啟用/停用 Profile
sudo aa-disable /etc/apparmor.d/usr.sbin.apache2
sudo aa-enable /etc/apparmor.d/usr.sbin.apache2
重新載入 Profile
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.apache2
使用 YaST2 管理
- 執行:
sudo yast2
- 選擇 Security and Users → AppArmor Profiles
SELinux 支援與設定
雖然 SUSE 以 AppArmor 為主,也可自行安裝並啟用 SELinux。
安裝套件
sudo zypper install selinux-policy-base policycoreutils setools
啟用 SELinux
編輯 /etc/selinux/config
:
SELINUX=enforcing
SELINUXTYPE=targeted
保存後重啟:sudo reboot
驗證狀態
sestatus
管理工具
- 切換模式:
sudo setenforce 0|1
- 調整上下文:
sudo chcon -t httpd_sys_content_t /srv/www/htdocs -R
- 還原預設:
sudo restorecon -Rv /srv/www/htdocs
結語
本指南涵蓋 SUSE Linux 上的檔案權限、ACL、AppArmor 管理與可選的 SELinux 支援。依需求選擇「AppArmor」或「SELinux」作為 MAC 框架,以提升系統安全。