반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

꿈꾸는 사람.

[FTP Server] 우분투에 ftp 서버 설치. 본문

IT/Linux

[FTP Server] 우분투에 ftp 서버 설치.

현무랑 니니 2013. 8. 21. 15:12
반응형

우분투에 ftp 서버를 운영하기 위해 우분투 소프트웨어 센터와 구글링을 통해서 관련 프로그램을 검색해 보았다.

ftp client로는 filezilla를 ftp server로는 vsftpd를 선택했다.


filezilla는 단순 설치 후 쉽게 사용할 수 있고 서버용인 vsftpd는 아래와 같이 명령행에서 설치한 이후 설정을 통해 이용할 수 있다.


1. vsftpd 설치

~$ sudo apt-get install vsftpd

[sudo] password for kichanpx: 

패키지 목록을 읽는 중입니다... 완료

의존성 트리를 만드는 중입니다       

상태 정보를 읽는 중입니다... 완료

다음 패키지를 더 설치할 것입니다:

  libc-bin libc-dev-bin libc6 libc6:i386 libc6-dev libc6-dev-i386 libc6-i386

  libnih-dbus1 libnih1

제안하는 패키지:

  glibc-doc glibc-doc:i386 locales:i386

다음 새 패키지를 설치할 것입니다:

  vsftpd

다음 패키지를 업그레이드할 것입니다:

  libc-bin libc-dev-bin libc6 libc6:i386 libc6-dev libc6-dev-i386 libc6-i386

  libnih-dbus1 libnih1

9개 업그레이드, 1개 새로 설치, 0개 제거 및 1738개 업그레이드 안 함.

18.5 M바이트 아카이브를 받아야 합니다.

이 작업 후 522 k바이트의 디스크 공간이 비워집니다.

계속 하시겠습니까 [Y/n]? Y

받기:1 http://kr.archive.ubuntu.com/ubuntu/ precise-security/main libc-bin amd64 2.15-0ubuntu10.2 [1,181 kB]

받기:는는2 http://kr.archive.ubuntu.com/ubuntu/ precise/main libnih-dbus1 amd64 1.0.3-4ubuntu9 [15.8 kB]

받기:3 http://kr.archive.ubuntu.com/ubuntu/ precise-security/main libc6 i386 2.15-0ubuntu10.2 [3,935 kB]

받기:4 http://kr.archive.ubuntu.com/ubuntu/ precise-security/main libc6 amd64 2.15-0ubuntu10.2 [4,651 kB]

받기:5 http://kr.archive.ubuntu.com/ubuntu/ precise/main libnih1 amd64 1.0.3-4ubuntu9 [54.8 kB]

받기:6 http://kr.archive.ubuntu.com/ubuntu/ precise-security/main libc-dev-bin amd64 2.15-0ubuntu10.2 [84.5 kB]

받기:7 http://kr.archive.ubuntu.com/ubuntu/ precise-security/main libc6-dev amd64 2.15-0ubuntu10.2 [2,944 kB]

받기:8 http://kr.archive.ubuntu.com/ubuntu/ precise-security/main libc6-dev-i386 amd64 2.15-0ubuntu10.2 [1,508 kB]

받기:9 http://kr.archive.ubuntu.com/ubuntu/ precise-security/main libc6-i386 amd64 2.15-0ubuntu10.2 [3,993 kB]

받기:10 http://kr.archive.ubuntu.com/ubuntu/ precise/main vsftpd amd64 2.3.5-1ubuntu2 [124 kB]

내려받기 18.5 M바이트, 소요시간 6분 21초 (48.5 k바이트/초)                     

패키지를 미리 설정하는 중입니다...

(데이터베이스 읽는중 ...현재 202588개의 파일과 디렉터리가 설치되어 있습니다.)

libc-bin 2.13-20ubuntu5.2 패키지를 대체할 준비하는 중입니다 (.../libc-bin_2.15-0ubuntu10.2_amd64.deb 사용) ...

대체되는 libc-bin 패키지를 푸는 중입니다 ...

man-db에 대한 트리거를 처리하는 중입니다 ...

locale: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by locale)

locale: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by locale)

libc-bin (2.15-0ubuntu10.2) 설정하는 중입니다 ...

새 버전의 설정 파일 /etc/bindresvport.blacklist 설치하는 중입니다 ...

(데이터베이스 읽는중 ...현재 202589개의 파일과 디렉터리가 설치되어 있습니다.)

libnih-dbus1 1.0.3-4ubuntu2 패키지를 대체할 준비하는 중입니다 (.../libnih-dbus1_1.0.3-4ubuntu9_amd64.deb 사용) ...

대체되는 libnih-dbus1 패키지를 푸는 중입니다 ...

libc6:i386 2.13-20ubuntu5.2 패키지를 대체할 준비하는 중입니다 (.../libc6_2.15-0ubuntu10.2_i386.deb 사용) ...

libc6 패키지를 지우는 중입니다 ...

locale: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by locale)

locale: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by locale)

Checking for services that may need to be restarted...

Checking init scripts...

Checking for services that may need to be restarted...

Checking init scripts...

WARNING: init script for samba not found.

/usr/bin/locale: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by /usr/bin/locale)

/usr/bin/locale: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /usr/bin/locale)

Stopping some services possibly affected by the upgrade (will be restarted later):

  cron: stopping...done.


대체되는 libc6:i386 패키지를 푸는 중입니다 ...

libc6 2.13-20ubuntu5.2 패키지를 대체할 준비하는 중입니다 (.../libc6_2.15-0ubuntu10.2_amd64.deb 사용) ...

locale: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by locale)

locale: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by locale)

Checking for services that may need to be restarted...

Checking init scripts...

Checking for services that may need to be restarted...

Checking init scripts...

WARNING: init script for samba not found.

Stopping some services possibly affected by the upgrade (will be restarted later):

  cron: stopping...done.


대체되는 libc6 패키지를 푸는 중입니다 ...

libc6 (2.15-0ubuntu10.2) 설정하는 중입니다 ...

Generating locales...

  en_AG.UTF-8... done

  en_AU.UTF-8... done

  en_BW.UTF-8... done

  en_CA.UTF-8... done

  en_DK.UTF-8... done

  en_GB.UTF-8... done

  en_HK.UTF-8... done

  en_IE.UTF-8... done

  en_IN.UTF-8... done

  en_NG.UTF-8... done

  en_NZ.UTF-8... done

  en_PH.UTF-8... done

  en_SG.UTF-8... done

  en_US.UTF-8... done

  en_ZA.UTF-8... done

  en_ZM.UTF-8... done

  en_ZW.UTF-8... done

  ko_KR.UTF-8... done

Generation complete.

Checking for services that may need to be restarted...

Checking init scripts...

Restarting services possibly affected by the upgrade:

  cron: restarting...done.

  cron: restarting...done.

  apache2: restarting...done.

  atd: restarting...done.

  cups: restarting...done.

  openbsd-inetd: restarting...done.

  apache2: restarting...done.

  atd: restarting...done.

  cups: restarting...done.

  openbsd-inetd: restarting...done.


Services restarted successfully.

libc6:i386 (2.15-0ubuntu10.2) 설정하는 중입니다 ...

Generating locales...

  en_AG.UTF-8... done

  en_AU.UTF-8... done

  en_BW.UTF-8... done

  en_CA.UTF-8... done

  en_DK.UTF-8... done

  en_GB.UTF-8... done

  en_HK.UTF-8... done

  en_IE.UTF-8... done

  en_IN.UTF-8... done

  en_NG.UTF-8... done

  en_NZ.UTF-8... done

  en_PH.UTF-8... done

  en_SG.UTF-8... done

  en_US.UTF-8... done

  en_ZA.UTF-8... done

  en_ZM.UTF-8... done

  en_ZW.UTF-8... done

  ko_KR.UTF-8... done

Generation complete.

Checking for services that may need to be restarted...

Checking init scripts...

Nothing to restart.

libc-bin에 대한 트리거를 처리하는 중입니다 ...

ldconfig deferred processing now taking place

(데이터베이스 읽는중 ...현재 202599개의 파일과 디렉터리가 설치되어 있습니다.)

libnih1 1.0.3-4ubuntu2 패키지를 대체할 준비하는 중입니다 (.../libnih1_1.0.3-4ubuntu9_amd64.deb 사용) ...

대체되는 libnih1 패키지를 푸는 중입니다 ...

libc-dev-bin 2.13-20ubuntu5.2 패키지를 대체할 준비하는 중입니다 (.../libc-dev-bin_2.15-0ubuntu10.2_amd64.deb 사용) ...

대체되는 libc-dev-bin 패키지를 푸는 중입니다 ...

libc6-dev 2.13-20ubuntu5.2 패키지를 대체할 준비하는 중입니다 (.../libc6-dev_2.15-0ubuntu10.2_amd64.deb 사용) ...

대체되는 libc6-dev 패키지를 푸는 중입니다 ...

libc6-dev-i386 2.13-20ubuntu5.2 패키지를 대체할 준비하는 중입니다 (.../libc6-dev-i386_2.15-0ubuntu10.2_amd64.deb 사용) ...

대체되는 libc6-dev-i386 패키지를 푸는 중입니다 ...

libc6-i386 2.13-20ubuntu5.2 패키지를 대체할 준비하는 중입니다 (.../libc6-i386_2.15-0ubuntu10.2_amd64.deb 사용) ...

대체되는 libc6-i386 패키지를 푸는 중입니다 ...

설치된 패키지 libc6:i386의 파일들로 대체합니다...

전에 선택하지 않은 vsftpd 패키지를 선택합니다.

vsftpd 패키지를 푸는 중입니다 (.../vsftpd_2.3.5-1ubuntu2_amd64.deb에서) ...

man-db에 대한 트리거를 처리하는 중입니다 ...

ureadahead에 대한 트리거를 처리하는 중입니다 ...

ureadahead will be reprofiled on next reboot

libnih1 (1.0.3-4ubuntu9) 설정하는 중입니다 ...

libnih-dbus1 (1.0.3-4ubuntu9) 설정하는 중입니다 ...

libc-dev-bin (2.15-0ubuntu10.2) 설정하는 중입니다 ...

libc6-dev (2.15-0ubuntu10.2) 설정하는 중입니다 ...

libc6-i386 (2.15-0ubuntu10.2) 설정하는 중입니다 ...

libc6-dev-i386 (2.15-0ubuntu10.2) 설정하는 중입니다 ...

vsftpd (2.3.5-1ubuntu2) 설정하는 중입니다 ...

vsftpd start/running, process 9081

libc-bin에 대한 트리거를 처리하는 중입니다 ...

ldconfig deferred processing now taking place


2. vsftpd 설정

~$ sudo vi /etc/vsftpd.conf 

vsftpd.conf 파일의 권한이 644이므로 루트 권한으로 파일을 열어야 수정 사항을 저장할 수 있다.


아래 표와 같이 내용을 수정.

 기본 설정

수정 

설명 

 anonymous_enable=YES 

 anonymous_enable=NO

보안을 위해 익명의 연결을 막는다. 

 #local_enable=YES

 local_enable=YES 

 주석 제거하여 로컬 사용자의 ftp 접속을 허용 한다.

 #write_enable=YES 

 write_enable=YES

 주석 제거하여 ftp 서버에 쓰기를 가능하게 한다. 즉, ftp 서버에 파일을 올리는 것을 허용하는 것이다.

 #local_umask=022

 local_umask=022

 file_open_mode=0644

 주석이 있으면 파일의 기본 권한이 077로 설정된다.

 기본 권한이 주석 제거하고 파일 권한을 644로 설정.

 #chroot_local_user=YES chroot_local_user=YES

 주석 제거하여 사용자가 자신의 홈 디렉터리를 벗어나지 못하도록 설정한다.


3. vsftpd 재시작

/etc/init$ sudo restart vsftpd

[sudo] password for hyunmu: 

vsftpd start/running, process 9358

변경 사항을 적용하기 위해 데몬을 다시 시작하게 한다.


반응형
Comments