평범한 이야기들

[FTP] 우분투에 FTP 설치 및 설정하기 본문

평범한 개발 이야기/OS

[FTP] 우분투에 FTP 설치 및 설정하기

songsariya 2021. 12. 17. 17:11
728x90

개인 토이 프로젝트 서버에 ftp가 필요로 해서 설치를 하는 과정을 정리하는 글입니다.

ftp 서버는 vsftpd를 사용했습니다. vsftpd는 리눅스에서 동작하는 FTP 서버 프로그램으로, 안전성과, 빠른 속도 그리고 보안성이 우수해서 많은 분들이 사용하고 계시는 프로그램입니다.

vsftpd 설치

1. vsftpd설치

우분투를 이용하고 있기 때문에 apt 명령어를 이용해서 설치를 해줍니다.

sudo apt-get install vsftpd

2. vsftpd 수정

vim /etc/vsftpd.conf

vsftpd.conf 설정 파일에서 중요한 부분은 아래와 같습니다.

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=YES

vsftpd.chroot_list 파일에 있는 “특정 사용자”에 대해서만 접근을 할 수 있도록 해주는 내용입니다.

해당 파일은 없기 때문에 파일을 생성해 원하시는 계정명을 1줄씩 입력하시면 됩니다.

vsftpd를 재 시작해주시면 됩니다.

service vsftpd restart

계정 생성 및 홈 디렉터리 변경

1. 계정 생성

아래와 같은 명령어를 이용해 계정을 생성해 주시면 됩니다.

sudo useradd 아이디(영문)
sudo passwd 아이디(영문)

2. 디렉터리 변경

sudo vim /etc/passwd

passwd 파일을 열면 생성하신 계정명과 함께 현재 우분투에서 사용하고 있는 계정의 리스트가 나오게 됩니다. 계정의 디렉터리를 변경을 원하시면 변경을 하시고 저장하시면 됩니다.

3. 계정의 ssh, sftp 접근 불가 설정

ssh접속 관련 설정을 변경을 해주어야 합니다.

sudo vim /etc/pam.d/sshd

sshd 파일을 열어 아래와 같이 입력해주시면 됩니다.

auth required pam_listfile.so item=user sense=deny file=/etc/ssh/sshusers onerr=succeed

내용은 /etc/ssh/sshusers 에 있는 계정을 접속하지 못하게 막아주는 역할을 합니다. sshusers 파일을 만들어 계정명을 입력해주시면 됩니다.

sshd 서비스를 재시작해주면 됩니다.

service sshd restart

설정이 완료되어 ftp 프로그램을 이용해서 접속을 하시면 정상적으로 접속이 되는 것을 확인하실 수 있습니다.

vsftpd 500 oops 에러?

500 OOPS: vsftpd: refusing to run with writable root inside chroot()와 같은 에러가 나올 수가 있습니다. 이는 설정에서 root 디렉터리의 접근을 차단하고 root 디렉터리에 접근 가능한 user list를 이용하여 설정할 경우 생기는 오류입니다. 이런 오류는 두 가지를 확인해보시면 됩니다.

1. 디렉터리 권한 변경

chmod 명령어를 이용해 접근 권한을 변경해주시면 됩니다.

2. vsftpd.conf 파일에 코드 추가

vsftpd.conf 설정 파일에서 코드를 추가해주시면 됩니다.

allow_writeable_chroot=YES
728x90
Comments