Ubuntu18.04安装vsftpd的实现代码

 更新时间:2019年12月30日 09:15:13   作者:godper  
这篇文章主要介绍了Ubuntu18.04安装vsftpd的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

安装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.cohostadvice.com

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

相关文章

  • CentOS5 + rsync 同步2台服务器的文件

    CentOS5 + rsync 同步2台服务器的文件

    CentOS 5 + rsync 同步2台服务器的文件,需要服务器同步的朋友可以参考下。
    2010-12-12
  • Centos 6.9环境下创建用户及删除用户的方法

    Centos 6.9环境下创建用户及删除用户的方法

    这篇文章主要介绍了Centos 6.9环境下创建用户及删除用户的方法,结合实例形式分析了Centos 6.9创建用户及删除用户相关的用户名、密码创建、删除及权限设置等相关命令使用方法,需要的朋友可以参考下
    2018-04-04
  • Linux MySQL忘记root密码解决方案

    Linux MySQL忘记root密码解决方案

    这篇文章主要介绍了Linux MySQL忘记root密码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • linux下图形界面和命令行界面的切换方式

    linux下图形界面和命令行界面的切换方式

    在Linux系统中,可以通过快捷键[CTRL]+[ALT]+F2切换到命令行界面,通过[CTRL]+[ALT]+F7切回图形界面,如果系统默认进入命令行,可使用startx命令启动图形界面,更改系统默认界面需在/etc/inittab文件中进行配置,这些操作帮助用户根据需求选择合适的工作环境
    2024-10-10
  • Linux如何查看架构和系统问题

    Linux如何查看架构和系统问题

    在Linux系统上,可以使用`uname -m`查看系统架构,使用`uname`查看内核和操作系统信息,使用`/etc/os-release`和`lsb_release`查看系统详细信息,使用`lscpu`、`lsblk`和`free -h`查看硬件信息
    2025-03-03
  • Linux netstat命令详细解析

    Linux netstat命令详细解析

    以下是对Linux中的netstat命令进行了详细的介绍,需要的朋友可以过来参考下
    2013-08-08
  • Linux的二进制文件无法运行问题及解决

    Linux的二进制文件无法运行问题及解决

    解决“不能执行二进制文件”的问题,通常涉及检查环境变量和脚本路径,在本例中,通过将脚本中的文件路径改为全路径,成功解决了问题
    2024-11-11
  • linux nohup及tail-f用法

    linux nohup及tail-f用法

    这篇文章给大家分享了linux nohup及tail-f用法相关内容,有兴趣的朋友可以参考学习下。
    2018-07-07
  • linux命令实现音频格式转换和拼接的方法

    linux命令实现音频格式转换和拼接的方法

    今天小编就为大家分享一篇linux命令实现音频格式转换和拼接的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 浅析CentOS8虚拟机访问Windows10主机文件夹方法

    浅析CentOS8虚拟机访问Windows10主机文件夹方法

    这篇文章主要介绍了CentOS8虚拟机访问Windows10主机文件夹方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10

最新评论