1. 程式人生 > >關於nginx和php-fpm的修改使用者和使用者組的問題

關於nginx和php-fpm的修改使用者和使用者組的問題

修改nginx和php-fpm的使用者和使用者組時除了修改

nginx.conf 下的

user *****

和/etc/php-fpm.d/www.conf下的

user = ****

group = ****

修改上面之後,重啟nginx和php-fpm,ps -ef|grep  ...  會發現應用的使用者和使用者組變了,但是這還能算萬事大吉

還要修改一下一些目錄下的許可權

(以 修改的使用者和使用者組為nobody為例)

1. 如 nginx的日誌目錄  /var/log/nginx           chown -R nobody:nobody /var/log/nginx     否則不能不能讀寫access.log 和errorlog

2. 還有 上傳檔案用到的一個路徑 /var/lib/nginx/tmp/     chown -R nobody:nobody /var/lib/nginx  否則上傳檔案出錯,因為儲存不了上傳的臨時檔案

3.還有的就是php-fpm的配置檔案中

php_value[session.save_handler] = files

php_value[session.save_path] = /var/lib/php/session

設定的session儲存的路徑,如果你修改了php-fpm的使用者和使用者組,重啟之後,你會發現什麼登陸狀態,驗證碼都儲存不了,沒錯session沒儲存,因為沒有修改上面儲存session路徑的許可權

所以應該   讓你修改的使用者擁有/var/lib/php/session的讀寫許可權,chown 或者chmod 反正讓php-fpm的應用使用者有許可權訪問就可以了

擴充套件:

“ nobody就是一個普通賬戶,因為預設登入shell是 '/sbin/nologin',所以這個使用者是無法直接登入系統的,也就是黑客很難通過漏洞連線到你的伺服器來做破壞。此外這個使用者的許可權也給配置的很低。因此有比較高的安全性。一切都只給最低許可權。這就是nobody存在的意義。”

檢視linux使用者列表

cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more


檢視nobody使用者所在的組,以及組內成員  groups nobody 

檢視所有使用者組        cat  /etc/group