일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 회고
- ubuntu
- Raspberry Pi
- 옵G
- 셀레니움
- 프레임워크
- 제주도
- Laravel
- 맛집
- FMS
- 업비트
- 옵티머스 g
- 맥
- MySQL
- codeigniter
- 라즈비안
- 라즈베리파이
- 옵티머스g
- upbit
- Selenium
- Ubuntu 20.04
- 라라벨
- C
- php
- TiL
- 옵지
- 20.04
- 우분투
- 우분투 20.04
- 코드이그나이터
- Today
- Total
평범한 이야기들
[FTP] 우분투에 FTP 설치 및 설정하기 본문
개인 토이 프로젝트 서버에 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