2013-09-26 3 views
5

파일 서버가 있으며 파일을 서버에 mod_autoindex를 사용합니다. 특정 사용자 만 파일에 액세스 할 수 있도록 htaccess에 사용자 이름과 암호가 있습니다. htpasswd에 다른 사용자를 추가했지만 해당 사용자가 일부 파일/폴더에 액세스하는 것을 좋아합니다. 내가 뭔가 잘못하고있는 중이 야 확신하지만 난 여기에 대한 좋은 문서를 찾을 수 없습니다htaccess 암호가 다른 사용자가있는 파일을 보호합니다.

AuthType Basic 
AuthName "restricted" 
AuthUserFile E:\\path\\to\\.htpasswd 

<Files "filesForAnyUser\\*"> 
    Require valid-user 
</Files> 

<Files "*"> 
Require user admin 
</Files> 

:

여기 지금 내 htaccess로 파일입니다.

+0

"filesForAnyUser"란 무엇입니까? 그게 폴더 야? –

+0

그 어떤 사용자도 사용할 수있는 파일이있는 폴더입니다 –

+0

'E : \\ path \\ to \\. htpasswd'는 'E :/path/to/.htpasswd'로 바꾸는 것을 고려하십시오. 어떤 특정한 상황에서 당신에게 약간의 문제를 저장하십시오. – Prix

답변

5

"filesForAnyUser"라는 폴더와 admin 전용 파일이있는 폴더가있는 경우 2 개의 htaccess 파일을 만들어야합니다. "filesForAnyUser"의 한 :

AuthType Basic 
AuthName "restricted" 
AuthUserFile E:\\path\\to\\.htpasswd 
Require valid-user 

그리고 다른 디렉토리에 하나

AuthType Basic 
AuthName "restricted" 
AuthUserFile E:\\path\\to\\.htpasswd 
Require user admin 
+0

이 작동하지만 또는 명령어가 작동하지 않는 이유는 무엇입니까? –

+0

@UziTech [Directory] (http://httpd.apache.org/docs/current/mod/core.html#directory) 및 [위치] (http://httpd.apache.org/docs/current/mod /core.html#location)에는 "server"및 "virtualhost"config의 컨텍스트가 있습니다. ** ** "htaccess"가 아니기 때문에 지시어를 htaccess 파일에서 사용할 수 없습니다. htaccess 파일을 디렉토리에 두는 것은 그 디렉토리에서''을 사용하는 것과 비슷합니다. –

+0

이 좋습니다. 감사 –

1

그래서 여기에 다른 사람에 대한 나의 최종 솔루션입니다. 만 액세스 USER1를 허용하려면

AuthType Basic 
AuthName "restricted" 
AuthUserFile E:\\path\\to\\.htpasswd 
Require user admin user1 #users separated by space or "Require valid-user" if all users 

: 관리자 및 사용자 1이 파일을 액세스 할 수있는 모든 폴더에 다음을 넣어

AuthType Basic 
AuthName "restricted" 
AuthUserFile E:\\path\\to\\.htpasswd 
Require user admin 

:

는 루트 폴더에 다음을 넣어 사용할 수있는 특정 파일 <FilesMatch> :

AuthType Basic 
AuthName "restricted" 
AuthUserFile E:\\path\\to\\.htpasswd 
Require user admin 
<FilesMatch "^(doc1.pdf|doc2.txt|doc3.docx)$"> 
    Require user admin user1 #or valid-user 
</FilesMatch> 

이것은 관리자에게 제공됩니다. 해당 폴더에있는 모든 파일에 액세스 할 수 있지만 user1에만 나열된 파일에 대한 액세스는 <FilesMatch>

참고 : <FilesMatch>의 파일은 현재 디렉토리 및 하위 디렉토리 용입니다. 현재 디렉터리로만 제한하는 방법을 모르겠습니다.

관련 문제