나는 이미 이 질문을 했습니다.아파치 메일링 리스트하지만 원하는 답변을 얻지 못했습니다.
두 명의 사용자가 IP(192.168.1.2 192.168.1.7)를 기반으로 "/var/www/html/ldap" 디렉터리를 사용하도록 허용하고 싶습니다.
<Directory /var/www/html/ldap>
Order allow,deny
Allow from 192.168.1.2 192.168.1.7
Satisfy any
AuthName "LDAP Authentication"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPauthoritative off
AuthLDAPURL ldap://192.168.1.3/dc=example,dc=com?uid?sub?(objectClass=*)
Require valid-user
</Directory>
하지만 하위 디렉터리에 192.168.1.7이 존재하는 것을 허용하고 싶지 않습니다(192.168.1.2만 존재하도록 허용하고 싶습니다).
나는 다음을 추가해 보았습니다:
<Directory /var/www/html/ldap/manager>
Order allow,deny
Allow from 192.168.1.2
Satisfy any
AuthName "LDAP Authentication"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPauthoritative off
AuthLDAPURL ldap://192.168.1.3/dc=example,dc=com?uid?sub?(objectClass=*)
Require valid-user
</Directory>
하지만 192.168.1.7은 ldap 디렉토리의 일부이기 때문에 관리자 디렉토리에 접근할 수 있는 것 같습니다. 이를 어떻게 금지할 수 있습니까?
고쳐 쓰다:
~처럼라자내가 시도한 제안은 다음과 같습니다.
홈 디렉토리의 경우:
<Directory /var/www/html/ldap>
Order allow,deny
Allow from 192.168.1.2 192.168.1.7
Satisfy any
AuthName "LDAP Authentication"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPauthoritative off
AuthLDAPURL ldap://192.168.1.3/dc=example,dc=com?uid?sub?(objectClass=*)
Require valid-user
</Directory>
하위 디렉토리의 경우:
<Directory /var/www/html/ldap/manager>
Order Deny,Allow
Deny From All
Allow From 192.168.1.2
Satisfy any
AuthName "LDAP Authentication"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPauthoritative off
AuthLDAPURL ldap://192.168.1.3/dc=example,dc=com?uid?sub?(objectClass=*)
Require valid-user
</Directory>
노트:
두 디렉터리(홈 및 하위 디렉터리)에서 192.168.1.2 및 192.168.1.7에 대해 인증(LDAP AUTH)하라는 요청을 받고 싶지 않습니다.
답변1
192.168.1.7 시스템이 하위 디렉터리에 액세스하는 것을 방지하기 위해 다시 쓰기 규칙을 사용하는 것은 어떻습니까?
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.7$ [NC]
RewriteCond %{REQUEST_URI} ^/ldap/manager/.* [NC]
RewriteRule ^(.*)$ - [R=404,L]
원래 답변을 기반으로 편집하면 이제 "금지된" 오류 코드가 다시 전송됩니다.
답변2
.htaccess
다음 옵션을 사용하여 목록을 표시하지 않으려는 디렉터리에 파일을 만들 수 있습니다.
Order Deny,Allow
Deny From All
Allow From 192.168.1.2
속도:
cd /var/www/html/ldap/manager
vi .htaccess (use your favorite editor)
copy/past the following :
Order Deny,Allow
Deny From All
Allow From 192.168.1.2