[ Server ][ Linux ] CentOS 7 vsftp 설치 및 설정 방화벽 설정 > linux

본문 바로가기
사이트 내 전체검색

linux

[ Server ][ Linux ] CentOS 7 vsftp 설치 및 설정 방화벽 설정

페이지 정보

작성자 웹지기 댓글 0건 조회 15,510회 작성일 18-12-11 15:27

본문

 vsftp 를 yum 을 이용해 설치 합니다.

    # yum -y update

    # yum install  -y vsftpd

systemctl 명령어로 vsftpd를 시작/중지/상태확인한다.

    # systemctl status vsftpd.service

    # systemctl start vsftpd.service

    # systemctl stop vsftpd.service

    # systemctl restart vsftpd.service

vsftpd 자동실행

    # systemctl enable vsftpd.service

firewall 을 사용중이면 아래와 같이 21포트를 열어준다.

    # firewall-cmd --permanent  --zone=public --add-port=21/tcp

    # firewall-cmd --reload

동시에 80,21,443포트를 열려면 

    #firewall-cmd --permanent  --zone=public --add-port={21,80,443}/tcp

    #firewall-cmd --reload

 

iptables 를 사용중이면 아래와 같이 21포트를 열어준다.

    # vi /etc/sysconfig/iptables

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

    # :wq


위의 작업이 선행되었다면 vsftpd 특정 사용자 상위디렉터리 이동 제한 및 conf 파일 설정 - 에디터에서 수정해도 상관없다. 

    # vi /etc/vsftpd/vsftpd.conf 

익명 접속을 허용하지 않으면 NO 라고 입력한다.

    anonymous_enable=NO  


로컬계정 사용자들의 접속을 허용하지 않으면 NO 라고 한다.

    local_enable=YES  


ftp 전송명령어 중 write를 허용하지 않으면 NO 라고 한다.

    write_enable=YES  


umask 의 기본 값은 077이다. umask값이 077이면 새로 생성되는 파일의 퍼미션은 600이 되고, 새로 생성되는 디렉터리의 퍼미션은 700이 된다. 당연히 보안강화가 된다.

    local_umask=022  


ftp 접속한 사용자가 특정 디렉터리로 이동할때 개별 디렉터리의 메시지를 보여주도록 설정 한것이다. 밑에서 message_file 이라는 부분을 검색해서 해당 메시지를 넣게 되면 개발 디렉터리 안내 파일로 사용할 파일명을 지정할 수 있다.

    dirmessage_enable=YES 


ftp 접속 후 파일 업로드 및 다운로드에 대한 로그를 남긴다는 의미이다.

    xferlog_enable=YES 


ftp는 기본적으로 21번 포트와 20번 포트를 사용한다. ftp접속과 명령어에 사용되는 포트는 21번 이며, 실제 데이터전송에 사용되는 기본포트는 20번이다. 이때 20번 포트의 데이터전송 연결을 허용 할 것인가 아닌가를 설정하는 것으로 YES는 허용한다는 의미이다.

    connect_from_port_20=YES 


로그파일에 남길 로그파일의 포맷을 기본포맷으로 남긴다는 뜻이다. 리눅스에서 ftp 기본로그파일로 /var/log/xferlog 을 사용한다. 이 지시자는 이 파일의 표준포맷으로 로그를 남기도록 설정하는 것이다. 이 파일의 포맷보다는 vsftpd 로그포맷을 사용하는 것이 보다 자세한 로그를 남길 수 있다. 즉, 디렉터리 생성로그나 또는 로그인 같은 상세로그까지 기록해 준다.

    xferlog_std_format=YES 


특정 사용자들에 대해 자신의 홈 디렉터리를 루트 디렉터리로 인식하도록 하는 기능이다.

    chroot_list_enable=YES

    chroot_local_user=YES

    chroot_list_file=/etc/vsftpd/chroot_list 


chroot_list 파일이 없다면 새로 만들어 주어야 한다.


chroot_local_user=YES는 특정 사용자가 아닌 전체 사용자를 대상으로 자기 자신 홈 디렉터리 상위 디렉터리로 이동하지 못하도록 하는 설정이다.

chroot_list_enable=YES 로 설정하고 chroot_list_file=/etc/vsftpd/chroot_list 파일에 등록된 사용자들에 한해서 chroot 기능이 적용되어 자기 자신의 홈디렉터리 상위디렉터리 이동이 제한된다.

이 파일에 등록할때는 한 행에 사용자 계정을 등록하면 된다. (chroot_local_user=YES 이 부분 주석처리 해야된다. )


만약 vsftpd를 xinetd모드가 아닌 standalone으로 서비스 하려면 위의 listen 을 YES 로 설정하고 listen_port에 서비스 할 포트를 지정하면 된다. (기본포트 21번)

chroot_local_user=YES 와 chroot_list_enable=YES 가 모두 YES 이면, /etc/vsftpd/chroot_list 파일에 등록된 사용자를 제외한 나머지 사용자들이 상위디렉터리 이동이 제한이 되는 것이다. 

    listen=YES 


PAM 설정파일명으로 사용할 파일명을 지정한다. 이 설정이 적용되면 기본이 vsfpd이므로 /etc/pam.d/vsftpd 파일이 사용된다.

    listen_ipv6=NO

 

    pam_service_name=vsftpd 


    userlist_enable=YES

    tcp_wrappers=YES


출처 : https://nanoomi.org/bbs/board.php?bo_table=Server&wr_id=29

[이 게시물은 웹지기님에 의해 2019-03-15 15:32:56 knowledge에서 이동 됨]
추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 103건 6 페이지
  • 28 [ Server ][ Linux ] 리눅스 텔넷 기본 명령어
  • 퍼미션(권한)이란?wxrwxrwxr은 파일 읽기(4), w는 파일 쓰기(2), x는 파일 실행(1)755파일소유자는 그것을 읽고 쓰고 실행시킬 수 있지만, 제3자는 읽고 실행만 시킬 수 있다.777제3자도 쓰기 권한이 주어진다.*.html *.cgi, *.pl *.txt등의 파일은 업로드시 반드시 ascii로하고나머지 그림(*.gif *.jpg)이나 자바 애플릿(*.class), 실행파일(*.exe *.zip *.rar)등은 binary mode로 업로드 할 것.리눅스 기본명령어이들 앨리어스는 [...
  • 웹지기 10-01 10560 0 0 댓글 0
  • 27 [ Server ][ Linux ][ Software ] ssh 사용법 및 기본 명령어
  • 기본적인 명령어..-> login유닉스 시스템은 기본적으로 multi-user개념에서 시작하였기 때문에 시스템을 이용하기 위해서는 반드시 로그인을 하셔야 합니다.로그인은 PC 통신에서도 많이 사용되어져 왔기 때문에 그 개념 설정에 그다지 어려움이 없을 것입니다.흔히 말하는 ID를 입력하는 과정입니다. 유닉스 시스템에서는 영문자의 대소문자 구별이 엄격합니다.이점을 주의 하시길 바랍니다. (login 의 반대는 logout 또는 exit 또는 ctrl-D)-> passwd...
  • 웹지기 10-01 10210 0 0 댓글 0
  • 25 [ Server ][ Linux ] CentOS 7 설치 및 설정하기 사용자 생성시 디렉토리(public_h…
  • 계정생성시 디렉토리와 기본 파일을 자동으로 추가하게 설정. 기본폴더 즉 /etc/skel 디렉토리 하단에 public_html을 만들고 public_html하단에 index.html과 같은 기본 파일을 만들어서 확인할 수 있게 해준다 /etc/skel/public_html/index.html(php) 와 같이 만들어주면 계정생성시 자동으로 디렉토리와 파일이 추가된다. [이 게시물은 웹지기님에 의해 2019-03-15 15:33:17 knowledge에서 이동 됨]
  • 웹지기 12-10 10447 0 0 댓글 0
+8
  • 24 [ Server ][ Linux ] CentOS 7 설치 및 설정하기 다섯번째 root계정 접속 막기
  • 리눅스에서 특별한 조치를 취하지 않으면 SSH포트가 열려있고, Root 계정도 활성화 되어있다. 포트스캐닝을 통해서 포트가 SSH포트가 열려있는게 확인되면 Root에 대한 무장위 대입공격을 통해 해킹을 시도한다. 오랜 해킹시도에 노출이 되면 서버보안에 큰문제가 된다. Root계정을 막기 전에 새로운 계정을 생성해 준다. useradd [ 계정이름 ] passwd [ 계정이름 ] 새 암호 : [ 암호입력 ] 새 암호 재입력 : [ 같은 암호 재입력 ] 새로운 계정을 만들었으면,...
  • 웹지기 12-10 13489 0 0 댓글 0
+1
  • 23 [ Server ][ Linux ] CentOS 7 설치 및 설정하기 네번째 서버에 apm설치(httpd, …
  • APM 설치를 진행한다. 간편한 작업을 위해https://sir.kr/so_server/1945 apm auto installer을 다운받습니다. 압축을 푸시면 APM 사용 설명서.txt가 포함되어 있습니다. 이부분을 읽고 따라하면 됩니다.(간단함) 저는 root로 접속해서 APMinstaller.sh를 퍼미션 변경 후 실행했습니다. 설치가 끝나고 php버젼을 확인해 보았습니다. 오류없이 설치가 잘 마무리가 되고 Complete! 라는 내용이 떳네요. php 버젼에 7.2....
  • 웹지기 12-10 9425 0 0 댓글 0
+8
  • 21 [ Server ][ Linux ] CentOS 7 설치 및 설정하기 두번째 CentOS7 설치
  • 만들어진 USB로 부팅을 한다. 부팅 USB가 없다면https://funyphp.com/archive/knowledge/106 부분을 따라서 한다. Install CentOS7 을 선택한다. 언어설정에서 한국어를 선택한다. 먼저 네트워크 및 호스트명으로 이동해서 네트워크를 설정한다. 다음 설치대상에서 파티션을 설정한다. 소프트웨어 선택은 최소설치다. 이더넷을 켜고 설정을 통해서 ip를 자동 또는 수동 조정이 가능하다. 본인의 ip를 잘 기억해서 기본 설치 이외...
  • 웹지기 12-10 9723 0 0 댓글 0
+6
  • 20 [ Server ][ Linux ] CentOS 7 설치 및 설정하기 첫번째 부팅 USB만들기
  • CentOS 7 설치를 위해rufus-3.4p 와 CentOS7 다운로드 사이트로 이동해서 최소설치 버젼(Minimal ISO)를 다운을 받는다. 다운이 완료되었으면 부팅 USB를 만들어보자 rufus-3.4를 실행시키면 다음의 화면과 함께 부팅 USB를 만드는 조건이 시작된다. 다음과 같이 진행을 하면 된다.(USB라서 다소 시간이 걸릴 수 있습니다.) 그림에서 선택부분을 눌러서 CentOS7-x86_64-Minimal-1810.iso 파일을 선택해 주고, 볼륨레이블 ...
  • 웹지기 12-10 10718 0 0 댓글 0
  • 19 [ Server ][ Linux ][ ubuntu ] sass install, 우분투에 sass 설치하기
  • 일단 우분투서버에 ruby가 설치되어 있어다는 조건하에. :sass -v 있다면 버젼이 나오고 없다면 설치하라는 명령이 뜰것이다. 설치가 되어있지 않다면 :apt-get install ruby-sass 중간에 y/n 질문을 하면 y를 눌러주면 된다. 설치가 완료 되었으면. 버젼을 확인하자 :sass -v :Sass 3.4.21 (Selective Steve) 버젼이 나오면 성공한것이다. [이 게시물은 웹지기님에 의해 2019-03-15 15:33:17 knowledge에서 ...
  • 웹지기 12-05 8775 0 0 댓글 0
  • 18 [ Server ][ Linux ] ubuntu ruby install, git install, 우분투에서…
  • 룻트폴더로 이동 :cd ~ :ruby --version 버젼이 나오지 않으면 설치가 되어있지 않는 것이다. :sudo apt-get update :sudo에 대한 비밀번호 입력 업데이트가 진행된다. apt-get 명령을 통해 rbenv 와 ruby 를 설치한다. :apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxm...
  • 웹지기 12-05 9746 0 0 댓글 0
  • 17 [ Server ][ Linux ] CentOS 7 SELinux 설정 및 해제하기
  • SELinux 는 Linux의 보안을 강화해 주는 보안 강화 커널이고 zero-day 공격 및 buffer overflow 등 어플리케이션 취약점으로 인한 해킹을 방지해 주는 핵심 구성요소이다. 특정 서비스가 SELinux 때문에 동작하지 않는다면 SELinux 를 끄기 보다는 해당 서비스가 SELinux 하에서 잘 동작하도록 설정을 수정하는걸 권장한다. SELinux 동작 모드 enforce, permissive, disable 세 가지 모드가 있으며 RHEL/CentOS 를 설치하...
  • 웹지기 12-13 23818 0 0 댓글 0
  • 16 [ Server ][ Linux ] CentOS 7 virtual host 설정하기 ( 가상호스트 설정 )
  • 기본적으로 들어오는 경로에 대해 httpd.conf에 정의 되어있다. httpd.conf 백업파일 없으면 파일을 백업해둔다 cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.original httpd.conf파일을 연다. vim /etc/httpd/conf/httpd.conf httpd.conf파일의 최하단에 다음의 두 줄을 추가한다. # virtual host setting ...
  • 웹지기 12-12 19034 0 0 댓글 0
  • 15 [ Server ][ Linux ] CentOS 7 계정생성 / 계정삭제, 유저계정 권한변경, 계정기본파일 …
  • 계정 생성 : useradd 계정명 계정 생성 확인 : cat /etc/passwd | grep 계정명 계정 비밀번호 생성 : passwd 계정명 기본적으로 계정을 만들면 /home/계정명으로 생성된다. 계정생성시 자동으로 폴더와 파일을 추가하려면 /etc/skel/ 폴더에 public_html 을 만들어주고 에러확인을 위한 폴더( _log )도 추가해 주자. 만들어진 public_html 폴더에 시작파일인 index.html , index.php 파일등을 만들어서 셋팅이 잘되었는지...
  • 웹지기 12-12 14124 0 0 댓글 0
  • 14 [ Server ][ Linux ] CentOS 7 apm auto install 설치 이후 phpMyAdm…
  • 일반적으로 인터넷에 올라와있는 방법으로 했더니 오류가 발생한다. Error: Package: php-recode-5.4.45-16.el7.remi.x86_64 (remi) Requires: php-common(x86-64) = 5.4.45-16.el7.remi Installed: php-common-7.2.13-2.el7.remi.x86_64 (@remi-php72) php-common(x86-64) = 7.2.13-2.el7.remi...
  • 웹지기 12-11 10269 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
5,039
어제
5,664
최대
33,828
전체
8,394,762

그누보드5
Copyright © funyphp.com. All rights reserved.