==================================================================================================

※ 해당 내용의 경우 VMware를 이용한 로컬 네트웍 상에서 작업을 하는 내용을 안내하여 드립니당~!

[ 시스템 설정을 위한 내용 ]

설치된 Base Windows  : Windows 7 Pro
설치된 CentOS Server  : CentOS 6.4
설치된 VMware Program : VM workstation 9.0.2

==================================================================================================


- File Transfer Protocol -

1. 정의

   - 시스템 운영 및 관리를 위한 원격 관리 서비스 중 하나

   - 파일을 전송할 수 있는 서비스 (Dir 는 불가능)



2. Package
 
   - vsftpd                : FTP 서비스를 이용하기 위한 Server Package



3. vsftpd 활성화

    - #/etc/rc.d/init.d/vsftpd restart



4. 동작상태 확인

    - #netstat -atunp | grep vsftpd



5. 관련파일 

    - /etc/vsftpd/vsftpd.conf  : vsftpd 주 설정파일

    - /usr/sbin/vsftpd           : vsftpd 실행파일

    - /etc/rc.d/init.d/vsftpd   : vsftpd 데몬파일

    - /etc/vsftpd/ftpusers      : ftp 서비스 이용에 제약을 받을 사용자를 정의 ("/etc/vsftpd/user_list" 파일도 동일)

    - /etc/xinetd.d/vsftpd      : vsftpd 기본 설정이 "standalone" 방식이므로 해당 파일의 확인이 어려움.



6. 설정파일 

   * /etc/vsftpd/vsftpd.conf

※ 해당 내용은 간단하게 실습 가능한 부분만 알려드리며, 설정파일의 자세한 내용은 아래의 글을 참고해주시기 바랍니다.

 

- anonymous_enable

: "anonymous" 계정의 접속허용 여부 [ anonymous(익명사용자)=ID로만 Login 이 가능한 계정 ]

 

- local_enable
      : "/etc/passwd" 파일내 사용자 접속 허용 여부 (default:YES)

 

- write_enable
      : write 명령어(업로드 = put/mput ...) 허용 여부 (defualt:YES)

 

- local_umask
      : "/etc/passwd" 파일내 사용자들이 FTP 서비스를 이용시 적용 받을 umask (default:022)

 

- #anon_upload_enable
      : "anonymous" 계정의 파일 업로드 여부 (default:설정안됨)

 

- #anon_mkdir_write_enable
      : "anonymous" 계정의 디렉터리 생성 여부 (default:설정안됨)

 

- dirmessage_enable
      : ftp 서비스에 접속한 사용자가 디렉터리를 변경할때 변경될 Dir 내에 ".massege" 파일이 존재하면 해당 파일의 내용이 출력

 

- xferlog_enable
      : 파일 전송 표준로그(xferlog) 방식으로 로그를 남길 것인지 여부 (default:YES)

 

- #xferlog_file

: 파일 전송 로그로 기록된 파일명을 설정 (default:설정안됨[/var/log/xferlog]) 

 

 

- connect_from_port_20
      : standalone 모드로 동작시만 적용되며, 데이터 전송시 20번 포트로 전송할 것인지 여부

 

- #idle_session_timeout
      : 사용자가 아무런 입력 없이 유지하면 종료시킬 시간(단위:초) (default:설정안됨 [300초로 적용됨])


- #chroot_list_enable
      : "chroot_list" 라는 파일의 활성화 여부

 

※"chroot_list" -> 디렉터리 이동의 제한을 받는 사용자를 정의

(제한받은 사용자들의 $HOME 이 "/" 로 출력되며, 경로 변경이 불가능하게 된다.)

 

- #chroot_list_file

      : "chroot_list" 라는 파일의 경로나 파일명을 임의로 지정가능 (default:/etc/vsftpd/chroot_list)

 

- #chroot_local_user
      : "/etc/passwd" 파일내 사용자들을 모두 디렉터리 이동 제한하고
        $HOME을 벗어나지 못하도록 설정이 되며, $HOME이 "/"로 출력된다. ("root" 계정 포함)



 [ 추가 사항 ]

userlist_enable

          : ftp 서비스내 접속자 제한 설정파일(chroot_list) 사용 여부

 

max_clients

    ftp 서비스내 접속자 클라이언트 갯수 제한 (0 : 제한없음)

anon_root

          : "anonymous" 사용자의 홈 디렉터리 지정 (기본값 : /var/ftp)

 

7. 동작환경

 [ 그림참조 ]
 


8. xferlog 분석자료

[ 그림참조 ]

 

 

 

 [ 서비스 ]
  - "root" 사용자 접속 허용 -
1. 사용자 제한 파일을 수정하여 root 사용자 접속 가능 

ㄱ. /etc/vsftpd/user_list 파일에서 root 사용자 '#' 처리

ㄴ. /etc/vsftpd/ftpusers 파일에서 root 사용자 '#' 처리

 

2. 사용자 제한 파일 및 vsftpd 설정파일 옵션 변경으로 root 사용자 접속 가능

ㄱ. /etc/vsftpd/vsftpd.conf 파일에서 "userlist_enable" 옵션을 "NO"로 설정
        : user_list 파일을 사용하지 않도록 설정

ㄴ. /etc/vsftpd/ftpusers 파일에서 root 사용자 '#' 처리

 

AND