Ubuntu
Ubuntu上的nginx:權限被拒絕
我是系統管理的新手。在 Ubuntu 上通過 puppet安裝 nginx 後,我得到以下輸出:
[alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied) [warn] 1898#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1 [emerg] 1898#0: open() "/var/log/nginx/access.log" failed (13: Permission denied)
我如何擺脫所有這些消息?
我不想直接使用命令行(chown / chmod)並在每次創建新伺服器時重複它。因此,我正在考慮必須添加到木偶清單中的內容。
在這種情況下,最佳系統管理員做法是什麼:更改 /var/log/nginx 的所有者/權限或將日誌儲存在不同的位置?如果 chown / chmod 是要走的路,哪些特定權限可以確保最高級別的安全性?
我試過這個,但它沒有幫助:
file { '/var/log/nginx': ensure => directory, mode => '0755', owner => 'www-data', group => 'www-data', recurse => true }
編輯:
vagrant@precise64:~$ ps aux | grep [n]ginx root 1001 0.0 0.1 62908 1388 ? Ss 08:47 0:00 nginx: master process /usr/sbin/nginx www-data 1002 0.0 0.1 63260 1696 ? S 08:47 0:00 nginx: worker process www-data 1003 0.0 0.1 63260 1696 ? S 08:47 0:00 nginx: worker process www-data 1004 0.0 0.1 63260 1696 ? S 08:47 0:00 nginx: worker process www-data 1005 0.0 0.1 63260 1696 ? S 08:47 0:00 nginx: worker process vagrant@precise64:~$ sudo chown -R www-data:www-data /var/log/nginx; vagrant@precise64:~$ sudo chmod -R 755 /var/log/nginx; vagrant@precise64:~$ ls -l /var/log/nginx/ -rwxr-xr-x 1 www-data www-data 214 Sep 10 11:07 error.log
這可以幫助你。
您收到的消息是由於您以非 root 使用者身份啟動 nginx 或未使用sudo。
要擺脫日誌目錄錯誤,您必須檢查 nginx 以哪個使用者身份執行並授予該文件夾適當的權限(您的 puppet 規則可能授予錯誤的權限)
您報告的警告消息是由以下事實觸發的:(作為警告狀態)“使用者”指令僅在您的 nginx 主程序以 root 身份執行時使用。
我知道已經有一段時間了,但這通常與 SELinux 有關。嘗試將其設置為許可,它可能會正常工作。