關於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