Ldap
HTTPD LDAP 身份驗證不起作用
第一次嘗試這樣做,我完全迷失了。
我有一個 Oracle Linux 7.9 伺服器,它有一個需要通過 HTTP 共享給使用者的目錄,以便他們可以下載文件以發送給第三方。
我很容易讓它對所有人可見和開放,但到目前為止我還無法讓 LDAP 工作——它甚至不會提示我輸入憑據。
我已經為:httpd、openldap、openldap-clients、nss_ldap 和 mod_ldap 進行了 yum 安裝(根據網路上各種文章中的說明)。
我已經編輯了 /etc/httpd/conf/httpd.conf 並添加了
LoadModule ldap_module modules/mod_ldap.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
(httpd 日誌顯示這些已經載入並且它無論如何都會跳過它)。
在 /etc/httpd/conf.d/interfaces.conf 我有以下(為了安全而編輯):
<VirtualHost *:80> ServerAdmin user@mycompany.com ServerName mywebserer ServerAlias x.x.x.x DocumentRoot / LogLevel warn ErrorLog "logs/interfaces_prd_webdav_error_log" CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/webdav_access_log.%Y-%m-%d-%H_%M_%S 5M" "%t %h \"%r\" %>s %b" LimitXMLRequestBody 131072 DavLockDB /var/lib/dav/lockdb # ************************************************************ <Directory "/directory/to/export"> AuthType Basic AuthName "Use Your App Login" AuthBasicProvider ldap AuthLDAPURL "ldap://mydomain.local:389/ou=OU1,ou=MyBusiness,dc=mycompany,dc=local?sAMAccountName?sub?(objectClass=*)" AuthLDAPGroupAttributeIsDN on AuthLDAPBindDN "ldapsearchuser" AuthLDAPBindPassword "secret_password" # Require group cn=group,ou=Groups,dc=mycompany,dc=local Require valid-user </Directory> Alias /files /directory/to/export <Location /files> Dav on Order allow,deny Allow from all Require all granted Options +Indexes </Location> </VirtualHost>
“要求組”被註釋掉了,因為在這個階段我只是試圖獲得初始憑證挑戰並得到驗證。
如果重要的話,我連接的伺服器是 Linux OpenLDAP 伺服器,而不是 Microsoft AD。
當我轉到http://xxxx/files - 它只是給了我目錄的內容,對憑據沒有挑戰。
我在最近一次訪問後(刪除現有日誌後)檢查了 /var/log/httpd 文件夾,並且沒有將任何內容添加到任何日誌文件中。
重新啟動 httpd 時,error_log 顯示:
[Tue Jul 13 17:07:00.277230 2021] [mpm_prefork:notice] [pid 11681] AH00170: caught SIGWINCH, shutting down gracefully [Tue Jul 13 17:07:01.345552 2021] [suexec:notice] [pid 15751] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Tue Jul 13 17:07:01.357475 2021] [so:warn] [pid 15751] AH01574: module ldap_module is already loaded, skipping [Tue Jul 13 17:07:01.357497 2021] [so:warn] [pid 15751] AH01574: module authnz_ldap_module is already loaded, skipping AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::221:f6ff:fe6e:9c69. Set the 'ServerName' directive globally to suppress this message [Tue Jul 13 17:07:01.383713 2021] [lbmethod_heartbeat:notice] [pid 15751] AH02282: No slotmem from mod_heartmonitor [Tue Jul 13 17:07:01.387200 2021] [mpm_prefork:notice] [pid 15751] AH00163: Apache/2.4.6 () configured -- resuming normal operations [Tue Jul 13 17:07:01.387228 2021] [core:notice] [pid 15751] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
嘗試通過瀏覽器訪問目錄時,我得到:
在 interfaces_prd_webdav_error_log 中(我不認為過分擔心這個 atm):
[Tue Jul 13 17:07:20.015412 2021] [authz_core:error] [pid 15754] [client 10.1.7.44:55820] AH01630: client denied by server configuration: /favicon.ico, referer: http://172.17.9.21/files/
在 webdav_access_log 中:
[13/Jul/2021:17:07:19 -0400] 10.1.7.44 "GET /files/ HTTP/1.1" 200 1303 [13/Jul/2021:17:07:20 -0400] 10.1.7.44 "GET /favicon.ico HTTP/1.1" 403 213
任何人都可以提供任何建議嗎?
提前致謝。
好的,已經解決了。
我將位置部分更改為
<Location /files> Dav on Options +Indexes </Location>
現在它正在工作。似乎那裡的其他部分覆蓋了 AD 配置。
不過,感謝您的評論,杰拉德。