Đối với tôi đó là một điều khác biệt dẫn đến lỗi này
cùng tên người dùng với hai UID khác nhau
Tôi có người dùng "apache" được định cấu hình cục bộ với UID = 123 và trong thư mục NIS có cùng tên ("apache") nhưng UID = 456 khác nhau. Tùy thuộc vào thứ tự bắt đầu và phụ thuộc dịch vụ, người dùng cục bộ có thể được sử dụng trước khi người dùng NIS có thể sử dụng được. Điều đó cũng có nghĩa là, khi bạn hiển thị tên người dùng, điều này sẽ gây nhầm lẫn, cả hai sẽ xuất hiện dưới dạng "apache". Chỉ khi bạn nhìn vào UID số (ví dụ: bằng cách thực hiện, ls -ln
bạn sẽ thấy sự khác biệt. Ví dụ:
[root@mymachine]# ls -l
drwxr-x--- 4 apache ggg1 88 May 31 17:12 file1
drwxr-x--- 4 apache ppp2 88 May 31 17:12 file2
xem UID khác với tệp2 (456 thay vì 123):
[root@mymachine]# ls -ln
drwxr-x--- 4 123 48 88 May 31 17:12 file1
drwxr-x--- 4 456 48 88 May 31 17:12 file2
nhóm khác nhau được định nghĩa trong cấu hình Apache
Một vấn đề khác mà tôi gặp phải với người dùng không khớp và dẫn đến lỗi cấp phép là khi tôi bị hạn chế quyền truy cập vào các tệp bằng cách sử dụng nhóm "httpd". Đây là nhóm chính của người dùng "apache" (được hiển thị bằng cách sử dụng id
hoặc getent
) Apache bắt đầu với quyền root, sau đó chuyển sang người dùng được định cấu hình và bỏ quyền. Người dùng mà nó chuyển sang được xác định /etc/httpd/conf/httpd.conf
bởi User
tham số. Tuy nhiên, đây là vấn đề - nhóm (GID) mà quá trình sẽ chạy không phải là nhóm chính của người dùng đó. Nhóm được định nghĩa trong cùng một tệp cấu hình theo Group
tham số.
Vì vậy, trong trường hợp của tôi, đó là ( /etc/httpd/conf/httpd.conf ):
User apache
Group apache
Và thư mục đã được cấp quyền truy cập như thế này:
drwxr-x--- 4 someuser httpd 88 May 31 17:12 mydir
Bởi vì httpd (GID = 444) là nhóm chính của người dùng đó:
[root@somemachine]# id apache
uid=48(apache) gid=444(httpd) groups=444(httpd)
Nó dẫn đến một số thời gian dành cho việc gỡ lỗi cho đến khi tôi nhận ra rằng Group
trong tệp cấu hình là "apache" chứ không phải "httpd".
Lỗi từ / var / log / httpd / error_log :
[Fri May 31 17:13:40.070343 2019] [authz_core:debug] [pid 2527] mod_authz_core.c(809): [client 11.22.32.21:53824] AH01626: authorization result of Require all granted: granted
[Fri May 31 17:13:40.070367 2019] [authz_core:debug] [pid 2527] mod_authz_core.c(809): [client 11.22.32.21:53824] AH01626: authorization result of <RequireAny>: granted
[Fri May 31 17:13:40.070396 2019] [core:error] [pid 2527] (13)Permission denied: [client 11.22.32.21:53824] AH00132: file permissions deny server access: /var/www/html/somedir/otherdir/css/file1.txt
Tôi hi vọng cái này giúp được.