Tag Archives: 서버관리

dovecot 메일 받을때 chdir 에러 발생시 해결 방안

dovecot은 POP3, IMAP등 메일을 전송받기 위한 서비스 데몬입니다.

해당 데몬을 세팅중에 다음과 같은 에러를 만나며 메일을 받을 수 없는 문제를 만났습니다.
[code]Feb  8 19:26:56 Tomeii dovecot: Dovecot v1.0.7 starting up
Feb  8 19:27:01 Tomeii dovecot: chdir(/home/users/eye) failed with uid 123: Permission denied
Feb  8 19:27:01 Tomeii dovecot: child 4170 (pop3) returned error 89[/code]
보안상 디렉토리 퍼미션을 많이 바꾸던것이 문제가 된것 같습니다.

사용자 디렉토리의 모든 상위 디렉토리가 최소 711이상의 퍼미션을 가지고 있어야 합니다.
[code]# chmod 711 /home
# chmod 711 /home/users[/code]
와 같이 group과 other에 최소한 1(execute) 권한을 주면 해당 오류가 사라집니다.

vsftpd 사용자 계정 chroot 설정하기

사용자 계정의 Jail 설정을 위해서는 다양한 방법이 존재합니다. 한번 알아볼까요?

다음의 설정들은 모두 /etc/vsftpd/vsftpd.conf 파일에 추가하면 됩니다.

1. 단순히 사용자 계정에 가둘(?) 경우

chroot_local_user=YES

위와 같은 설정을 할 경우 사용자들은 자신의 계정에서 상위 디렉토리로 이동할수 없게 됩니다.

2. 특정 사용자만을 Jail 설정할 경우

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

chroot_list에 등록되어있는 계정에만 chroot가 적용됩니다.

3. 특정 사용자를 제외한 나머지 사용자만을 Jail 설정할 경우

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

2와는 반대로 chroot_list에 등록된 계정을 제외한 나머지가 자신의 계정에 chroot가 걸립니다.

4. 계정마다 동적으로 설정할 경우

chroot_local_user=YES
passwd_chroot_enable=YES

위와 같이 설정을 하게 되면 /etc/passwd 파일을 참고하여 jail 설정을 할 수 있게 됩니다.

theeye:x:600:100::/home/./theeye:/bin/bash

/etc/passwd 파일을 수정하여 경로에 .을 찍게 되면 그 지점이 chroot지점이 됩니다.