Skip to content
vsftp를 설치하기전에 다른 ftp가 설치되어 있는지 확인 합니다.

# sudo dpkg -l|grep ssh


설치

# 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로 설정값을 바꿔줍니다. 

2. local_enable
로컬 계정 사용자의 접속 허용 여부를 설정하는 항목입니다.  default 값은 YES로 설정되어 있으며
NO로 설정했을 때 로컬 계정으로 접속시 메세지를 출력하면서 접속을 거부하게 됩니다.

3. write_enable
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바로 밑중에 추가)

local_umask=022
file_open_mode=0644
 
6. chroot_list_enable

7. 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로 구분하는 것입니다.

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 에 등록된 유저만이 자신에게 할당된 디렉토리 밖으로 벗어날 수 있는 권한을 가지게 됩니다. 

9.이제 ftp를 여러 계정에서 이용하게 하기 위해서  사용자 계정을 추가하는 것을 알아봅시다.

# gedit /etc/login.defs
파일에 CREATE_HOME yes 라는 라인 하나를 추가시켜 주거나 주석해제시킨다음에 다음에 useradd 명령어를 사용할 때 유저폴더가 자동으로 생성되게 됩니다. 

보통의 리눅스에서 사용자 계정 생성 명령어는 아래와 같습니다.
# useradd 유저아이디 : 유저아이디로 계정을 생성합니다.
# passwd 유저아이디 : 유저아이디의 비밀번호를 설정합니다.

이렇게 계정을 생성하게 되면 보통 /home 폴더에 생성한 유저아이디를 이름으로 가지는 폴더가 생성이 됩니다.
이것이 생성되지 않을 경우가 있는데 이런 경우에는 수동으로 생성해 줄수도 있고,
계정 생성시 아래와 같은 명령어를 이용하면 자동으로 생성이 됩니다.

# useradd -m 유저아이디

조회 수 :
1719
등록일 :
2013.10.29
23:17:41 (*.168.10.1)
엮인글 :
http://restart.iptime.org:8000/micro/sub4_1_1/572578/c09/trackback
게시글 주소 :
http://restart.iptime.org:8000/micro/572578

'3' 댓글

Admin

2013.10.29
23:34:51
(*.168.10.1)


1. 우분투 vsftpd 설치 



VSFTPD 데몬 설치


$ sudo apt-get install vsftpd 


 


Config 파일 수정


$ sudo vi /etc/vsftpd.conf


 


listen=YES


anonymous_enable =NO


local_enable=YES


write_enable=YES


local_umask=022


dirmessage_enable=YES (option)


use_localtime=YES (Option)


xferlog_enable=YES (option)


connect_from_port_20=YES (FTP Data port)


idle_session_timeout=600


ftpd_banner=Welcome to My FTP service!!!


chroot_local_user=YES


chroot_list_enable=YES


chroot_list_files=/etc/vsftpd.chroot_list  (이 파일에 등록된 사용자는 Root 폴더오 이동 가능)


secure_chroot_dir=/var/run/vsftpd/empty


pam_service_name=vsftpd


rsa_cert_file=/etc/ssl/private/vsftpd.pem


 


서비스 다시 실행


$ sudo /etc/init.d/vsftpd restart




2. ftp 유저 추가 및 홈 디렉토리 설정




아래의 경우 /home 디렉토리에 유저의 공간이 만들어지지는 않고 계정만 추가됨..


 


$ useradd 해서 사용자를 추가하면 user 그룹의 사용자로 추가가 되고 기본 홈디렉토리는 /home/아이디 로 생성됨


 


FTP 유저의 홈 디렉토리를 변경하고 싶으면 아래와 같이 적용하면 됨.


기본 홈 디렉토리 /ftp 로 설정시


$ useradd -d /ftp ftp_user1  


 


groupadd 명령을 이용해 새로운 그룹(ex, ftp_users)을 생성해서 그룹을 동일하게 주고 관리하는 것이 편함.


홈 디렉터리가 /ftp이고, 그룹이 ftp_user인 ftp_user1을 생성하는 명령!!


$ groupadd ftp_user


$ useradd -G ftp_user -d /ftp ftp_user1


 


useradd 대신 adduser를 사용해야 /home/user_id 디렉토리가 생성됨..


 


% 주의사항 %


ftp와 ssh를 동시에 서비스하고 있다면 추가된 user 또한 ssh로 접속이 가능하다..


ssh 접근 제한을 아래와 같이 추가해준다..


1. /etc/passwd 파일에서 사용자의 쉘을 noshell로 변경


  - ftp_guest:x:1001:1002::/home/ftp_guest:/bin/noshell


2. 빈 쉘을 하나 추가


  $ touch /bin/noshell


  $ chmod 755 /bin/noshell


3. /etc/shells 파일에서 noshell 추가


  - /bin/noshell


 


이렇게 해주면 ssh로 접속 시도하면 Exec Format Error 발생되면서 접속이 되지 않음.


 




Admin

2013.10.29
23:41:59
(*.168.10.1)

vsftpd + /var/www 설정.


급하게 연습해봐야 할 일이 있어 이리 저리 검색하다가 찾아냈다.
이것과 관련하여, http://nemonein.egloos.com/5111969 이 글을 쓴 적이 있는데, 별 도움이 되지 않는다.

http://www.ubuntu.or.kr/viewtopic.php?p=91350

위 글을 참고했다. 늘 도움만 받고 있지만, 우분투 사용자모임 강분도님께 감사드린다.


제대로 설정을 하려면 결국 아파치의 가상호스트에 관해 공부해야하겠으나..

시간도 없고, 나중에 필요로 하면 하도록 하고..


지금 당장은, vsftpd 를 통해, /var/www 에 연결하는 방법이 필요하기에 그것만 정리해본다.

현재 시나리오는, ftp 로 서버에 접속해서, /var/www 디렉토리에 원하는 파일을 올리고/내리고 하기 위함이다.

그 작업을 담당할 사용자를 하나(아래에는 user1 으로) 만든다. 원하는 이름 아무거나 주면 된다.


원문은 위에 있는 우분투 사용자모임에 있는 글이고, 거기서 발췌했다.


sudo adduser user1( * useradd 말고 adduser)
sudo chown -R user1. user1 /var/www
sudo vi /etc/passwd 후에..      user1:x:1000:1000:wftp,,,:/var/www:/bin/bash  
                                                (원래 /home/user1 으로 되어 있던 것을 /var/www 로 고친다.)

/etc/vsftpd.conf 설정은 몇가지만 건드려주면 된다.

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022


이 정도만 고쳐주고, 나머지는 그대로 놔둔다.

vsftpd 를 재시작해야 하는데, 이렇게 명령을 내린다.

sudo service vsftpd restart

이제 FTP 클라이언트(Filezilla 등)로 서버로 접속한다. 

vsftpd 에서 보안에 관한 설정은 하지 않았으므로, 일반 FTP로 접속하면 된다. 

위에서 설정한 user1 과 그에 따른 password 로 로그인하면, 서버의 /var/www 가 바로 보이고, 

원하는 파일을 업/다운 할 수 있게 된다.

**

vsftpd 에 관해서는 다음글도 참고하자.

http://blog.daum.net/99lib/27

Admin

2013.10.30
00:06:43
(*.168.10.1)


ftp서버설치 및 계정추가,폴더권한

http://blog.daum.net/computerdoctor/2937794

문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
옵션 :
:
:
:
:
List of Articles
번호 제목 글쓴이 날짜 조회 수
57 Ubuntu에서 Bind9 DNS Server 설치하기 Admin 2014-01-06 1643
56 Ubuntu vmware-tools 설치 Admin 2013-11-17 1929
55 USB 외장 하드로부터 Ubuntu 설치하려면 ... Admin 2013-11-12 1945
54 [Linux]우분투 (리눅스) 에서 vmware tools 설치하기 file Admin 2013-11-02 1662
53 [linux] 윈도우 PC -> 리눅스 PC 원격 접속하기 [1] file Admin 2013-11-02 2063
52 우분투 서버에 한글을 기본 언어로 설정하는 방법 file Admin 2013-11-02 1930
51 우분투에서 root로 로그인하기 [1] Admin 2013-11-02 1785
50 우분투 서버 설치하기, http, ftp 설정하기 Admin 2013-11-01 1962
49 저비용 고효율 리눅스 서버 설치 및 운영 가이드 - Ubuntu Server 설치 [1] file Admin 2013-11-01 1961
48 [리눅스] 우분투 root 비밀번호 설정 Admin 2013-10-31 1886
47 USB에 우분투 설치하기 Admin 2013-10-31 1900
46 [스크랩] usb에 우분투 설치하여 휴대용(?)으로 사용하기 [1] file Admin 2013-10-31 2335
45 Linux-Ubuntu 유용한 정보 4 - mount 명령어 [1] Admin 2013-10-30 2430
44 [Ubuntu] 설치 중 파티션에 대한 이모저모 file Admin 2013-10-30 1699
43 Ubuntu package delete - 우분투 패키지 강제 삭제 [2] file Admin 2013-10-30 1932
42 500 OOPS: vsftpd: refusing to run with writable root inside chroot() [2] Admin 2013-10-30 1833
41 [Ubuntu] vsftpd 설치 및 설정 [2] file Admin 2013-10-30 1682
» 우분투 vsftpd 설치하기 [3] Admin 2013-10-29 1719
39 Ubuntu에 APM 설치 및 설정, 제로보드 XE 설치하기 [2] Admin 2013-10-29 1617
38 우분투 12.04 서버세팅 [필독] [2] file Admin 2013-10-28 1457

Copyrightⓒ Restart™ All rights Reserved. 2013. June

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5