• [Ubuntu][vsftpd] 웹 서버에서 사용할 FTP 설치하기
    백엔드/Linux(Ubuntu) 2020. 4. 30. 22:09
    728x90

    Ubuntu에서는 FTP Server로서 vsftpd를 설치하여 사용하고 있다.

    1. vsftpd 설치

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install vsftpd

    2. vsftpd를 설정한다.

    위치 : etc/vsftpd.conf
    listen=NO
    listen_ipv6=YES
    
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=002
    dirmessage_enable=YES
    
    use_localtime=YES
    
    xferlog_enable=YES
    connect_from_port_20=NO
    pasv_enable=YES
    pasv_min_port=10000
    pasv_max_port=10010
    
    chroot_local_user=YES
    chroot_list_enable=YES
    allow_writeable_chroot=YES
    force_dot_files=YES
    
    secure_chroot_dir=/var/run/vsftpd/empty
    
    pam_service_name=ftp
    
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    ssl_enable=NO

    3. vsftpd.chroot_list파일을 생성하여 루트 디렉토리로의 접근을 막는다.

    위치 /etc
    sudo touch vsftpd.chroot_list

    4. 계정을 생성함.

    sudo adduser 사용자이름
    사용할 비밀번호 입력
    사용할 비밀번호 재입력
    엔터후 Y
    sudo usermod -g www-data 사용자이름
    sudo usermod -d 웹서버파일경로[기본값 : var/www/html] 사용자이름
    sudo service vsftpd restart

    5. 웹 서버 파일 경로 옵션 변경

    sudo chmod -R 775 웹서버파일경로[기본값:var/www/html]
    sudo chown -R 사용자이름:www-data 웹서버파일경로[기본값:var/www/html]

    6. (선택) bash 로그인 막기.

    위치 : etc/passwd
    sudo vim passwd
    
    맨 밑으로 내려 뒷부분 '/bin/bash'를 '/usr/sbin/nologin'으로 수정

    ftp는 되지만, ssh접속은 되지 않는다.


     

    728x90

    댓글

Copyright ⓒ syudal.tistory.com