小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

<nginx.conf> nginx用戶權(quán)限

 waitingnothing 2018-04-25

Nginx用戶權(quán)限

在nginx.conf文件的第一行一般是設(shè)置用戶的地方(編譯安裝nginx時的參數(shù)--user=<user>也是指定用戶的地方),如 user www www;

如不指定默認是nobody. 這里用戶的設(shè)置又有什么意義呢?主要是指定執(zhí)行nginx的worker process的用戶,linux里所有程序都是文件,都具有權(quán)限問題,這個指定的用戶對特定的文件有沒有權(quán)限訪問或執(zhí)行,就是這個用戶的意義。

一、本人遇到問題

1.1 問題描述

不想讓請求直接訪問到具體頁面,只是列出目錄內(nèi)的文件列表。于是把proxy_pass參數(shù)去掉,配置autoindex on,然后指定root目錄??稍L問后返回403,沒有權(quán)限。

1.2 問題解決

猜測是用戶原因,因為是默認的nobody,沒有訪問目錄權(quán)限,然后指定有權(quán)限的用戶,ok了。

二、網(wǎng)上類似問題

例一:403錯誤,沒有權(quán)限

參考:

http://www./os/201306/218538.html

http://www./os/201203/122371.html

有時候當(dāng)Nginx讀取本地目錄時會收到403錯誤,權(quán)限問題。

先來了解一下 Nginx的用戶管理 :

(1) Nginx在以Linux service腳本啟動時,通過start-stop-domain啟動,會以root權(quán)限運行daemon進程。

(2) 然后daemon進程讀取/etc/nginx/nginx.conf文件中的user配置選項,默認這里的user=nginx,也就是用nginx用戶啟動worker process。403錯誤就是因為nginx用戶沒有權(quán)限訪問我當(dāng)前開發(fā)用的用戶目錄,/home/dean/work/resources。

解決方法是將user=nginx替換成root,然后重新啟動nginx,可以了。

其他方法也試過,比如給/home/dean/work/resources目錄設(shè)置777權(quán)限,比如將nginx用戶加入root組,都不行。所以當(dāng)開發(fā)的時候,就用user=root配置吧。至于產(chǎn)品環(huán)境下,resouces目錄完全可以放到nginx用戶目錄下,所以問題不大。

舉例2:訪問速度慢

http://www.ahfyzs.com/content/12/0914/16/1073512_236099670.shtml

在說問題前,先掃下盲,關(guān)于linux下的nobody用戶:

nobody 是系統(tǒng)用戶,是一個不能登陸的賬號,一個特殊用途的用戶 ID ,一些服務(wù)進程如apache,aquid等都采用一些特殊的賬號來運行,比如nobody,news,games等等。一般來說 uid < 500 的都是系統(tǒng) ID 。

Linux 系統(tǒng)為了安全,很多操作和服務(wù)的運行都不是運行在 root 用戶下面的,而是一個專用的 ID ,這個 ID 一般就是 nobody ,這樣就可以把每個服務(wù)運行的情況隔離出來。保證不會因為服務(wù)器程序的問題而讓服務(wù)器程序成了黑客的直接操作源(黑客拿下了服務(wù)器程序,也僅僅是 nobody 用戶而不是 root 用戶)。同時也不會影響其他用戶的數(shù)據(jù)。

服務(wù)器程序提權(quán)有專用的辦法來防止惡意使用的。

除了 nobody ,常見的還有 ftp 、ssh 什么的。有的不是用來跑服務(wù),而是用來占坑,主要是用用戶組的權(quán)限管理進行權(quán)限設(shè)置,這個時候會有一個占坑用的同名 ID 加入到用戶組。這種情況好像主要是為了兼容。

問題描述:

上午業(yè)務(wù)人員反映,系統(tǒng)響應(yīng)很慢,界面要刷新很久才出得來。查后臺也沒有報什么錯,我們系統(tǒng)是用nginx做負載均衡。慣性地不走負載均衡而直接訪 問單節(jié)點應(yīng)用,發(fā)現(xiàn)響應(yīng)很快,很正常。初步定位問題出在nginx上,然后查nginx日志,發(fā)現(xiàn)有很多錯誤,錯誤中有“13: Permission denied”這個信息,明顯是權(quán)限問題,很奇怪,之前運行都很正常啊。后來一問才知道,維護人員做了操作。

系統(tǒng)上nginx安裝時使用的是root用戶,也是用root用戶啟動的,所以要修改配置的時候需要使用root用戶,管理上不方便,所以維護人員 心血來潮修改了nginx的權(quán)限(后來知道他是使用這個命令修改的權(quán)限chown -R user:group $nginxdir)。就是將nginx的用戶和組都換掉了,但是這樣為什么會造成“響應(yīng)慢”呢?

問題原因及解決:

前面提到在linux上有些應(yīng)用程序的一些進程會默認使用nobody這個用戶來啟動,以保安全。nginx有兩種進程,除主進程之外的工作進程都 是用nobody這個用戶啟動的(nginx工作進程的數(shù)量使用worker_processes這個參數(shù)來設(shè)定)。而工作進程要訪問nginx下這兩個 目錄client_body_temp和proxy_temp(這兩個目錄按我的理解是緩存一些靜態(tài)文件,比如圖片或者css文件什么的,以提高 nginx訪問速度),權(quán)限變更后,造成工作進程訪問不了這兩個目錄下的內(nèi)容,造成某些圖片和連接打不開,就像響應(yīng)很慢一樣。將權(quán)限變更一下就OK了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多