SELinux(Security-Enhanced Linux)是 Linux 內(nèi)核中的一個安全模塊,提供了訪問控制安全策略。要更改 SELinux 策略,你可以使用 semanage
和 restorecon
命令。
以下是使用這兩個命令進(jìn)行策略變更的基本步驟:
policycoreutils-python
軟件包,因為 semanage
命令依賴于它。在基于 Debian 的系統(tǒng)上,可以使用以下命令安裝:sudo apt-get install policycoreutils-python
在基于 RHEL 的系統(tǒng)上,可以使用以下命令安裝:
sudo yum install policycoreutils-python
semanage
命令創(chuàng)建新的策略。例如,要創(chuàng)建一個名為 my_custom_policy
的新策略,可以運(yùn)行以下命令:sudo semanage fcontext -a -t httpd_sys_rw_content_t "/path/to/your/custom/directory(/.*)?"
這將允許對 /path/to/your/custom/directory
及其子目錄的讀寫訪問。請根據(jù)需要修改路徑和權(quán)限。
semanage
命令更新現(xiàn)有策略。例如,要將新創(chuàng)建的策略應(yīng)用到現(xiàn)有文件,可以運(yùn)行以下命令:sudo semanage fcontext -u -t httpd_sys_rw_content_t "/path/to/your/custom/directory(/.*)?"
restorecon
命令應(yīng)用更改。首先,確定要恢復(fù)的文件或目錄的上下文類型??梢允褂?ls -Z
命令查看現(xiàn)有上下文類型。例如,要查看 /path/to/your/custom/directory
的上下文類型,可以運(yùn)行以下命令:ls -Z /path/to/your/custom/directory
假設(shè)上下文類型為 httpd_sys_rw_content_t
,則可以使用以下命令恢復(fù)更改:
sudo restorecon -Rv /path/to/your/custom/directory
這將遞歸地恢復(fù) /path/to/your/custom/directory
及其子目錄的權(quán)限。
sudo systemctl restart apache2
對于 Nginx,可以使用以下命令:
sudo systemctl restart nginx
現(xiàn)在,您已成功更改了 SELinux 策略。