[펌글] 우분투에 FTP서버 설치하기 (vsftpd)

By | 7월 9, 2011

- 출처 : http://uyeong.tistory.com/64 -

* vsftp를 설치하기전에 다른 ftp가 설치되어 있는지 확인
# sudo dpkg -l | grep ssh
* 설치
# sudo apt-get install vsftpd(시냅틱에서 svftpd를 검색해서 설치해도 무관)
* 서비스 확인
# netstat -ntl
* vsftp설정파일 수정
# sudo gedit /etc/vsftpd.conf
anonymous_enable
익명 사용자의 접속 허용 여부를 설정하는 항목으로 default 값은 YES 입니다.
FTP 서버를 공개해서 운영할 것이 아니라면 NO로 설정값을 바꿔줍니다. 
local_enable
로컬 계정 사용자의 접속 허용 여부를 설정하는 항목입니다.  default 값은 YES로 설정되어 있으며
NO로 설정했을 때 로컬 계정으로 접속시 메세지를 출력하면서 접속을 거부하게 됩니다.
write_enable
default 값은 NO이고 값을 YES 로 바꿔줍니다. ftp 접속상태에서 쓰는 전용명령어 write를 허용할 것인지에 대한 설정입니다. 
local_umask
로컬 계정 사용자들의 umask 값을 설정하는 부분입니다. default 값은 077 입니다.
umask 값이 077 일 경우에 새로 생성되는 파일의 퍼미션은 600 이 되고 디렉토리 생성시의 퍼미션은 700이 됩니다.
보통은 local_umask 값을 022로 설정 
umask 값이 022 일 경우에 새로 생성되는 파일의 퍼미션은 655 이고 디렉토리의 경우는 755가 됩니다. 
 
file_open_mode
ftp에 파일을 업로드 하였을 경우의 파일의 퍼미션을 설정해주는 부분입니다.(설정파일에 없기때문에local_umask바로 밑중에 추가)
local_umask=022
file_open_mode=0644

chroot_list_enable
chroot_list_file = /etc/vsftpd.chroot_list
위의 옵션은 함께 작동하는 옵션입니다. chroot_list_enable의 값이 YES 이고 chroot_list_file = /etc/vsftpd.chroot_list의 주석이 해제되어 있을 경우에 $sudo vi /etc/vsftpd.chroot_list  로 vsftpd.chroot_list에 유저아이디를 등록하면 등록된 유저는 자신에게 할당된 디렉토리를 벗어날 수 없게 됩니다.
vsftpd.chroot_list의 유저아이디 구분은 line으로 구분하기 때문에 enter로 구분하는 것입니다.
chroot_local_user
(이걸로 루트로 못가게 함 모두 YES해주고 list에 공백을 두면 등록된 유저가 없기때문 루트로못감)
이 옵션은 ftp를 사용하는 계정이 여러개이고, 이런 여러 계정들이 자신에게 할당된 디렉토리를 벗어날 수 없도록 설정하는 부분입니다.
이 옵션은 전체 로컬 사용자들을 대상으로 chroot 기능이 적용됩니다.
만약 chroot_local_user 옵션과 chroot_list_enable 옵션이 둘 다 YES 가 설정된다면
sudo vi /etc/vsftpd.chroot_list  로/etc/vsftpd.chroot_list 에 등록된 유저만이 자신에게 할당된 디렉토리 밖으로 벗어날 수 있는 권한을 가지게 됩니다

* ftp재시작(설정파일을 바꾸거나 했을때 실행)
sudo /etc/init.d/vsftpd restart "or" $ sudo restart vsftpd

* ftp를 여러 계정에서 이용하게 하기 위해서 사용자 계정을 추가
 # gedit /etc/login.defs
파일에 CREATE_HOME yes 라는 라인 하나를 추가시켜 주거나 주석해제시킨다음에 useradd 명령어를 사용할 때 유저폴더가 자동으로 생성되게 됩니다. 
보통의 리눅스에서 사용자 계정 생성 명령어는 아래와 같습니다.
# useradd 유저아이디 : 유저아이디로 계정을 생성합니다.
# passwd 유저아이디 : 유저아이디의 비밀번호를 설정합니다.
이렇게 계정을 생성하게 되면 보통 /home 폴더에 생성한 유저아이디를 이름으로 가지는 폴더가 생성이 됩니다.
이것이 생성되지 않을 경우가 있는데 이런 경우에는 수동으로 생성해 줄수도 있고,
계정 생성시 아래와 같은 명령어를 이용하면 자동으로 생성이 됩니다.
# useradd -m 유저아이디
* 계정 삭제
 
    deluser [계정명]
    하게되면 home 디렉토리는 남게 됨
    home 디렉토리까지 삭제하려면 
    deluser --remove-home [계정명]

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments