서버관련

vsftp chroot 설정하기

Dohoon 2013. 9. 25. 17:06

그지 같은 업체 개발자 귀찮다는 이유로 3일간 작업한 sftp chroot 설정을 갈아 엎고 vsftp chroot를 다시 설정했다.

설정 방법

1.yum install vsftpd

2.vi /etc/vsftpd/vsftpd.conf

    - anonymous_enable=NO  //비계정 로그인 지원여부

    - local_umask=022 // 권한 설정, umask 이므로 644 = 022

    - chroot_local_user=YES // 모든 유저를 chroot로 설정 

    - pasv_enable=NO  // 패시브 모드 사용하지 않고 액티브 모드 사용

    - session_support=YES //last 명령을 이용한 접속 확인 가능

    - dual_log_enable=YES // /var/log/vsftpd.log, /var/log/xferlog 양쪽에 로그 모두 사용

    - log_ftp_protocol=YES  // /var/log/vsftpd.log 에 접속 로그 남도록 설정

   % 위의 내용이 기존에 있는 경우 수정, 없을경우 추가

   %위의 옵션은 모든 계정을 chroot로 설정하지만 계정별로 설정 가능하고 계정별 home 디렉토리 설정도 가능

3. service vsftpd start

4. 접속 TEST

*ftp active mode VS passive mode

http://besma.tistory.com/2

passive 모드로 설정하는 경우 iptables에 21번 포트만 열어줄 경우 접속은 가능하나 디렉토리 목록을 불러오지 못함

passive 모드 iptables 설정은 따로 확인 필요

* 에러 메세지 

"500 OOPS: cannot change directory" 경우  아래 명령 실행

[root@localhost vsftpd]# getenforce

Enforcing

[root@localhost vsftpd]# getsebool -a | grep ftp

allow_ftpd_anon_write --> off

allow_ftpd_full_access --> off

allow_ftpd_use_cifs --> off

allow_ftpd_use_nfs --> off

ftp_home_dir --> off

ftpd_connect_db --> off

ftpd_use_passive_mode --> off

httpd_enable_ftp_server --> off

tftp_anon_write --> off

[root@localhost vsftpd]# setsebool -P ftp_home_dir on

[root@localhost vsftpd]# reboot


*서버 부팅시 vsftpd 자동 실행 설정

[root@localhost vsftpd]# chkconfig --list

vsftpd          0:off   1:off   2:off    3:off    4:off    5:off    6:off

[root@localhost vsftpd]# chkconfig vsftpd on

[root@localhost vsftpd]# rebooit