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
같은 카테고리의 다른 글
아이피타임(ipTIME) 공유기 / 보안 문자(CAPTCHA) 비활성화 하는 방법

아이피타임(ipTIME) 공유기 / 보안 문자(CAPTCHA) 비활성화 하는 방법

ipTIME 공유기 관리자 페이지에 접속할 때 보안 문자(CAPTCHA)를 입력하게 되어 있다. 보안 상 사용하는 게 좋기는 한데, 역시 불편하다. 만약 이 기능을 끄고 싶다면 에서 변경할 수 있다. 의 값을 변경하면 되는데... 으로 설정하면 항상 보안 문자를 입력해야 하는 것이고... 으로 설정하면 보안 문자 ...

보안 / IDS - Intrusion Detection System

Intrusion Detection System(IDS)는 네트워크나 시스템에서 발생하는 활동을 모니터링하고, 악의적인 활동이나 정책 위반을 탐지하여 관리자에게 경고를 보내는 보안 장치입니다. IDS는 침입 방지 시스템(IPS)과는 달리, 탐지된 위협을 차단하지 않고 알림을 통해 관리자에게 통보하는 역할을 합니다. 주요 특징 실시간 모니터링 네트워크 트래픽이나 시스템 로그를 실시간으로 모니터링하여 이상 활동을 탐지합니다. 위협 탐지 악의적인 활동, 정책 위반, 비정상적인 트래픽 패턴 ...

버추얼박스 / CentOS 8 게스트에 게스트 확장(Guest Additions) 설치하기

버추얼박스 / CentOS 8 게스트에 게스트 확장(Guest Additions) 설치하기

VirtualBox에 CentOS 8을 GUI 모드로 사용하고 싶다면 게스트 확장(Guest Additions)을 설치하는 것이 좋습니다. 그래야 호스트와 게스트 간 마우스 이동이 편리하고, 클립보드 공유나 드래그 앤 드롭이 가능해집니다. 패키지 설치하기 게스트 확장을 설치하려면 몇 가지 패키지를 설치해야 합니다. root 계정으로 로그인한 상태에서 진행하겠습니다. Activities를 클릭하고 터미널을 클릭합니다. 다음과 같이 명령하여 EPEL(Extra Packages for Enterprise Linux) 저장소를 ...

포토샵 / 인물 배경 제거하는 방법

포토샵 / 인물 배경 제거하는 방법

배경을 제거할 레이어를 선택한다. 를 클릭한다. 끝. 을 클릭하면 인물 부분만 선택이 된다. 를 클릭하면 더 많은 작업을 볼 수 있다.

모니터 / FreeSync

모니터 FreeSync는 AMD가 개발한 기술로, 그래픽 카드와 모니터의 주사율을 동기화하여 화면 찢김(Tearing)과 끊김(Stuttering)을 방지하는 기능을 제공합니다. 이 기술은 주로 게임 플레이 시 보다 부드럽고 일관된 시청 경험을 제공하는 데 사용됩니다. FreeSync의 작동 원리 주사율 동기화 FreeSync는 그래픽 카드와 모니터 간의 주사율을 동기화하여 화면 찢김을 방지합니다. 화면 찢김은 그래픽 카드가 모니터의 주사율과 일치하지 않는 ...

리눅스 / 명령어 / scp

scp는 ssh 프로토콜을 이용하여 파일을 송수신하는 명령어이다. local → remote remote → local remote → remote 모두 가능하다. local → remote 파일 복사 # scp a.txt root@192.168.3.211:/temp/a.txt root@192.168.3.211's password: 명령어를 실행한 디렉토리에 있는 a.txt 파일을 192.168.3.211 컴퓨터에 root 계정으로 연결하여 복사한다. 원격 컴퓨터에 /temp 디렉토리가 없으면 복사되지 않는다. 원격 컴퓨터에 /temp 디렉토리가 있으면 a.txt로 복사된다. a.txt 파일이 이미 있다면 덮어쓴다. root 계정의 ...

OBS Studio / 윈도우 캡쳐 / 크롬 웹브라우저 검정으로 나오는 문제 해결하는 방법

OBS Studio / 윈도우 캡쳐 / 크롬 웹브라우저 검정으로 나오는 문제 해결하는 방법

윈도우 캡쳐 OBS Studio로 특정 윈도우를 선택하여 캡쳐할 수 있습니다. 방법은... 윈도우 캡쳐를 추가하고... 적당히 이름을 정한 후 을 클릭하고... 윈도우 목록에서 원하는 창을 선택하면 되는데... 크롬 웹브라우저가 검정으로 나온다면 크롬을 선택했을 때 검정으로 나오는 경우가 있습니다. 해결하는 방법은 크롬의 설정을 변경하는 것입니다. 크롬 설정을 열고... 을 클릭한 다음... 을 해제하면... 해결됩니다.

노트북 / HP 빅터스 / 15-FA0061TX 구입 후기

노트북 / HP 빅터스 / 15-FA0061TX 구입 후기

노트북을 구입하게 되었다. 용도는 그래픽과 동영상 편집용. 원활한 작업을 위해서는 다음의 사양이 필요했다. 외장 그래픽 카드 메모리 확장 또는 교체 가능 디스크 확장 또는 교체 가능 가격은 100만 원 대 초중반 색은 검정 또는 그레이 색에 신경 쓰는 이유는 변색 때문이다. 손 때 묻는 거야 닦으면 되지만, 하얀색 노트북은 누렇게 변색되는 경우가 많다. 이 조건으로 검색을 하니 ...

PuTTY / 사용법 / SSH / 서버에 접속하는 방법

기본 PuTTY를 실행합니다. 에 서버의 호스트이름이나 IP를 입력합니다. 에는 서버에서 설정한 SSH 포트를 입력합니다. 기본 포트는 22이나, 다른 포트를 사용할 수도 있습니다. 이 SSH로 되어 있는지 확인합니다. 을 클릭합니다. 처음 접속하는 거라면, 아래와 같은 창이 나올 수 있습니다. 를 클릭합니다. 계정 이름과 비밀번호를 입력하고 로그인합니다. 접속 정보 저장하기 자주 접속하는 서버라면, 접속할 서버가 많다면, ...

리눅스 / 명령어 / alias / 명령어 별칭 만들기

긴 명령어 또는 복잡한 명령어를 자주 사용한다면 alias를 사용하자. 시간을 많이 절약할 수 있다. alias 목록 보기 alias를 실행하면 현재 등록된 alias를 출력한다. alias 예를 들어 ll을 실행한다는 것은 ls -alF를 실행하는 것과 같다. alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' alias 만들기 alias는 다음과 같이 만든다. abc를 실행하는 ...