Linux

nginx 如何在屬於 root 的目錄及其所有文件中提供站點服務?

  • July 3, 2022

我的一部分/etc/nginx/nginx.conf

   #user nobody;
   user http;

   worker_processes  1;

   events {
       worker_connections 1024;
   }

   #.......

我的網站之一:

ls -al /var/web/site123.com/index.html 
-rw-r--r-- 1 root root 761 Jul  3 07:31 /var/web/site123.com/index.html


ls -ald /var/web/site123.com
drwxr-xr-x 2 root root 4096 Jul  3 07:31 /var/web/site123.com

鑑於網站的目錄index.html也屬於root,那麼 nginx 是如何工作和服務於網站的呢?nginx worker 在http使用者下執行,網站可以通過網際網路訪問。

root      873848  0.0  0.0  22392  1436 ?        Ss   07:27   0:00 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid; error_log stderr;
http      873849  0.0  0.2  22396  4264 ?        S    07:27   0:00 nginx: worker process

該使用者如何訪問僅應允許訪問http的路徑?root

請檢查您的目錄權限。

從 ls 命令的輸出可以看出

ls -al /var/web/site123.com/index.html 
-rw-r--r-- 1 root root 761 Jul  3 07:31 /var/web/site123.com/index.html


ls -ald /var/web/site123.com
drwxr-xr-x 2 root root 4096 Jul  3 07:31 /var/web/site123.com

每個人都可以訪問您的目錄,因為您向所有人授予了讀取/執行權限 755,並且對於 index.html,您向所有人授予了讀取權限。

引用自:https://unix.stackexchange.com/questions/708452