当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Ubuntu18.04安装vsftpd的实现代码

    栏目:Linux/apache问题 时间:2020-01-02 23:11

    安装vsftpd

    $ sudo apt-get install vsftpd -y
    

    启动vsftpd服务,并将其设置为开机启动

    $ sudo systemctl start vsftpd
    $ sudo systemctl enable vsftpd
    

    设置FTP的目录结构

    创建一个用户

    $ sudo adduser testuser1
    

    创建目录并设置所有权

    $ sudo mkdir /home/testuser1/ftp
    $ sudo chown nobody:nogroup /home/testuser1/ftp
    $ sudo chmod a-w /home/testuser1/ftp
    

    创建一个可以在其中上传文件的目录,并为设置所有权

    $ sudo mkdir /home/testuser1/ftp/test
    $ sudo chown testuser1:testuser1 /home/testuser1/ftp/test
    

    配置vsftpd

    备份vsftpd的原始配置文件

    $ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

    打开并编辑vsftpd.conf文件

    $ sudo vi /etc/vsftpd.conf
    

    将以下内容添加到文件

    listen=NO
    listen_ipv6=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    use_localtime=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    chroot_local_user=YES
    secure_chroot_dir=/var/run/vsftpd/empty
    pam_service_name=vsftpd
    pasv_enable=Yes
    pasv_min_port=10000
    pasv_max_port=11000
    user_sub_token=$USER
    local_root=/home/$USER/ftp
    userlist_enable=YES
    userlist_file=/etc/vsftpduserlist.conf
    userlist_deny=NO
    

    4.保存并关闭配置文件

    :wq

    5.将我们创建的 testuser1 用户添加到 vsftpd 的用户列表文件中

    $ sudo vi /etc/vsftpduserlist.conf

    6.重新启动vsftpd服务以应用这些更改

    $ sudo systemctl restart vsftpd
    

    使用 SSL/TLS

    创建安全证书

    $ sudo mkdir /etc/certs
    
    $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /etc/certs/vsftpd.pem \
    -out /etc/certs/vsftpd.pem
    
    

    打开vsftpd.conf文件

    $ sudo vi /etc/vsftpd.conf

    将以下内容添加到文件

    rsa_cert_file=/etc/certs/vsftpd.pem
    rsa_private_key_file=/etc/certs/vsftpd.pem
    ssl_enable=YES
    allow_anon_ssl=NO
    force_local_data_ssl=YES
    force_local_logins_ssl=YES
    ssl_tlsv1=YES
    ssl_sslv2=NO
    ssl_sslv3=NO
    require_ssl_reuse=NO
    ssl_ciphers=HIGH
    

    保存文件并重新启动vsftpd

    $ sudo systemctl restart vsftpd
    

    在 FTP 客户端使用 SFTP 协议登录添加的用户

    配置防火墙

    $ sudo ufw allow OpenSSH
    $ sudo ufw allow 20/tcp
    $ sudo ufw allow 21/tcp
    $ sudo ufw allow 40000:50000/tcp
    $ sudo ufw allow 990/tcp
    
    $ sudo ufw enable
    $ sudo ufw status
    
    

    参考:DevAnswers.co,hostadvice.com

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。