Ubuntu 上的 nginx:權限被拒絕

Ubuntu 上的 nginx:權限被拒絕

我是系統管理新手。安裝nginx後透過木偶在 Ubuntu 上我得到以下輸出:

[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

答案1

可以幫助你。

您收到的訊息是由於您以非 root 使用者身分啟動 nginx 或未使用須藤

要消除日誌目錄錯誤,您必須檢查 nginx 正在以哪個使用者身分執行,並為該資料夾授予適當的權限(您的傀儡規則可能向錯誤的使用者授予了權限)

您報告的警告訊息是由以下事實觸發的:(如警告所述)「user」指令僅當您的 nginx 主進程以 root 身分執行時才使用。

答案2

我知道已經有一段時間了,但這通常與 SELinux 有關。嘗試將其設為寬容,它可能會正常工作。

相關內容