SabreDAV는 다양한 방법의 인증을 지원합니다.
웹서버 인증, htdigest 인증, 별도의 인증 함수 구현, DB 활용 인증, IMAP 인증이 있습니다.
1. apache2-utils 설치하기
이 글에서 사용할 인증 방법은 htdigest
입니다.
htdigest
는 아파치 서버의 비밀번호 생성/보관 방법 중 하나입니다.
하지만, 우리는 아파치 웹서버가 아닌 Nginx 웹서버를 이용하고 있기 때문에 이 htdigest
를 따로 설치해 주어야 합니다.
htdigest
는 apache2-utils
안에 포함 되어 있습니다. 그래서 아래 명령을 통해 apache2-utils
를 설치해 줍니다.
sudo apt-get install apache2-utils
2. htdigest 파일 만들기
위 명령어를 통해 htdigest를 설치했다면 htdigest 파일을 만들어 줍니다.
htdigest (-c) [파일이 저장 될 장소] [그룹명] [아이디]
htdigest는 4개의 파라미터를 받습니다.
-c
: 저장되는 장소에 htdiget가 있다면 파일을 지우소 새로 만드는 명령어입니다. 처음 만들 때는 이 옵션을 넣어서 만들어 주는 것이 좋고, 나중에 사용자를 추가할 때 이 옵션을 지우고 사용하면 됩니다.
파일이 저장 될 장소
: 생성할 htdigest 파일이 저장될 위치를 지정하는 옵션입니다.
그룹명
: 로그인 정보가 그룹별로 분류가 가능합니다. 이 그룹으로 아래 Sabre 설정에서 접근을 허용할지, 차단할지 구분할 수 있습니다.
아이디
: 로그인에 사용되는 아이디입니다.
파일을 저장할 때 자신이 원하는 곳 아무 곳에나 저장하면 됩니다. 하지만, WebDAV나 SMB 등을 통해 이 파일이 외부에 노출되지 않도록 주의해 주어야 합니다.
아래 명령어를 통해 htdigest를 만들 수 있습니다.
htdigest /var/www/htdigest SabreDAV user
위 명령어를 입력하면 비밀번호를 입력하게 되는데 이때 입력한 비밀번호가 로그인 비밀번호가 됩니다.
3. 적용하기
이제 생성한 htdigest 파일을 서버에 적용합니다.
sudo nano /var/www/webdav/server.php
위 파일을 열면 맨 아래에 $server->exec();
라고 적힌 부분이 있습니다.
이 줄 위에 다음 코드를 작성해 줍니다.
use Sabre\DAV\Auth;
$authBackend = new Auth\Backend\File('[htdigest 파일이 저장된 곳]');
$authBackend->setRealm('[그룹 이름]');
$authPlugin = new Auth\Plugin($authBackend);
$server->addPlugin($authPlugin);
위 코드를 작성 후 저장하고 나오면 다음 접속시부터 로그인 창이 뜹니다.
이 방식은 비밀번호를 MD5 HASH를 이용하여 저장하는 것이기 때문에 보안이 뛰어난 방법이 아닙니다.
진행 중 잘 되지 않는 부분 있다면 댓글 달아주세요. 제가 알고 있는 한 최대한 도와드리도록 하겠습니다.
'Develop > Server' 카테고리의 다른 글
[Raspberry Pi_OMV5] 6. OMV5 webdav 설정하기 (28) | 2020.03.19 |
---|---|
[Raspberry Pi_OMV5] 5. OMV5 SMB 공유 설정하기 (4) | 2020.03.16 |
[Raspberry Pi_OMV5] 4. OMV5 사용자 추가하기 (3) | 2020.03.06 |
[Raspberry Pi_OMV5] 3. OMV5 공유 폴더 만들기 (1) | 2020.03.05 |
[Raspberry Pi_OMV5] 2. OMV5 HDD설정하기 (3) | 2020.03.04 |