如果你安裝完Apace或是nginx等服務都不能正常讀寫或操作怎麼辦?
SeLinux是Security-Enhanced Linux的縮寫,表示“安全增強型Linux”,他是美國國家安全局在linux開源社區幫助下開發的MAC的安全子系統,其中MAC表示“強制訪問控制”,指一種由操作系統約束的訪問控制程序。
傳說中的界面
真實生産環境,一般都有前置堡壘機 在做測試或實驗時,如果不關,很多服務都不能正常訪問比如nginx apach等等服務都會被selinux 攔截
一般安裝linux課程時都把SELinux與iptables安排在後面,使初學者配置linux服務器時不成功,卻沒有頭緒,那是因為在RedHatlinux操作系統中默認開啟了防火牆,SELinux也處于啟動狀态,一般狀态為enforing。緻使很多服務端口默認是關閉的。
所以好多服務初學者明明配置文件正确,等驗證時有時連ping也ping不通。建議初學者在未學到SELlinux與iptables之前,配置服務器把這兩項都關掉。
iptables -F 清除防火牆規則
systemctl stop firewalld 關閉防火牆服務
systemctl disable firewalld 開機禁用防火牆服務
怎麼查看SElinux狀态呢?getenforce命令
CentOS系統如何快速關閉SELINUX
我們經常由于CentOS系統默認系統的安全性配置導緻些莫名其妙的問題,比如SElinux本來是用于安全子系統的權限控制,可是搞不好就發現限制多多,我們可以用如下方法快速關閉SElinux。
/usr/sbin/setenforce 0 立刻關閉SELINUX(0)并不是關閉而是把SELINUX的模式調整為寬容模式(permissive)這個模式就隻是記錄并提示風險
當SeLinux選permissive(寬容模式)後,系統認為SeLinux有效,就能正常登錄。而且,對系統資源的管控也隻是打印警告信息,不作實質性的限制,在開發者非要關閉SeLinux的情況下,我們可以用permissive模式代替disabled,不會影響程序的正常運行。
/usr/sbin/setenforce 1 立刻啟用 SELINUX
加到系統默認啟動裡面
echo "/usr/sbin/setenforce 0" >> /etc/rc.local
-----------------------------------
SELinux 寬容模式(permissive) 強制模式(enforcing) 關閉(disabled) 幾種模式之間的轉換...
vi /etc/selinux/config(也朋友們說是/etc/sysconfig/selinux文件,其實兩個之間是鍊接關系,随便改其中一個,另一個也改了)
自動化部署安裝linux時一定要
**說明:**修改config文件後,需要重啟實例,但直接重啟實例将會出現系統無法啟動的錯誤。因此在重啟之前需要在根目錄下新建autorelabel文件。
在根目錄下新建隐藏文件autorelabel,實例重啟後,SELinux會自動重新标記所有系統文件。
touch /.autorelabel
否則就會導緻系統無法啟動,隻能進行恢複模式了,如果是虛拟機可以恢複快照
風險點
由于SeLinux會限制部分系統資源訪問權限,所以很多開發者很喜歡禁用SeLinux,在布署程序的自動化角本中,也默認加入了禁用SeLinux的代碼。這樣會導緻用戶在安裝Centos7的計算機上所有帳号都無法登錄(包括root),但使用SecureCRT等軟件連Ssh卻可以正常登錄。這還是會造成較大風險,一旦網絡環境變化,該機器就會變成一個誰都無法登錄的機器。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!