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
같은 카테고리의 다른 글
ASUS / 메인보드 / 장착 가능한 메모리와 크기 확인하는 방법

ASUS / 메인보드 / 장착 가능한 메모리와 크기 확인하는 방법

메인보드에 메모리 슬롯이 4개 있고, 최대 인식 메모리가 64GB라고 하면, 16GB 메모리를 4개 끼울 수 있다. 그리고 메모리 규격(DDR4, DDR5 등)만 맞으면 삼성 메모리 사용하든 하이닉스 메모리를 사용하든 상관 없을 거라 생각했는데... ASUS의 경우 메모리 제조사에 따라 메인보드가 인식할 수 있는 크기가 다를 수 있다. 예를 들어 ADATA 메모리는 32GB까지 가능하지만 ...

윈도우 11에서 사진 EXIF 정보 확인·수정·제거하는 방법

윈도우 11에서 사진 EXIF 정보 확인·수정·제거하는 방법

윈도우 11에서 사진의 EXIF 및 기타 메타데이터를 확인하고, 수정 가능한 항목을 바꾸거나 공유 전 제거하는 방법을 설명합니다. 원본 보존과 제거 결과 확인 시 주의할 점도 함께 살펴봅니다.

아이피타임(ipTIME) 공유기 / 네트워크 프린터 만드는 방법

아이피타임(ipTIME) 공유기 / 네트워크 프린터 만드는 방법

네트워크 기능이 없는, PC와 USB로 연결하여 사용하는 프린터는 여럿이 사용하기 불편하다. 그런데, 공유기가 있으면 공유기를 이용해서 네트워크 프린터로 만들 수 있다. ipTIME 공유기로 네트워크 프린터로 만드는 방법을 알아본다. 공유기에 프린터 연결  ipTIME 공유기에 USB 포트가 있다. 프린터와 연결하고 프린터 전원을 켠다. 공유기 관리자 페이지로 가서 를 클릭한다. USB 포트에 프린터가 있는지 확인한다. 에서 네트워크 ...

워드프레스 / 함수 / wp_is_mobile() / 모바일 접속 여부 판단하는 함수

워드프레스 / 함수 / wp_is_mobile() / 모바일 접속 여부 판단하는 함수

wp_is_mobile() wp_is_mobile()은 모바일 기기로 접속하면 true, 모바일 기기가 아니라면 false를 반환하는 함수이다. 모바일인지 아닌지 구분하는 기준은 $_SERVER 이다. wp_is_mobile()은 wp-includes/vars.php에 정의되어 있다. 예제 1 모바일이면 A를 출력한다. <?php if ( wp_is_mobile() ) { echo 'A'; } ?> 예제 2 모바일이 아니면 A를 출력한다. <?php if ( !wp_is_mobile() ) { echo 'A'; ...

안드로이드 / 앱 / 카카오뱅크 / 해외 송금 / WU(Western Union)으로 송금하는 방법

안드로이드 / 앱 / 카카오뱅크 / 해외 송금 / WU(Western Union)으로 송금하는 방법

해외로 송금하는 방법은 여러 가지가 있습니다. 직접 송금도 있고, PayPal 같은 서비스를 이용할 수도 있고... 방법도 다르고 수수료도 다른데... 보내는 사람 입장에서 가장 편한 건 Western Union입니다. 보내는 사람 입장이라고 한 것은, 받는 쪽은 번거롭기 때문입니다. 서류를 작성해서 은행에 가야 하거든요. 하지만, 보내기 쉽고, 빠르게 전달되고 수수료가 적다는 장점이 있습니다. 카카오뱅크에서도 Western ...

포토샵 / 작업 영역 재설정(초기화)하는 방법

포토샵 / 작업 영역 재설정(초기화)하는 방법

포토샵의 작업 영역은 자신의 취향에 맞게 변경할 수 있습니다. 포토샵 설치 직후의 작업 영역은 아래처럼 생겼지만... 아래처럼 자주 사용하는 것으로 변경할 수 있죠. 만약 그 변경이 마음에 들지 않아서 처음으로 되돌리고 싶다면, 을 클릭하세요. 처음 설정으로 초기화할 수 있습니다.

네트워크 / TTL(Time To Live)

네트워크 / TTL(Time To Live)

개요 TTL은 Time To Live의 약자로, IP 패킷 헤더의 한 필드이다. TTL 필드는 패킷이 네트워크를 통해 전달될 때 패킷이 머무를 수 있는 최대 홉(hop) 수를 지정한다. 이 필드는 패킷이 무한히 순환하지 않도록 방지하는 데 사용된다. TTL의 동작 방식은 다음과 같다. 패킷이 네트워크를 통해 전송될 때 송신자는 TTL 값을 설정한다. 이 값은 일반적으로 64, ...

컴퓨터 부팅 시 Over Current Have Been Detected On Your USB Device!! 에러가 날 때 해결 방법

컴퓨터 부팅 시 Over Current Have Been Detected On Your USB Device!! 에러가 날 때 해결 방법

컴퓨터를 켤 때 다음과 같은 문구를 보여준 후 컴퓨터가 꺼지는 경우가 있다. Over Current Have Been Detected On Your USB Device!! System will shutdown after 15 seconds to protect your mainboard!! 이유는 문구에 있는대로 메인보드에 연결된 USB에 문제가 있다는 것. 해결 방법... 컴퓨터에 연결된 모든 USB를 제거하고 켜지는지 확인하는 것이다. USB 포트에 연결된 것을 ...

엣지 / 초기화 하는 방법

엣지 / 초기화 하는 방법

초기화는 브라우저를 안정화하고 성능을 개선하는 데 도움이 됩니다. 다만 초기화 전 중요한 데이터(예: 북마크, 비밀번호)는 백업하는 것이 좋습니다. 엣지를 초기화하는 방법 두 가지를 소개합니다.

Ubuntu 22.04 Server / 원격 데스크톱으로 연결하는 방법

Ubuntu 22.04 Server / 원격 데스크톱으로 연결하는 방법

GUI 설치 우분투에 GUI를 설치한다. # apt install ubuntu-desktop-minimal xrdp 설치 xrdp를 설치한다. # apt install xrdp 방화벽 설정 원격 데스크톱은 3389 포트를 사용하므로, 방화벽을 사용하고 있다면 포트를 열어 준다. ufw allow 3389/tcp 원격 데스크톱 연결 원격 데스크톱으로 접속한다. 아래와 같은 창이 뜨는데, 를 클릭한다. 계정 정보를 입력하고 를 클릭하면... 원격지에서 GUI로 우분투를 즐길 수 있다.