[우분투리눅스] FTP서버구축(VSFTPD)
로빈아빠
본문
vsftp를 설치하기전에 다른 ftp가 설치되어 있는지 확인 합니다.
# sudo dpkg -l|grep ssh# sudo dpkg -l|grep ftp설치
# sudo apt-get install vsftpd(시냅틱에서 svftpd를 검색해서 설치해도 무관)
서비스 확인
# netstat -ntl
vsftp설정파일
# sudo gedit /etc/vsftpd.conf
ftp재시작(설정파일을 바꾸거나 했을때 실행)
$ sudo /etc/init.d/vsftpd restart "or" $ sudo restart vsftpd
1. anonymous_enable
익명 사용자의 접속 허용 여부를 설정하는 항목으로 default 값은 YES 입니다.
FTP 서버를 공개해서 운영할 것이 아니라면 NO로 설정값을 바꿔줍니다.
익명 사용자의 접속 허용 여부를 설정하는 항목으로 default 값은 YES 입니다.
FTP 서버를 공개해서 운영할 것이 아니라면 NO로 설정값을 바꿔줍니다.
2. local_enable
로컬 계정 사용자의 접속 허용 여부를 설정하는 항목입니다. default 값은 YES로 설정되어 있으며
NO로 설정했을 때 로컬 계정으로 접속시 메세지를 출력하면서 접속을 거부하게 됩니다.
로컬 계정 사용자의 접속 허용 여부를 설정하는 항목입니다. default 값은 YES로 설정되어 있으며
NO로 설정했을 때 로컬 계정으로 접속시 메세지를 출력하면서 접속을 거부하게 됩니다.
3. write_enable
default 값은 NO이고 값을 YES 로 바꿔줍니다. ftp 접속상태에서 쓰는 전용명령어 write를 허용할 것인지에 대한 설정입니다.
default 값은 NO이고 값을 YES 로 바꿔줍니다. ftp 접속상태에서 쓰는 전용명령어 write를 허용할 것인지에 대한 설정입니다.
4. local_umask
로컬 계정 사용자들의 umask 값을 설정하는 부분입니다. default 값은 077 입니다.
umask 값이 077 일 경우에 새로 생성되는 파일의 퍼미션은 600 이 되고 디렉토리 생성시의 퍼미션은 700이 됩니다.
보통은 local_umask 값을 022로 설정
umask 값이 022 일 경우에 새로 생성되는 파일의 퍼미션은 655 이고 디렉토리의 경우는 755가 됩니다.
5. file_open_mode
ftp에 파일을 업로드 하였을 경우의 파일의 퍼미션을 설정해주는 부분입니다.(설정파일에 없기때문에local_umask바로 밑중에 추가)
로컬 계정 사용자들의 umask 값을 설정하는 부분입니다. default 값은 077 입니다.
umask 값이 077 일 경우에 새로 생성되는 파일의 퍼미션은 600 이 되고 디렉토리 생성시의 퍼미션은 700이 됩니다.
보통은 local_umask 값을 022로 설정
umask 값이 022 일 경우에 새로 생성되는 파일의 퍼미션은 655 이고 디렉토리의 경우는 755가 됩니다.
5. file_open_mode
ftp에 파일을 업로드 하였을 경우의 파일의 퍼미션을 설정해주는 부분입니다.(설정파일에 없기때문에local_umask바로 밑중에 추가)
local_umask=022
file_open_mode=0644
file_open_mode=0644
6. chroot_list_enable7. chroot_list_file = /etc/vsftpd.chroot_list
7번과 8번의 옵션은 함께 작동하는 옵션입니다. 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로 구분하는 것입니다.
7번과 8번의 옵션은 함께 작동하는 옵션입니다. 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로 구분하는 것입니다.
8. 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를 사용하는 계정이 여러개이고, 이런 여러 계정들이 자신에게 할당된 디렉토리를 벗어날 수 없도록 설정하는 부분입니다.
이 옵션은 전체 로컬 사용자들을 대상으로 chroot 기능이 적용됩니다.
만약 chroot_local_user 옵션과 chroot_list_enable 옵션이 둘 다 YES 가 설정된다면
sudo vi /etc/vsftpd.chroot_list 로/etc/vsftpd.chroot_list 에 등록된 유저만이 자신에게 할당된 디렉토리 밖으로 벗어날 수 있는 권한을 가지게 됩니다.
9.이제 ftp를 여러 계정에서 이용하게 하기 위해서 사용자 계정을 추가하는 것을 알아봅시다.
# gedit /etc/login.defs
파일에 CREATE_HOME yes 라는 라인 하나를 추가시켜 주거나 주석해제시킨다음에 다음에 useradd 명령어를 사용할 때 유저폴더가 자동으로 생성되게 됩니다.
# gedit /etc/login.defs
파일에 CREATE_HOME yes 라는 라인 하나를 추가시켜 주거나 주석해제시킨다음에 다음에 useradd 명령어를 사용할 때 유저폴더가 자동으로 생성되게 됩니다.
보통의 리눅스에서 사용자 계정 생성 명령어는 아래와 같습니다.
# useradd 유저아이디 : 유저아이디로 계정을 생성합니다.
# passwd 유저아이디 : 유저아이디의 비밀번호를 설정합니다.
# useradd 유저아이디 : 유저아이디로 계정을 생성합니다.
# passwd 유저아이디 : 유저아이디의 비밀번호를 설정합니다.
이렇게 계정을 생성하게 되면 보통 /home 폴더에 생성한 유저아이디를 이름으로 가지는 폴더가 생성이 됩니다.
이것이 생성되지 않을 경우가 있는데 이런 경우에는 수동으로 생성해 줄수도 있고,
계정 생성시 아래와 같은 명령어를 이용하면 자동으로 생성이 됩니다.
이것이 생성되지 않을 경우가 있는데 이런 경우에는 수동으로 생성해 줄수도 있고,
계정 생성시 아래와 같은 명령어를 이용하면 자동으로 생성이 됩니다.
# useradd -m 유저아이디
관련링크
댓글목록
등록된 댓글이 없습니다.