[리눅스] FTP

Hyeseong·2020년 12월 1일
0

FTP 배우기

  1. FTP 개념과 Proftpd서버의 private FTP설정
  2. Proftpd 서버의 Anonymous 설정
  3. 파일 전송(Transfer)/업로드(Upload)

FTP(File Transfer Protocol)|파일 전송 프로토콜

종류: 그 프로그램의 종류에는 리눅스 환경에서 동작하는 `Proftpd` 와 `Wuftpd` 등이 존재.
특징: - Proftpd의 환경 설정 파일은 proftpd.conf 파일.
      - 리눅스의 Add/remove software를 이용해서 패키지 추가로 쉽게 설치 가능
즉, 컴퓨터 끼리 파일 전송을 하기 위함임(단, 네트워크에 연결된 컴퓨터끼리 업로드 다운로드 가능)
현재, 우리들이 인터넷에서 가장 일반적으로 사용하는 것은 웹과 이메일 그리고 ftp를 이용한 파일송수신이 있을 것입니다. 간단한 문서나 데이터의 전송과 수신은 이메일을 통해서
얼마든지 가능할 수 있으나 실제로 고용량의 데이터를  처리하기에는 pop3 프로토콜의
구조적인 문제가 있기에 가장 바람직한 방법은 ftp를 이용하는 것입니다. 네트웍이
전세계적으로 확산이 되면서 차차로 인터넷이 보급되면서 이를 사용하는 이들에게는
대용량의 데이터를 전송하는 것이 필요하였으며 그로부터 만들어진 프로토콜이 ftp입니다.
다시 말해서, `자신이 원하는 호스트에 ID와 패스워드라는 인증단계를 거쳐 접근허가를 받아원하는 파일을 손쉽게 다운로드 받을 수 있는 것`입니다.

FTP종류

종류ProFTPD서버Wu-FTPD서버
특징유닉스 호환 운영체제를 위해 배포 되고 있는 FTP데몬워싱턴 대학에서 개발한 유닉스용 FTP 데몬
장점자원의 효율적인 사용, 빠른 처리 속도사용법이 간단하고 편리함
단점보안이 취약함
사이트www.proftpd.netwww.wu-ftpd.org

Proftpd 설치

우분투에 해당하는 설치 방법

$ sudo apt install proftpd

서버 접속 테스트


localhost로 접속하여 ftp 접속을 확인합니다.
ftp 안에서 pwd 명령어를 사용한 이후 결과를 확인하고 exit로 빠져나왔습니다.

osori-pcsu@ubuntu:~$ ftp localhost
Connected to localhost.
220 ProFTPD Server (Debian) [::ffff:127.0.0.1]
Name (localhost:osori-pcsu): osori-pcsu
331 Password required for osori-pcsu
Password:
230 User osori-pcsu logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/osori-pcsu" is the current directory
ftp> exit
221 Goodbye.
osori-pcsu@ubuntu:~$ 

ftp 서버 설정

proftpd 데몬은 /etc/proftpd/proftpd.conf 에 위치해 있습니다. 편집기를 이용하여 변경도 가능합니다. 편집 이후에는 아래 명령어로 실행해야 정상 사용 가능해요.

$ vi /etc/proftpd/proftpd.conf

ServerName                      "Debian"
# Set to inetd only if you would run proftpd by inetd/xinetd.
# Read README.Debian for more information on proper configuration.
ServerType                              standalone
DeferWelcome                    off

MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayChdir                    .message true
ListOptions                     "-l"

DenyFilter                      \*.*/

#Use this to jail all users in their homes
#DefaultRoot                   

proftpd 기본 설정

  • servertype: 서버 타입을 결정함(ex.standalone..)
  • Port : 포트 번호를 지정
  • Umask: 디렉토리 및 파일 생성시의 기본권한 결정

Anonymouse 서버 설정

배울 사항

  1. Anonymouse 서버 설정
  2. Annoymouse가 사용할 디렉토리의 생성과 그 디렉토리에 대한 권한 변경

짧은 정리

1. 익명자 즉, 계정부여를 받지 않은 사람을 의미
2. 익명자는 허가 받지 않은 사람임. 악의 적인 행동을 할 수 있기에 권한 제한을 하느 서버 설정 부분이 필요
3. 익명자에게 주어지는 계정 아이디는 Anonymouse or FTP.
4. 디렉토리 생성 -> 사용자명 변경 -> 권한 제한
5. 

Annoymouse 접속 설정

아래 명령어를 실행하여 서버 설정이 가능해요.

vi /etc/proftpd/conf.d/

아래와 같은 설정 파일을 생성하였을 경우, 로그인 계정 없이 FTP 서버에 접속을 허용할 수 있도록 설정 할 수 있습니다.

<Anonymous /data>
  User ubuntu
  Group ubuntu

  UserAlias anonymous ubuntu
  DirFakeUser       on ubuntu
  DirFakeGroup on ubuntu
  MaxClients 10

  <Directory input>
    <Limit STOR>
      AllowAll
    </Limit>
  </Directory>
</Anonymous>

FTP 서버 로그 확인

서버 접속자 등 로그 내용을 확인시에는 /var/log/proftpd/proftpd.log 파일의 내용을 확인하세요.

osori-pcsu@ubuntu:~$ vi /etc/proftpd/proftpd.conf
osori-pcsu@ubuntu:~$ sudo cat  /var/log/proftpd/proftpd.log
[sudo] password for osori-pcsu: 
2020-11-18 23:28:45,916 ubuntu proftpd[3137] ubuntu: ProFTPD 1.3.6c (maint) (built Thu Feb 27 2020 19:34:56 UTC) standalone mode STARTUP
osori-pcsu@ubuntu:~$ 

FTP 서버 오류

Passive 모드가 동작 하지 않을 경우
Passive 모드가 제대로 동작하지 않는 문제는 외부에서는 공인아이피로 서버 접속이 이뤄지게되지만 내부적으로 사설 아이피를 사용하는 경우임

이 경우는 /etc/proftpd/proftpd.conf 설정 파일의 내용 중에서 아래와 같이 MasqueradeAddress 값을 서버의 공인 IP 주소로 지정합니다.

# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.

MasqueradeAddress 1.2.3.4
이 밖에도 Passive 모드에서 사용되는 포트가 차단 될 경우 Passive 모드가 제대로 동작하지 않을 수 있습니다.


추가

알드라이브 를 이용해서 윈도우에서도 손쉽게 리눅스 컴퓨터와 파일 송수신이 편리하게 할 수 있음.
파일질라 일반적으로 가장 많이 사용함

profile
어제보다 오늘 그리고 오늘 보다 내일...

0개의 댓글