[IT] CentOS7 – FTP(SFTP)를 위한 vsftpd 설치하기 및 세팅하기

[IT] CentOS7 – FTP(SFTP)를 위한 vsftpd 설치 및 세팅다시 센토스를 시작하려니 뭔가 까물치가 된 것 같기도 하지만 또 금방 생각나는 걸 보니 빨리 이걸 끝내고 다음 것으로 넘어가야겠다는 생각이 들었다.ip도 땄고 date도 맞췄으니 telnet에서 서버에 접속할 수 있는지 확인해보자.putty는 터미널에 접속하는게 가장 많이 쓰이는 툴이 아닐까?물론 cmd를 통해서도 접속이 가능하지만 putty가 훨씬 편하고 사용법도 간단하다.로그인한 모습이다.리눅스를 최소 설치해도 넷툴스를 설치하면 네트워크를 열 수 있고 기본 22포트 바인딩이어서 어렵지 않게 서버에 접근할 수 있다.이제 필요한 것은 파일 업로드! 그러기 위해서는 ftp를 사용할 수 있는 툴과 서버에 ftp를 받아들이는 데몬을 실행시켜야 한다.ftp를 담당하는 데몬은 vs ftpd이다.yum에서 설치 진행해보자.설치까지 완료되면 vi 에디터를 통해 vsftpd.conf 파일을 수정해준다.수정 포인트는 3군데! 1. anonymous_enable=YES2. #chroot_list_enable=YES 맨 앞에 주석(#)제거3. #chroot_list_file=/etc/vsftpd/chroot_list 맨 앞에 주석(#)제거: wq 입력 후 저장 후 vi 에디터에 /etc/vsftpd/chroot_list 파일 생성이후 vsftpd 서비스 시작과 포트 바인딩이 잘 됐는지 확인해본다.21번 포트가 vs ftpd로 잘 시작하여 바인딩되었다.마지막으로 해야 할 부분은 Firewall이다.CentOS7 이전까지는 iptables가 많은 부분을 담당했고 Service iptables stop을 하면 어떤 형태로든 접속이 되었는데 CentOS7에서는 그 부분을 허용하지 않는다.따라서 아래와 같은 방법으로 Firewall에 정보를 등록해야 한다.(참고로 firewall-cmd의 도움말은 firewall-cmd –help 또는 Man firewall-cmd를 입력하면 확인할 수 있다.)명령은 3줄만 입력하면 된다.자, 여기까지 했다면 FTP 설정이 끝났다.RFTP를 사용해서 접속해볼까?root 계정에 대해 530 Permission denid가 표시된다.어딘가에서 root 계정에 대한 접근을 거부하고 있는데, 그것은 바로 ftpusers와 user_list이다.해당 파일의 목적은 접속을 차단하는 데 동일한 목적이 있기 때문에 root로 접속하고 싶다면 두 파일 모두 root를 삭제하고 저장(:wq)하면 된다.다시 접속을 시도해볼게.서버 접속은 되고 서버 메시지도 표시된다.하지만 서버 폴더가 보이지 않는다.여러가지 이유가 있겠지만 가장 큰 이유는 역시 SELINUX가 아닐까?셀리눅스는 리눅스 시스템 보안을 강화하는 보안 강화 커널이지만 실제 회사에 다닐 때도 많은 보안 문제가 셀리눅스로 인해 문제가 되고 쉽게 디스able할 수 있는 상황이 아니어서 다양한 방법으로 문제를 해결하기도 했다.지금은 개인 사설 PC니까 disable로 처리해보자.기존 내용을 주석(#) 처리하고 아래에 disabled를 추가하였다.자, 다시 접속을 시도하자.이번에는 refusing to run with writable root inside chroot()로 표시돼 접속이 거부됐다.이의 원인은 chroot 내 쓰기 권한이 없기 때문이며 vs ftpd.conf에서 allow_writeable_chroot=YES를 추가해준다.수정 후 서비스 vs ftpd restart에서 서비스를 재부팅하고 ftp에 접속해 본다.접속도 되고 파일까지 잘 보이는 것을 확인할 수 있다.root 계정에 접속하고 있기 때문에 당연히 root 폴더만 보이게 되고, root 폴더에서 벗어나도록 설정하고자 하는 경우 vsftpd.conf 파일에서 #chroot_local_user=YES 부분의 주석을 삭제한 후 vsftpd를 재부팅한다.root의 상위 폴더가 표시되며 상위 폴더 확인도 가능하다.local_user 부분을 막아두는 이유는 분명 존재한다.서버 작업을 위해 외부인이 서버에 접속하거나 권한 없는 사람이 특정 폴더에 접근할 수 없도록 하기 위함이기도 하다.. 여기까지 했으니 내가 작업한 파일을 다시 업로드 해본다.알FTP에서 간단하게 작업하던 파일을 업로드했다.내일부터 본격적으로 다시 쉘 스크립트 작업을 시작하자!

error: Content is protected !!