Nginx因Selinux服務導致無法遠端訪問

2021-07-14 14:35:41 字數 3664 閱讀 4002

本文暫且叫這個名吧,因為不是很理解 selinux ,也許你有更好的辦法請告知我!

一、問題現象

nginx 啟動後本機可以正常訪問,使用curl 命令可以獲取預設 index.

html

,其他介面均不可訪問。遠端訪問伺服器時提示 400 bad request 資訊,檢查nginx使用者許可權和埠都正常,iptables 未啟動。?

檢查目錄時發現目錄許可權字尾都有個點。

注意觀察 html 目錄下 50x.html 、default.html、index.html 這三個檔案許可權後的點以及 welcome.html 檔案許可權的差別。

二、問題分析

谷歌、度娘一番,最終結論為 selinux 保護目錄都會在檔案以及資料夾後有個點

查詢 selinux 狀態?

1

2

3

4

5

6

7

$ sestatus

selinux status:                 enabled

selinuxfs mount:                /selinux

current mode:                   enforcing

mode from config file:          enforcing

policy version:24

policy from config file:        targeted

查詢 selinux 執行模式?

1

2

$ getenforce

enforcing

執行模式分為三種 enforcing (強制模式)、permissive(寬容模式)、disabled(關閉)

三、問題處理

既然分析問題可能出在 selinux ,那就嘗試修復,修復方式分為兩種臨時修復和永久修復!

臨時修復,網上盛傳方式。?

1

2

# setenforce0#關閉 selinux

# setenforce1#開啟 selinux

實際上可以執行下試試效果,本人執行結果是在 enforcing 模式與 permissive 模式之間來回切換而已無任何效果,如果本人理解錯誤,請指教!

永久方式,確實可用,需要重啟伺服器!

1、修改 /etc/selinux/config 檔案?

1

# vim /etc/selinux/config

2、修改 selinux=disabled ,修改後內容?

1

2

3

4

5

6

7

8

9

10

# this file controls the state of selinux on the system.

# selinux= can take one of these three values:

#       enforcing - selinux security policy is enforced.

#       permissive - selinux prints warnings instead of enforcing.

#       disabled - selinux is fully disabled.

selinux=disabled

# selinuxtype= type of policy in use. possible values are:

#       targeted - only targeted network daemons areprotected.

#       strict - full selinux protection.

selinuxtype=targeted

3、重啟電腦檢視 selinux 狀態,應該為關閉狀態?

1

2

$ getenforce

disabled

四、問題總結

1、未停止 selinux 服務時,檔案新增、修改目錄都是帶著點的,參見 default.html 和 index.html。

2、停止 selinux 服務後,檔案新增將不受 selinux 服務保護,也就是不帶點了,參見 welcome.html。

**

關閉selinux服務

首先我們可以用命令來檢視selinux的狀態 getenforce這個命令可以檢視到selinux的狀態,當前可以看到是關閉狀態的。還有乙個命令也可以檢視出selinux的狀態。sestatus v 還有乙個setenforce 命令可以設定selinux的狀態,具體可以檢視man 8 setenf...

網絡卡設定 服務啟動 selinux啟動關閉

使用這個命令可以更簡單的設定網絡卡,而卻不用安裝,但是我依然不推薦,因為如果再次接觸的centos7或者是ubuntu時候你會依賴上這個命令,所以在我的知識體系中已經遺忘了這個命令。systemctl restart network 重啟網絡卡的命令就是這個 vi etc sysconfig net...

nginx服務安裝

linux系統 centos 6.4x64 nginx版本 1.7.8 1 安裝prce 重定向支援 和openssl https支援,如果不需要https可以不安裝。yum y install pcre yum y install openssl centos 6.5 我安裝的時候是選擇的 基本伺...