FTP 서버 설치와 운영
FTP 개요
- FTP(File Transfer Protocol)는 파일을 전송하기 위한 서비스
- 웹에서 FTP의 고유 기능인 파일 전송을 편리하게 할 수 있게 되어서 예전보다 인기가 많이 떨어짐
- 파일 전송 자체를 위해서는 성능이 뛰어남
- vsftpd는 우분투에서 제공해 줌
- vsftpd(Very Secure FTPD)는 우분투에서 기본적으로 제공되며, 리눅스와 유닉스 환경에서 보안성과 성능이 우수한 FTP 서버로 인정받고 있음.
- proftpd는 주로 대형 사이트에서 오랫동안 인기가 많았던 ftp 서버임.
vsftpd의 설치와 운영
Server
- Server를 초기화 후 Virtual Machine Settings에서 Network Adapter를 클릭 후 네트워크를 NAT에서 bridged로 변경 후 부팅
- Server는 부팅이 끝나면 케이블 연결의 IPv4에서 IPv4 방식을 자동으로 네임서버(DNS) 를 8.8.8.8로 설정
- Server와 WinClient의 IP 주소 확인
- 192.168.0.2 - Server
- 192.168.0.32 - WinClient
- vsftpd 패키지를 설치
- apt -y install vsftpd
- 일반적으로 FTP의 용도는 anonymous(익명) 사용자의 접속을 허용하는 거이 대부분. anonymous 사용자의 허용 여부는 /etc/vsftpd.conf 파일에 설정되어 있다. anonymous 사용자가 접속 및 파일 업로드를 허용하도록 설정하자.
- gedit /etc/vsftpd.conf
- 25행 anonymous_enable=YES - NO를 YES로
- 31행 write_enable=YES - 주석 제거
- 40행 anon_upload_enable=YES - 주석 제거
- 44행 anon_mkdir_write_enable=YES - 주석 제거
- vsftpd에 anonymous(익명)로 접속되는 디렉터리는 /srv/ftp다. 이 디렉터리 아래에 pub 디렉터리를 만들고 모든 사용자에게 읽기/쓰기 권한을 주자.
- cd /srv/ftp
- mkdir pub
- chmod 777 pub - 디렉터리 허가권 변경
- cd pub
- cp /boot/vmlinuz-* file1 - 샘플 파일 복사
- ls -l - 복사한 샘플 파일 확인
- 서비스 시작/등록/상태확인
- systemctl restart/enable/status vsftpd
- 방화벽 끄기
- ufw disable
WinClient
- FTP 서버에 접속해서 파일을 다운로드/업로드해보자
- 프리웨어 FTP 클라이언트인 FileZilla를 설치(https://filezilla-project.org에서 다운로드). 모두 기본 설정 값으로 설치하면 된다.
- 설치가 끝나면 실행 후 호스트: 192.168.0.2 / 사용자: anonymous / 암호: 아무거나
Server B
- Server-B를 bridged 모드로 변경
- IP 설정을 수동에서 DHCP로 변경
- nano /etc/netplan/00-installer-config.yaml
- 5행 dhcp4: true
- 6행~8행 주석처리
- 9행 addresses: [8.8.8.8]
- 텍스트 모드에서 비교적 편리하게 사용할 수 있는 ftp 클라이언트인 lftp를 설치
- apt -y install lftp
- cp /boot/vmlinuz-* file2
- lftp 192.168.0.2(서버 IP) - ftp 서버에 접속
- cd pub
- ls
- put file2(파일 명) - 파일 업로드(UTIME 오류가 나와도 무시한다.)
- get file1(파일 명) - 파일 다운로드(wget: 여러개 묶음 다운, get: 파일 하나만 다운로드)
ProFTPD의 설치와 운영
Server
- proftpd 패키지 설치
- apt -y install proftpd
- proftpd 설정 파일 변경. anonymous 사용자가 접속해서 파일을 업로드/다운로드할 수 있도록 설정을 변경
- gedit /etc/proftpd/profpd.cof
- 149행 <Anonymous ~ftp>부터 188행의 </Anonymous>까지 제일 첫 열의 주석을 모두 제거
- 176행 <Directory incoming>부터 186행의 </Directory>까지 각 행 앞의 주석 제거
- 171행 DenyAll -> AllowAll
- 181행 DenyAll -> AllowAll
- 서비스 재시작/상시 가동
- systemctl restart/enable proftpd
- 방화벽 비활성화
- ufw disable
WinClient
- FileZilla로 FTP 서버에 접속
'Linux' 카테고리의 다른 글
7월 27일 Linux(2) (0) | 2022.07.27 |
---|---|
7월 27일 Linux(1) (0) | 2022.07.27 |
7월 26일 Linux(1) (0) | 2022.07.26 |
7월 25일 Linux (0) | 2022.07.25 |