1. 참조
    1. https://webdir.tistory.com/206 : ufw 방화벽
  2. vsftp 설치
    1. sudo apt-get update
    2. sudo apt-get upgrade
    3. sudo apt-get install vsftpd
    4. sudo ufw allow ftp                        <– 우분투 방화벽에 ftp를 허용
    5. 방화벽 허용 또는 금지 예
      1. sudo ufw allow 22               <–> sudo ufw deny 22
      2. sudo ufw allow 22/tcp
      3. sudo ufw allow 22/udp
  3. vsftp 설치 확인
    1. netstat -a | grep ftp
    2. sudo lsof -i | grep ftp
  4. sudo vi /etc/vsftpd.conf : 설정파일 수정
    1. listen=YES                                      <–외부 접근 가능
    2. anonymous_enable=NO             <– anonymous 접근 불허
    3. #anon_upload_enable=YES      <– anonymous 업로드 허용
    4. #anon_mkdir_write_enable=YES   <– anonymous 디렉토리 생성 허용
    5. local_enable=YES                         <– 로컬 사용자의 접근 허용
    6. #write_enable=YES                     <– 쓰기 권한
    7. #local_umask=022                      <– 업로드 된 파일의 접근 권한 제거
    8. connect_from_port_20=YES    <– ftp-data 포트를 20번으로 설정
    9. #chroot_local_user=YES            <– 사용자의 홈디렉토리를 벗어나지 못하도록 설정
  5. 재실행
    1. sudo service vsftpd stop
    2. sudo service vsftpd start
  6. FTP : 인터넷을 통해 파일을 배포하기 위한 파일 전송 프로토콜
    1. 액티브 모드 : 클라이언트가 데이터 전송용 포트를 결정해서 서버에게 알려주는 방식(5122, 5123은 임의의 포트번호임)
      1. Client Port:5122  —- Port:5123 —-> Server Port:21
      2. Client Port:5122  <——- OK ——– Server Port:21
      3. Client Port:5123  <- DATA channel – Server Port:20
      4. Client Port:5123  ——  OK  ——–> Server Port:20
    2. 패시브 모드 : 클라이언트가 서버에 접속하면 서버가 데이터 전송용 포트를 결정해서 클라이언트에게 알려주는 방식(3479는 임의의 포트번호임)
      1. Client Port:5122  ——- Passive —-> Server Port:21
      2. Client Port:5122  <—– OK!3476—- Server Port:21
      3. Client Port:5123  <- DATA channel – Server Port:3479
      4. Client Port:5123  ——  OK  ——–> Server Port:3479
error: Content is protected !!