例 2:允許 httpd 訪問 sendmail
這是一個(gè) SELinux 管理一個(gè)進(jìn)程來訪問另一個(gè)進(jìn)程的例子。假如在你的 RHEL 7 服務(wù)器上,你要為 Apache 配置 mod_security 和 mod_evasive,你需要允許 httpd 訪問 sendmail,以便在遭受到 (D)DoS 攻擊時(shí)能夠用郵件來提醒你。在下面的命令中,如果你不想使得更改在重啟后仍然生效,請去掉 -P
選項(xiàng)。
# semanage boolean -1|grep httpd_can_sendmail
# setsebool -P httpd_can_sendmail 1
# semanage boolean -1|grep httpd_can_sendmail
允許 Apache 發(fā)送郵件
從上面的例子中,你可以知道 SELinux 布爾設(shè)定(或者只是布爾值)分別對應(yīng)于 true 或 false,被嵌入到了 SELinux 策略中。你可以使用 semanage boolean -l
來列出所有的布爾值,也可以管道至 grep 命令以便篩選輸出的結(jié)果。
例 3:在一個(gè)特定目錄而非默認(rèn)目錄下提供一個(gè)靜態(tài)站點(diǎn)服務(wù)
假設(shè)你正使用一個(gè)不同于默認(rèn)目錄(/var/www/html
)的目錄來提供一個(gè)靜態(tài)站點(diǎn)服務(wù),例如 /websites
目錄(這種情形會出現(xiàn)在當(dāng)你把你的網(wǎng)絡(luò)文件存儲在一個(gè)共享網(wǎng)絡(luò)設(shè)備上,并需要將它掛載在 /websites 目錄時(shí))。
a). 在 /websites 下創(chuàng)建一個(gè) index.html 文件并包含如下的內(nèi)容:
SELinux test
假如你執(zhí)行
#ls-lZ /websites/index.html
你將會看到這個(gè) index.html 已經(jīng)被標(biāo)記上了 default_t SELinux 類型,而 Apache 不能訪問這類文件:
檢查 SELinux 文件的權(quán)限
b). 將 /etc/httpd/conf/httpd.conf
中的 DocumentRoot 改為 /websites,并不要忘了 更新相應(yīng)的 Directory 塊。然后重啟 Apache。
c). 瀏覽 //
,則你應(yīng)該會得到一個(gè) 503 Forbidden 的 HTTP 響應(yīng)。
d). 接下來,遞歸地改變 /websites 的標(biāo)志,將它的標(biāo)志變?yōu)?httpd_sys_content_t
類型,以便賦予 Apache 對這些目錄和其內(nèi)容的只讀訪問權(quán)限:
# semanage fcontext -a -t httpd_sys_content_t"/websites(/.*)?"
e). 最后,應(yīng)用在 d) 中創(chuàng)建的 SELinux 策略:
# restorecon -R -v /websites
現(xiàn)在重啟 Apache 并再次瀏覽到 //
,則你可以看到被正確展現(xiàn)出來的 html 文件:
確認(rèn) Apache 頁面
2015職稱計(jì)算機(jī)考試書PowerPoint2007中 .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書籍 | |
2015年全國職稱計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書籍 |