from Server/└ Linux(Fedora) 2009. 3. 19. 20:34
--------------------------------참고 사이트---------------------------------------
-vsftp 설치하기.
http://blog.naver.com/forioso?Redirect=Log&logNo=7086074
-vsftpd 설정과 어떤 기능을 갖게 하고 싶을 시 참고(ex> ip제한등..)
http://cafe.naver.com/onsesangnet.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=320
----------------------------------------------------------------------------------

#rpm -qa | grep ftp       //설치 여부 확인
yum -y install vsftpd    //yum 이용하여 패키지(vsftpd) 설치. -y 설치 과정 중 무조건 'yes'
*yum(Yellow Update Manager):
rpm이 유용하지만, 의존성(다른걸 깔아야 깔 수있는) 문제가 있으므로 생긴 것.
일종의 rpm 패키지 설치 전용 유틸이라 생각하면 된다.

*설정하기
#/etc/rc.d/init.d/vsftpd start       //FTP서비스 시작
#/etc/rc.d/init.d/vsftpd stop       //FTP서비스 종료
etc/rc.d/init.d/vsftpd restart       //FTP서비스 재시작
#chkconfig vsftpd on                //부팅 시 자동실행
#/etc/vsftpd/vsftpd.conf          //설정 파일

*vsftpd.conf
anonymous_enable : 익명 사용자의 접속 허가 설정
local_enable : 로컬 사용자의 접속 허가 설정
write_enable : 로컬 사용자의 저장, 삭제, 디렉토리, 생성 같은명령 수행 허가 설정
anon_upload_enable : 익명 사용자의 파일 업로드 설정
anon_mkdir_write_enable : 익명 사용자의 디렉토리 생성 허가 설정

- home디렉토리 상위로 이동금지
chroot_list_enable=YES                                  //이것 사용시 ftp 접속안되는 문제 발생
chroot_local_user=YES
설정후 접속할 때 /etc/vsftpd.chroot_list>파일이 없다는 오류가 발생하게 되면, 
해당파일을 생성해줍니다. 제외계정명을 해당파일에 넣어줍니다.
- 동시 접속자수 제한
max_clients=10  (숫자만큼 제한)
- IP당 접속자수 제한
max_per_ip=2 (수자만큼 제한)

* 사용자 추가하기
#useradd -M ID : ID를 추가
#mkdir /ftpdata
#mkdir /ftpdata/ID : 사용자 디렉토리 생성(사용자 로그인 디렉토리)
#usermod -d /ftpdata/ID ID : 사용자 디렉토리 연결
#chown -R ID:ID /ftpdata : ID에 대한 권한 변경(읽기/쓰기/실행 가능)
#passwd ID : ID에 대한 패스워드 부여

*사용자 폴더를 제외한 폴더 접근 제한
#vi /etc/vsftpd/vsftpd.conf

맨 아래에 다음과 같이 코드를 추가해준다.
chroot_local_user=YES

#/etc/rc.d/init.d/vsftpd restart : vsftpd 서비스 재시작

만약 SELinux가 접속을 막아서 FTP 접속이 안될 경우,
다음과 같이 설정해준다.

#setsebool -P ftp_home_dir 1              //setsebool 을 이용해 FTP접속시 디렉토리 접근 가능하도록 변경

-P : Rebooting 하더라도 값을 저장해, 정상 작동하도록 함.
ftp_home_dir 1 : home 디렉토리의 읽고 쓰기를 1(True)로 변경한다.

#service vsftpd restart

추가
#setsebool -P ftpd_disable_trans 1         //FTP에 관해 SELinux 정책을 아예 적용안하도록 옵션 설정.
,