본문 바로가기

Dev/Dev:: Linux

[Day 010] Linux 10일차 - ● ftp 서버 구축

● ftp 서버 구축

  - ftp 서버 : 파일을 업로드 또는 다운로드 하는 서비스를 제공하는 컴퓨터 => 21번 port 사용

  - ftp 서버를 사용할 수 있는 계정

    1) 일반계정 - useradd로 생성한 계정

    2) 익명계정 - ftp 서버에서 사용 가능한 가상의 계정(ftp 시스템계정의 정보 사용) => anonymous 


  

- ftp 서버 구축 방법

    1) ftp 서버 프로그램 설치  =>  vsftpd

      ]# rpm -qa | grep vsftpd

      ]# yum -y install vsftpd 


    2) ftp 서버 환경설정

      ]# vi /etc/vsftpd/vsftpd.conf

      anonymous_enable=YES    =>  12라인 : anonymous 허용 유무


        ※ anonymous 접속 디렉토리 : /var/ftp

      local_enable=YES    =>  15라인 : localhost 접속 유무

      write_enable=YES    =>  18라인 : 일반계정의 쓰기(업로드, 디렉토리 생성등) 권한 부여 유무     

      local_umask=022     =>  22라인 : 디렉토리 또는 파일의 기본 생성권한에 대한 umask값 지정  

      #anon_upload_enable=YES    =>  27라인 : anonymous 계정의 업로드 권한 지정

      #anon_mkdir_write_enable=YES   => 31라인 : anonymous 계정의 디렉토리 생성 권한 지정

      dirmessage_enable=YES    =>  35라인 : 디렉토리에 접근시 출력되는 메세지 지정(메세지 파일 : .message)


      #ftpd_banner=Welcome to blah FTP service.   =>  83라인 : 서버에 접속시 출력되는 메세지  

      chroot_local_user=YES   =>  94라인 추가 : 일반계정으로 로그인시 홈디렉토리를 /디렉토리로 표시

      download_enable=YES     =>  일반계정의 다운로드 권한 지정(생략)      

      deny_file={*.확장자,...}    =>  업로드를 금지하는 파일 지정

      hide_file={*.확장자,...}    =>  출력되지 않는 파일 지정

      max_client=숫자             =>  최대 동시 접속자수 제한

      max_per_ip=숫자             =>  ip주소당 접속 가능한 클라이언트 수 제한

      ※ /etc/vsftpd/user_list에 저장된 계정은 vsftpd 서비스 사용시 거부되는 계정이 저장







    3) ftp 서버 데몬 실행

      ]# service vsftpd start

      ]# chkconfig --level 2345 vsftpd on 


    4) ftp 서버 접속 테스트


      ]# ftp  ftp서버명(ip주소)  port 번호    =>  서버접속 : 21번 기본 port를 사용할 경우 port는 생략

      Name : 계정명(일반계정 또는 익명계정)

      Password : 암호(익명계정은 암호를 입력하지 않는다.)





             ftp> ftp명령   => ? : 도움말

      ※ ftp 명령

         ls  => 서버 목록 확인

         cd  =>  서버 작업디렉토리 변경

         pwd  =>  서버 현재 작업디렉토리 출력

         mkdir  =>  서버 디렉토리 생성

         lcd   =>  클라이언트의 현재 작업디렉토리 확인 및 디렉토리 변경

         acsii   =>  Text 모드의 파일 전송으로 변경

         binary  =>  binary 모드의 파일 전송으로 변경

         type    =>  전송 방식 확인

         hash    =>  hash 기능 on 또는 off(업로드 또는 다운로드 속도 출력 유무) 

         get 파일명   =>  파일 하나만 다운로드

         mget 파일명  =>  파일 여러 개 다운로드(메타문자 사용 가능) 

         put 파일명   =>  파일 하나만 업로드

         mput 파일명  =>  파일 여러 개 업로드(메타문자 사용 가능) 

         quit    =>  ftp 접속 프로그램 종료

         open 서버명    =>  서버 접속

         close     =>  서버 접속 종료 

    ※ 웹브러우저를 이용한 접속  =>  탐색기에서 사용 가능

      주소창에 url 입력 =>   ftp://계정명@서버명:port번호   => anonymous인 경우 계정명 생략하며 21번 port인 경우 port번호 생략 가능