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