[STEP 1] 'yum -y install vsftpd'를 입력해 vsftpd 패키지를 설치한다.
1-1. vsftpd에 'anonymous (익명)' 으로 접속되는 디렉토리는 /var/ftp/다. vsftpd 패키지의 서비스 이름은 vsftpd 다.
※ anonymous 사용자는 ftp 전용의 사용자로 모든 리눅스에 내장된 사용자다. 특별히 암호 없이도 ftp 서버에 접속할 수 있다. 외부에서 접속할 때는 사용자 이름이 anonymous지만, 리눅스 내부에서는 ftp라는 이름으로 사용된다. 그리고 이 ftp사용자의 홈 디렉토리는 /var/ftp다. 그래서 anonymous 사용자로 접속하면 접속되는 디렉토리는 /var/ftp가 된다.
1-2. 'firewall-cmd' 명령어를 통해 ftp 서비스를 허용해준다.
[STEP 2] 윈도우에서 프리웨어 FTP 클라이언트인 FileZilla를 사용해 FTP 서버에 접속해본다.
※ FTP 서버에 접속해서 파일을 다운로드하는 일에 웹 브라우저를 사용해도 된다. 웹 브라우저의 주소줄에 ftp://서버IP주소/ 만 적어주면 기본적으로 anonymous 사용자로 접속된다.
2-1. 기본적으로 FTP 서버에 anonymous 사용자로 접속하면 [다운로드]는 허용되지만, [업로드]는 허용되지 않는다. 그러므로 vsftpd의 설정파일인 /etc/vsftpd/vsftpd.conf 파일을 수정해야 한다.
vi 에디터로 vsftpd 설정파일인 /etc/vsftpd/vsftpd.conf 파일을 열고 다음과 같이 수정한다.
FTP 설정파일 ( /etc/vsftpd/vsftpd.conf ) | ||
19행쯤 확인 |
write_enable=YES |
기본적인 업로드 허용 |
29행쯤 |
anon_upload_enable=YES |
주석(#)제거(anonymous 사용자의 업로드 허용) |
33행쯤 |
anon_mkdir_write_enable=YES |
주석(#)제거(anonymous 사용자의 디렉토리 생성 허용) |
아무줄에 |
ftpd_banner= 환영!! Fedora 19 FTP 서버!! |
접속 시 환영 메시지 추가 |
※ 16행의 local_enable=YES 의 경우 FTP서버가 설치된 리눅스 상의 일반사용자가 FTP클라이언트를 통해 접속할 수 있도록 허용한 경우이다. 예를들어 현재 리눅스서버에 fedora 사용자가 존재한다면 fedora 사용자도 FTP서버에 접속이 가능하다. 만약 리눅스 상의 로컬사용자의 FTP서버 접근을 허용하지 않고자 한다면 local_enable=YES 부분을 주석(#)처리 하면된다.
FTP설정파일인 vsftpd.conf 파일의 16행의 local_enable=YES 를 주석(#)처리 후 ftp 서비스를 systemctl restart vsftpd 를 통해 재시작 후 FTP 클라이언트 프로그램을 통해 fedora 사용자로 접속해보면 FTP서버에 접속이 안되는 것을 알 수 있다.
vsftpd.conf 파일에서 자주 사용하는 옵션 | |
anonymous_enable |
anonymous(익명) 사용자의 접속을 허가할지 설정 |
local_enable |
로컬사용자의 접속 허가 여부를 설정 |
write_enable |
로컬 사용자가 저장, 삭제, 디렉토리 생성 등의 명령을 실행하게 할 것인지 설정(anonymous 사용자는 해당 없음) |
anon_upload_enable |
anonymous 사용자의 파일 업로드 허가 여부를 설정 |
anon_mkdir_write_enable |
anonymous 사용자의 디렉토리 생성 허가 여부를 설정 |
dirlist_enable |
접속한 디렉토리의 파일 리스트를 보여줄지 설정 |
download_enable |
다운로드의 허가 여부를 설정 |
listen_port |
FTP 서비스의 포트 번호를 설정(기본: 21번) |
deny_file |
업로드를 금지할 파일을 지정(예: deny_file={*.mpg,*.mpeg,*.avi}) |
hide_file |
보여주지 않을 파일을 지정(예: hide_file={*.gif,*.jpg,*.png}) |
max_clients |
FTP 서버의 동시 최대 접속자 수를 지정 |
max_per_ip |
1개 컴퓨터가 동시에 접속할 수 있는 접속자 수를 지정 |
2-2. 업로드할 /var/ftp/pub/ 디렉토리의 소유권도 anonymous 사용자의 접속 이름인 ftp로 바꿔야 한다. 'chown ftp.ftp /var/ftp/pub/' 을 입력해 바꾼다. 변경 후에는 systemctl restart vsftpd 를 입력해 vsftpd 서비스르 다시 시작한다.
※ 'chown ftp.ftp /var/ftp/pub/' 을 실행해 소유권(Ownership)을 변경하는 대신에, 'chmod 777 /var/ftp/pub/' 을 실행해 허가권(Permission)을 변경해도 업로드할 수 있다.
2-3. Filezilla 등의 FTP 클라이언트 프로그램을 통해 FTP 서버에 접속하면 vsftpd.conf 파일에서 설정했던 환영메시지가 보인다. 아무파일이나 FTP 서버의 pub 디렉토리에 파일을 업로드해본다. 이변이 없는한 이상없이 파일이 업로드 되는 것을 확인할 수 있다.
[STEP 3] 이번에는 윈도우가 아닌 텍스트 모드의 리눅스에서 FTP 접속을 테스트해보자.
3-1. 텍스트 모드에서 비교적 편리하게 사용할 수 있는 ftp 클라이언트인 ncftp 를 사용 'yum -y install ncftp' 를 통해 ncftp 패키지를 설치한다.
3-2. 'ncftp' 명령어를 입력해 FTP 서버에 접속한 후, '/pub' 디렉토리에 파일을 업로드하고 다운로드해보자.
'네트워크 서버 구축 실무' 카테고리의 다른 글
네임서버 설치와 운영 (0) | 2015.08.07 |
---|---|
프록시 서버 설치와 운영(페도라의 Squid 프록시서버) (0) | 2015.01.04 |
소스를 컴파일해서 APM을 설치하자.(Fedora 19) (0) | 2014.12.29 |
VNC 서버구축(Fedora 19) (0) | 2014.12.26 |