ftp란?
인터넷 상의 컴퓨터들 간의 파일을 교환하기 위한 표준 프로토콜. 가장 간단한 방법.
화면에 표시할 수 있는 웹페이지와 관련 파일을 전송하는 HTTP, 전자우편을 전송하는 SMTP등과 같이 FTP 역시 인터넷의 TCP/IP 응용 프로토콜 중 하나.
FTP는 웹 페이지 파일들을 인터넷 상에서 모든 사람이 볼 수 있도록 하기 위해 저작자의 컴퓨터로부터 서버로 옮기는 과정에서 사용.
TUI와 GUI 모두 사용 할 수 있다.
보통은 웹 브라우저도 웹 페이지로부터 선택한 프로그램을 다운로드 하는데 FTP를 사용.
서버에 있는 파일을 지우거나, 이름을 바꾸거나, 옮기거나 복사하는 등 갱신작업도 가능.
로그인을 해야하지만 익명의 FTP를 사용하여 모든 사람들에게 공개된 파일들을 쉽게 접근하도록 함.
FTP는 보통 TCP/IP 에 함께 딸려오는 일련의 프로그램 속에 포함되어 있다.
Real FTP : Real 사용자 ( ID / PASS 인증 사용자들 ) Ex. user01, fedora....
Anonymous FTP : Anonymous 사용자 ( 인증 없는 사용자들 ) Ex. anonymous, ftp....
Anonymous FTP?
익명 FTP.
Anonymous FTP는 서버에 자신을 식별시키지 않고서도 파일에 접근할 수 있는 방법을 제공.
Anonymous FTP는 서버에 접속 한 뒤 사용자 아이디로 "Anonymouns" 라고 입력하고, 패스워드에는 자신의 이메일 주소를 입력한다.
패스워드를 입력하지 않거나 다른 내용을 입력하더라고 아무런 이상이 없지만 자신의 이메일 주소를 넣는 것이 통신상의 예의이다.
FTP 프로그램의 종류
wu-ftpd : 예전 RedHat Linux에서 사용하던 기본 FTP프로그램
vsftpd : 현재 많이 사용되고 있는 FTP프로그램
proftpd : 현재 많이 사용되고 있는 FTP프로그램
기타( gssftp, tftp, sftp, . . . )
vsftpd와 proftpd의 차이점
vsftpd |
ⓐ UNIX 시스템에서 사용할 수 있는 Free FTP Demon ⓑ 리눅스, 솔라리스, HP, FreeBSD 등에 지원 ⓒ Redhat, SUSE, OPEN-BSD에서 리본 FTP 데몬으로 채택 ⓓ 가상 IP 설정 (Virtual IP Configuration) ⓔ 가상 유저 지원 ( Virtual Users) ⓕ Standalone 또는 inetd(xinetd) 지원 ⓖ 전송 대역폭 조절 기능 ⓗ 환경 설정 파일을 IP별로 독립적으로 지원 ( Per-Source-IP Configuration ) ⓘ IP별로 제한 기능 ⓙ IPv6 지원 ⓚ SSL을 사용한 암호화 지원 ⓛ 보안부분을 특히 강조한 서버 데몬 |
proftpd |
ⓐ UNIX 또는 UNIX 호환 OS를 위한 FTP Demon ⓑ Apache Web Server의 설정 방식 ⓒ Apache의 ".htaccess" 와 비슷한 각 디렉토리의 ".ftpaccess" 설정 ⓓ 쉽게 설정할 수 있는 다중 가상 FTP서버와 anonymous FTP 서비스 ⓔ 시스템 부하에 따라 standalone or inetd 선택적 운영 ⓕ shadow 암호 지원, 만료된 계정들 지원 포함 |
FTP
프로그램 |
vsftpd |
데몬 & 포트 & 프로토콜 |
/usr/sbin/vsftpd & 20/21 & TCP |
주 설정 파일 |
/etc/vsftpd/vsftpd.conf |
하위 설정 파일 |
/etc/vsftpd/{ user_list , ftpusers } |
스크립트 |
/etc/init.d/vsftd |
◇ 실습
# rpm -qa | grep vsftpd
# rpm -ql vsftpd
# cd /etc/vsftpd ; ls
★ vsftpd 관련 파일들
/etc/vsftpd/vsftpd.conf |
vsftpd 프로그램의 주 설정 파일 |
/etc/vsftpd/ftpuser |
vsftpd 서버에 접속 할 수 없는 사용자 정의 |
/etc/vsftpd/user_list |
vsftpd 서버에 접속 할 수 없는 사용자 정의 |
/var/ftp |
Anonymous FTP 사용자를 위한 정의 |
# service ftp restart
# chkconfig ftp on
# vsftp -v < 버전정보 확인.
# ftp localhost (root)
> root는 접속이 허용되지 않는다.
# ftp localhost (fedora)
> 일반사용자는 가능하다.
어떻게 하면 root도 가능하게 할 수 있을까??
# vi /etc/vsftpd/fusers
# vi /etc/vsftpd/user_list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 |
# /etc/vsftpd/fusers
# Users that are not allowed to login via ftp
root # 삭제
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
# /etc/vsftpd/user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root #
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
|
cs |
# service vsftpd restart
# ftp localhost (root)
> 이제 된당 하핫!
But , FTP는 평문 형태로 보낸다 보안상 좋지 않기 때문에 실무에서는 좋지 않다고 한다. ★★★★★★★★
◇ 업로드 실습
명령어 사용법
# ftp <IP> ( Ex : ftp 192.168.35243 )
# ftp <IP> <PORT> ( Ex : ftp 192.168.35243 21 )
업로드 / 다운로드 포인터 맞추기 |
cd / lcd |
편리한 기능 설정 |
bin / hash / prompt ( 이 것들은 항상 무조건 입력해준다.) |
업로드 / 다운로드 |
mget / mput / get / put |
확인 / 해제 |
ls / dir / bye / quit |
192.168.35.243-------------->>192.168.35.143
# cd /root
# dd if=/dev/zero of=linux213 bs=1M count=1
# ftp 192.168.35.143
ftp> cd /tmp
ftp> lcd /root
ftp> bin > 전송모드 : binary, ascii
ftp> hash > 파일전송 : Hash(#) 표시
ftp> prompt > 대화형 모드 : ON /OFF
ftp> put linux213.txt > 집어 넣는 것.
ftp> get linux213.txt > 가져 오는 것.
ftp> mput linux* > 일반적으로 얘네를 쓰는 것을 권장.
ftp> mget linux*
★ FTP는 모든 운영체제에 다 있다.
'Linux > NetAdmin' 카테고리의 다른 글
[CentOS5.11] vsFTP 서버 실습. (0) | 2017.09.17 |
---|---|
[CentOS5.11] 가상 호스트 설정. (0) | 2017.09.17 |
[CentOS5.11] .htaccess 를 이용한 웹 보안. (0) | 2017.09.16 |
[CentOS5.11] 아파치 웹서버 CGI 설정. (0) | 2017.09.16 |
[CentOS5.11] 아파치(Apache) 웹 서버. (0) | 2017.09.16 |