FTP 설치 중 vsftpd를 설치하는 방법을 소개합니다.
출처 : http://powersilk.egloos.com/568183
====================================================================================================
FTP란?
- file transfer protocol, 즉 파일 전송을 위해 개발된 프로토콜이다.
FTP 패키지에는 다양한 종류가 있는데, 그 중 여기서는 vsftpd패키지를 설치 할 것이다.
proftpd,pureftpd 등 다양한 패키지가 존재하는데,
proftpd는 아파치 웹서버와 유사한 환경을 제공해주는 ftp이고 대형 ftp사이트에서 운영하는 패키지이다.
====================================================================================================
- vsftpd 설치 (yum으로 vsftpd설치하기)
* #yum install vsftpd
=> (설치 끝) /var/ftp/ 폴더가 생성되고, 기본으로 제공되는 폴더이다. 이 폴더를 이용하려면 퍼미션등을 관리를 해주어야 한다.
하지만, 여기서는 사용계정을 이용한 ftp를 설정할 것이다. 즉, ftp에 접속하게 되면 ID / PW를 묻고 그 사용계정아이디 홈폴더
/home/계정ID/ 가 ftp접속 폴더가 된다.
- ftp 구동
* #service vsftpd start
(컴퓨터 재시작 시 자동 스타트 설정 : #systemctl enable vsftpd.service)
- 방화벽 포트개방
* ftp(21번 포트를 개방한다)
설치 및 구동 끝
====================================================================================================
- vsftpd.conf 파일 수정
=> #vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO # 익명 사용자 접속 불허
chroot_local_user=YES # 주석제거 (상위폴더 접속막기)
=> 익스플로, 파이어폭스로 접속할때 모든 폴더에 접근,다운이 가능하다. 이부분을 주석을 제거 해주면 막을 수 있다.
- 사용계정자 추가 (리눅스 접속할때 사용하는 사용계정자를 일컫는다)
=> #adduser 계정아이디 # useradd 명령어도 있는데 adduser명령을 실행 시 useradd가 호출되는 형식이므로 adduser를 사용
답변: 계정아이디가 이미 존재하는 아이디라면 => 이미 계정아이디 사용자가 있습니다.
(그래도 실행하는 이유는 vsftpd와 연동시키기 위하여)
*이렇게 하면 ftp에 접속이 가능해진다. ftp에 접속하게되면, 아이디와 패스워드를 묻게되고 사용자계정아이디와 패스워드를 입력하면
접속된다.
하지만, 접속이 될꺼 같으면서 계속 ID랑 PW를 물을 경우가 발생하게된다.
- 사용자계정 추가를 해도 접속이 안될 시 => 쉘의 권한문제이다.
=> #vi /etc/pam.d/vsftpd
auth required pam_shells.so~~~~~~ 부분을 주석처리한다 =>#auth required pam_shells.so~~~~~~ 부분을 주석처리
*vsftpd 재가동
#service vsftpd restart
설정 끝
****************************************************************************************************
- 익명접속 허가하고싶다면,
* vsftpd.conf 파일 수정
=> #vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES # 익명 사용자 접속 허가
anon_upload_enables=YES # 익명 사용자에게 업로드를 허용함
anon_mkdir_write_enable=YES # 익명 사용자에게 디렉토리 생성을 허용함
* 디렉토리 소유권 변경
=> #chown ftp.ftp /var/ftp/pub # 익명 접속자가 접속 할때 들어오는 폴더이다.
#service vsftpd restart