지니워의 일상다반사

ftp 서버 설치 본문

본격 SE업무이야기/기타 업무

ftp 서버 설치

지니워 2013. 12. 13. 15:37

어제 두대의 서버를 새로 입고하여 설치를 진행했다. 웹서버와 DB서버였는데 두대의 세팅을 고객사의 요청에 따라 세팅을 마무리했다. 그중 웹서버에 대한 추가 요청이 들어왔는데 ftp서버를 구축해 달라는 것이었다. 흐음... 그러고보니 난 리눅스에서 ftp서버를 따로 구축해 본적이 없다. 이미 서비스가 구축되어 있는 서버에 ftp client를 이용하여 사용만 해봤을 뿐, 직접 구축해 본적이 없었기 때문에


"전 ftp 서버를 구축할 줄 모르니 이 요청은 거부하겠습니다."


라고 대답했...다면 아마 백수가 되었을 것이다. 몰라도 어쩌겠는가?하라면 해야지.


일단 구글에서 검색을 해보니 리눅스에서 vsftpd를 최근에 많이 사용한다고 한다. 그리고 친절하게 설치하는 방법이랑 간단한 세팅방법까지.(사실 세팅 방법이 아주 간단하다.)


yum install vsftpd


명령을 실행하면 vsftpd가 설치된다. 이로써 ftp 설치는 끝.

정말 간단하다.


설정 또한 설치만큼 간단하다.

설정파일 위치 : /etc/vsftpd/vsftpd.conf


여기에서 수정해야 할 건 두가지 정도인데 12번째 줄에 있는

anonymous_enable=YES

항목을

anonymous_enable=NO

로 바꾸어주는 것과 97번째 줄에 있는

chroot_list_enable=YES

의 주석을 풀어주고 99번째 줄에 있는

chroot_list_file=/etc/vsftpd/chroot_list

의 주석을 풀어주는 정도이다. (굳이 풀지 않아도 서비스에는 지장이 없다.)


첫번째 설정은 익명 사용자의 접속을 막는 것이고(보안상 막는 것이 좋다.)

두번째 설정은 자신이 포함된 home경로 외의 경로에 접속을 막는 것이다. chroot_list파일은 만들어져 있지 않으니 vi로 만들어 주어야 한다.


Tip 1) 특정 유저만 ftp 사용을 할 수 있게 하려면?

/etc/vsftpd 경로에 보면 ftpusers라는 파일이 보인다. 이곳에 ftp를 사용하지 않는 유저들을 모두 넣으면 된다.

(참고로 ftp 유저는 리눅스 유저와 동일하다.)현재 리눅스 유저가 몇명인지도 모르겠고 찾기도 귀찮다면 아래 명령어를 사용하길 바란다.


cat /etc/passwd | awk -F: '{print $1}'


쉘상에서 위 명령어를 치면 현재 리눅스에 등록되어 있는 유저들이 모두 나온다. 그걸 복사해여 ftpuser에 붙여넣으면 끝!!


Tip2) chroot_list 활용하기

chroot_list에 등록되어 있는 유저들은 ftp에는 접속 가능하나 지정된 유저의 home 디렉토리 외에는 접근이 불가능하다. 예를 들어 a라는 유저의 홈 디렉토리가 /home/a라면 ftp에서 이곳 외의 다른 디렉토리로 접근이 불가능한 것이다. 보안상 지정된 폴더에서의 ftp접속을 허용해야 한다면 chroot_list를 활용하는 것이 좋겠다.



첫 ftp 서버 구축치고는 나름 부드럽게 넘어간 듯?

Comments