Ubuntu Server 22.04 / vsftpd로 FTP 서버 구축하기

vsftpd

vsftpd(Very Secure FTP Daemon)는 유닉스와 리눅스에서 사용할 수 있는 가벼운 FTP 서버입니다. 주요 특징은 다음과 같습니다.

  • Virtual IP configurations
  • Virtual users
  • Standalone or inetd operation
  • Powerful per-user configurability
  • Bandwidth throttling
  • Per-source-IP configurability
  • Per-source-IP limits
  • IPv6
  • Encryption support through SSL integration

설치

vsftpd는 우분투 패키지에 포함되어 있으므로 다음과 같이 명령하여 설치할 수 있습니다.

# apt install vsftpd

방화벽을 사용 중이라면 다음과 같이 명령하여 포트를 열어줍니다.

# ufw allow ftp

서버 부팅 시 자동으로 시작하게 하려면 다음과 같이 명령합니다.

# systemctl enable vsftpd

설정 변경 후 적용시키려면 서비스를 다시 시작하거나

# systemctl restart vsftpd

다시 로드합니다.

# systemctl reload vsftpd

주요 설정

설정 파일은 /etc/vsftpd.conf입니다.

주요 기본 설정은 다음과 같습니다.

  • 익명 사용자 접속 불가
  • 사용자는 읽기 전용으로 접속
  • 다른 폴더 보기 가능

사용자 쓰기 가능하게 하기

사용자는 읽기 전용으로 접속하므로 파일을 업로드하거나 삭제하는 것이 불가능합니다. 쓰기 가능하게 하려면 다음 코드에서 주석(#)을 제거합니다.

#write_enable=YES

사용자 홈 디렉토리를 벗어나지 못하게 하기

사용자는 홈 디렉토리를 벗어나서 다른 디렉토리나 파일 목록을 볼 수 있습니다. 다운로드나 업로드는 불가능하나 목록을 보는 거 자체가 문제가 될 수 있습니다. 접속한 사용자가 홈 디렉토리를 벗어나지 못하게 하려면 다음 코드에서 주석을 제거하고...

#chroot_local_user=YES

다음 코드를 추가합니다.

allow_writeable_chroot=YES

익명 사용자 접속

익명 사용자, 즉 누구나 접속할 수 있게 하려면 다음 설정 코드에서 No를...

anonymous_enable=NO

YES로 변경합니다.

anonymous_enable=YES

읽기 전용으로 /srv/ftp에 접속됩니다.

익명 사용자에게 업로드, 쓰기 권한 부여

익명 사용자가 업로드와 쓰기가 가능하게 하려면 두 가지 작업을 해야 합니다.

설정 파일 수정

설정 파일에서 다음 두 코드에서 주석을 제거합니다.

#anon_upload_enable=YES
#anon_mkdir_write_enable=YES

디렉토리 권한 설정

예를 들어 /srv/ftp/pub 디렉토리에 업로드와 쓰기가 가능하게 하고 싶다면, 디렉토리를 만들고...

# mkdir /srv/ftp/pub

쓰기 가능하게 권한을 부여하거나...

@ chmod 777 /srv/ftp/pub

ftp 사용자에게 소유권을 부여합니다.

# chown ftp:ftp /srv/ftp/pub
같은 카테고리의 다른 글
썬더버드(Thunderbird) / 메일 계정 추가, 삭제하는 방법

썬더버드(Thunderbird) / 메일 계정 추가, 삭제하는 방법

썬더버드(Thunderbird)는 모질라에서 만든 메일 클라이언트입니다. 지메일, 네이버, 다음 등 IMAP 또는 POP3를 지원하는 여러 메일 계정을 등록하여 사용할 수 있습니다. 메일 계정을 어떻게 추가하는지, 필요하지 않게 된 메일 계정을 어떻게 삭제하는지 알아보겠습니다. 밑의 과정을 진행하기 전에, 각 메일 서비스에서 IMAP을 사용 가능하게 설정해주어야 합니다. 메일 계정 추가 - 지메일 오른쪽 위의 선 세 ...

엡손 무한 복합기 L455 / 잉크 리필하는 방법

엡손 무한 복합기 L455 / 잉크 리필하는 방법

엡손 무한 복합기 L455의 잉크를 리필하는 방법은 처음 구입 시 잉크를 넣는 방법과 동일하다. 잉크는 하이마트나 인터넷 쇼핑몰에서 구입할 수 있는데, 배송비까지 생각하면 하이마트가 더 저렴한 듯 하다. 가격은 계속 오르니 미리 많이 사두는 것이 좋다. 잉크 리필 과정은 다음과 같다. 잉크의 뚜껑을 열고... 은박지(?)를 제거하고 뚜껑을 닫는다. 잉크통을 엽으로 눕히고... 잉크의 꼭지를 따고 부으면 ...

인텔 10세대 또는 11세대 노트북에 윈도우 설치할 때 드라이브가 없는 문제 해결하는 방법

인텔 10세대 또는 11세대 노트북에 윈도우 설치할 때 드라이브가 없는 문제 해결하는 방법

인텔 11세대 CPU를 탑재한 노트북을 샀다. HP 빅터스 계열로, 가성비 좋은 게이밍 노트북이다. 프리 도스 제품을 샀기에 제일 먼저 한 것은 윈도우를 설치하는 것. 설치용 USB를 만들고, 바이오스에서 부팅 순서 변경하고, 설치를 시작했는데... 윈도우를 설치할 저장소(드라이브)가 없다고 나온다. 꽤 많은 컴퓨터를 만져보고 수없이 윈도우를 설치했는데, 이런 적은 처음이다. 그 중에는 다른 ...

USB Type C To HDMI 연결 케이블로 노트북와 모니터 연결하기

USB Type C To HDMI 연결 케이블로 노트북와 모니터 연결하기

노트북을 사용합니다. 집이나 회사에서는 모니터와 연결해서 사용합니다. 노트북과 모니터, 두 개의 화면에서 작업하는데, 어떤 작업을 할 때는 그걸로도 부족할 때가 있습니다. 그래서 모니터를 하나 더 연결하기로 했습니다. 그런데 문제가 있습니다. 노트북에 HDMI 단자가 하나만 있습니다. DP도 없습니다. 대신 USB Type C 포트가 있습니다. 검색을 해보았습니다. USB C HDMI... 잔뜩 상품이 나오더군요. ...

당구 / 시스템 / 일출일몰 시스템

당구 / 시스템 / 일출일몰 시스템

비껴치기로 3쿠션을 칠 때 사용하는 시스템이다. 공이 배치에 따라 회전을 조절하는 것으로, 당점의 변화를 이으면 해가 뜨고 지는 것과 비슷하다 하여 일출일몰 시스템이라 부른다. 파란색이 수구 포인트, 주황색이 1쿠션 포인트, 초록색이 3쿠션 포인트이다. 포인트들을 다 더하여 당점을 정한다. 수구 포인트 + 1쿠션 포인트 + 3쿠션 포인트 = 팁 수 아래의 경우 2팁으로 친다. ...

아이피타임(ipTIME) 공유기 / 외부에서 공유기 관리 페이지에 접속하는 방법

아이피타임(ipTIME) 공유기 / 외부에서 공유기 관리 페이지에 접속하는 방법

공유기 관리는 보통 공유기에 연결되어 있는 컴퓨터에서 한다. 설정을 변경하지 않았다면 웹브라우저에서 192.168.0.1로 접속하면 된다. 192.168.0.1은 사설 IP로, 외부에서는 그 주소로 공유기에 접속할 수 없다. 따라서 외부에서는 공유기 설정을 변경하는 등 관리를 할 수 없다. 만약 외부에서 공유기 관리를 하고 싶다면 별도의 설정을 해야 한다. ipTIME 공유기 관리자 페이지에 접속한다. [고급  설정 - 보안 ...

삼성 4K 모니터 U32J590 / 색 프로필 등록하는 방법

삼성 4K 모니터 U32J590 / 색 프로필 등록하는 방법

컴퓨터를 사용할 때 소리나 색에 민감하면 여러 가지로 불편하다. 남들은 잘 듣지 못하는 소리에 괴로워하고, 남들은 별로 신경쓰지 않는 색 차이에 스트레스를 받는다. 그래서 디자인 관련 작업을 하면 좋은 모니터가 필요하다. 좋은 모니터의 가격은 상상을 초월한다. 모니터가 표현하는 색에 문제가 있는 거 같다면 제조사에서 제공하는 색 프로필을 등록한다. 색 프로필 등록 ...

Bitvise SSH Client / 사용법

Bitvise SSH Client / 사용법

다운로드 및 설치 아래 링크에 접속하여 Bitvise SSH Client Installer를 다운로드하고 설치한다. https://www.bitvise.com/ssh-client-download SSH로 서버에 접속하기 Bitvise SSH Client를 실행한다. 접속에 필요한 정보를 입력하고 을 클릭한다. 적절한 방식으로 Accept하면 접속이 완료된다. 을 클릭하면... 콘솔 창이 생기면서 필요한 작업을 할 수 있다. 모든 작업을 마치면 을 클릭한다. 프로파일 저장하기 Bitvise SSH Client는 PuTTY와는 달리 접속 정보를 파일로 저장할 ...

리눅스 / 게이트웨이(gateway) 확인하는 방법

리눅스에서 네트워크 정보는 주로 ifconfig, ip addr 명령어로 확인한다. 그런데, gateway 정보는 나오지 않는다. 만약 gateway 정보가 필요하다면 route 명령어를 사용한다. Ubuntu애서 명령어가 없다고 나오면 net-tools를 설치한다. apt install net-tools

워드프레스 / 플러그인 / Extended User Search In WP-Amin / 이름으로도 사용자 검색 가능하게 하는 플러그인

워드프레스 / 플러그인 / Extended User Search In WP-Amin / 이름으로도 사용자 검색 가능하게 하는 플러그인

이 Theme Buster인 경우... 사용자 목록에 이름이 AAA가 보여도 AAA로 검색하면... 검색이 되지 않는다. 을 AAA로 설정하면... 검색이 된다. 즉, 검색이 가능한 이름은 으로 검색이 되게 하려면 Extended User Search In WP-Amin 플러그인을 사용하면 된다. 특별한 설정을 필요 없고, 플러그인을 ...