(주)누리웨어

화상연동/Web,APP 구축및서비스/LMS/평생교육/학점은행/기업교육/연수관리/설문구축/

vsftpd설치

 vsftpd 설치 : Linux에서 사용하는 FTP 서버 데몬

 

참고 : https://security.appspot.com/vsftpd.html

 

환경파일 설정

#vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO // 익명 접속 처리 N

pasv_enable=YES // 액티브모드 사용할 시 NO : 확인 요망

 

#vi /etc/vsftpd/user_list

접속 거부 사용자 리스트 : FTP에 root를 Open 하지 않도록 구성한다.

 

#vi /etc/vsftpd/ftpusers

접속 거부 사용자 리스트 : FTP에 root를 Open 하지 않도록 구성한다.

#chkconfig –level 2345 vsftpd on    : 부팅때마다 vsftpd자동시작

FTP용 계정 생성

#user add [계정명]

#passwd [계정명]

usermod -d /storage/ftproot/ ftp   : ftp계정에 대해 root경로 바꾸기

 

방화벽 설정 : iptables에 20 (ftp 데이터 처리 port), 21 port를 등록 한다.

#vi /etc/sysconfig/iptables

 

위의 파일이 존재하지 않는다.

 

-A INPUT -m state –state NEW -m tcp -p tcp –dport 20 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT

 

//서비스 재기동

#service iptables restart

 

FTP 서버 기동

#service vsftpd start[stop, restart]

 

Centos6 초기 설치 이후의 FTP의 접근이 안되는 경우

에러종류 : 500 OOPS: cannot change directory:/home/user

위의 에러는  FTP 프로그램의 폴더에 접근할 수 있는 권한이 없어서 발생

 

해결책

#getsebool -a | grep ftp : 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 : 이 부분을 on으로 해줘야 한다. ftpd_connect_db –> off httpd_enable_ftp_server –> off sftpd_anon_write –> off sftpd_enable_homedirs –> off sftpd_full_access –> off sftpd_write_ssh_home –> off tftp_anon_write –> off

#setsebool -P ftp_home_dir on : on으로 설정하는 명령어..

 

위의 내용으로 접근이 가능하다.

접속유저가 상위디렉토리로 가는것 제한

 

VSFTPD 기본 설정에 모든 사용자가 상위 디렉토리로 이동할 수 있게 되어있어요
이러면 유저들이 상위 디렉토리로 접근해 리눅스 코어파일이나 커널파일등을 삭제해버리면 어떻게 될까? 상위 디렉토리로 올라가는 것을 막아주어야 해요
그런데 막는건 간단하지만 특정 유저에게는 허용해주고 싶다면 어떻게 하는가?

vi /etc/vsftpd/vsftpd.conf

그 후, vi /etc/vsftpd/chroot_list 를 쳐서 chroot_list가 생성되게 한다
내용에 root을 적용하고 :/wq로 저장 종료.
(root만 상위디렉토리 드나들기 허용함)

FTP 재시작하면 적용된다

댓글 남기기