開啟Selinux遇到的坑及解決
事故起因
由于SeLinux會限制部分系統(tǒng)資源訪問權限,所以很多開發(fā)者很喜歡禁用SeLinux,在布署程序的自動化角本中,也默認加入了禁用SeLinux的代碼。
這樣會導致用戶在安裝Centos7的計算機上所有帳號都無法登錄(包括root),但使用SecureCRT等軟件連Ssh卻可以正常登錄。
這還是會造成較大風險,一旦網絡環(huán)境變化,該機器就會變成一個誰都無法登錄的機器。
開啟SELinux
實例上運行以下命令,編輯SELinux的config文件。
vi /etc/selinux/config
找到SELINUX=disabled,按i進入編輯模式,通過修改該參數(shù)開啟SELinux。
您可以根據需求修改參數(shù),開啟SELinux有以下兩種模式:
- 強制模式SELINUX=enforcing:表示所有違反安全策略的行為都將被禁止。
- 寬容模式SELINUX=permissive:表示所有違反安全策略的行為不被禁止,但是會在日志中作記錄。
修改完成后,按下鍵盤Esc鍵,執(zhí)行命令:wq,保存并退出文件。
**說明:**修改config文件后,需要重啟實例,但直接重啟實例將會出現(xiàn)系統(tǒng)無法啟動的錯誤。因此在重啟之前需要在根目錄下新建autorelabel文件。
在根目錄下新建隱藏文件autorelabel,實例重啟后,SELinux會自動重新標記所有系統(tǒng)文件。
touch /.autorelabel
驗證SELinux狀態(tài)
運行命令getenforce,驗證SELinux狀態(tài)。
返回狀態(tài)應為enforcing或者permissive,本教程當前狀態(tài)為enforcing。
運行命令sestatus,獲取更多SELinux信息。
參數(shù)信息SELinux status顯示為enabled,表示SELinux已啟動。
關閉SELinux
1.運行命令getenforce,驗證SELinux狀態(tài)
- 返回狀態(tài)如果是enforcing,表明SELinux已開啟。
2.選擇臨時關閉或者永久關閉SELinux。
- 執(zhí)行命令setenforce 0臨時關閉SELinux。
- 永久關閉SElinux。
a.運行以下命令,編輯SELinux的config文件。
vi /etc/selinux/config
b.找到SELINUX=enforcing,按i進入編輯模式,將參數(shù)修改為SELINUX=disabled
修改完成后,按下鍵盤Esc鍵,執(zhí)行命令:wq,保存并退出文件。
當SeLinux選permissive(寬容模式)后,系統(tǒng)認為SeLinux有效,就能正常登錄。
而且,對系統(tǒng)資源的管控也只是打印警告信息,不作實質性的限制,在開發(fā)者非要關閉SeLinux的情況下,我們可以用permissive模式代替disabled,不會影響程序的正常運行。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
在Apache服務器上利用Varnish優(yōu)化移動端訪問的方法
這篇文章主要介紹了在Apach服務器上利用Varnish優(yōu)化移動端訪問的方法,包括清除緩存等常用操作的介紹,需要的朋友可以參考下2015-06-06Logrotate實現(xiàn)Catalina.out日志每倆小時切割示例
Logrotate是一個日志文件管理工具,它是Linux默認自帶的一個日志切割工具。本篇文章主要介紹了Logrotate實現(xiàn)Catalina.out日志每倆小時切割示例,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助2019-02-02linux(center OS7)安裝JDK、tomcat、mysql 搭建java web項目運行環(huán)境
這篇文章主要介紹了linux(center OS7)安裝JDK、tomcat、mysql 搭建java web項目環(huán)境,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12