您的位置:

Linux安装vsftpd全面指南

一、安装vsftpd

在linux系统中,使用命令行安装vsftpd非常简单。请按照以下步骤进行安装:

sudo apt-get update
sudo apt-get install vsftpd

安装完成后,可以输入以下命令检查 vsftpd 服务是否已经启动:

systemctl status vsftpd.service

如果服务已经启动,将显示 active (running) 。

二、修改配置文件

vsftpd 的配置文件是一个文本文件,位于 /etc/vsftpd.conf ,我们需要修改这个文件才能确保 FTP 服务器能够正常工作。下面的代码展示了可以参考的配置文件。

listen=NO
listen_ipv6=YES
anonymous_enable=YES
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
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

配置文件中的一些重要的命令行参数:

  • anonymous_enable:允许匿名 FTP 访问
  • local_enable:允许非匿名用户 FTP 访问
  • write_enable:允许文件写入
  • local_umask:文件上传的默认文件权限掩码
  • dirmessage_enable:启用/禁用在打开一个新目录时显示消息的功能
  • xferlog_enable:启用/禁用 xferlog 文件记录传输日志的功能(下载或上传)
  • connect_from_port_20:使用固定的 20 号端口建立 FTP 连接
  • chroot_local_user:将用户的基本文件夹限制在本地位置。
  • allow_writeable_chroot:在已经设置 chroot_local_user 参数的情况下,允许用户在自己的主目录中上传文件
  • pam_service_name:使用的 PAM 服务名称,vsftpd 需要有一个 PAM 模块来授权用户登录
  • rsa_cert_file:RSA 证书文件的路径
  • rsa_private_key_file:RSA 私钥文件的路径
  • ssl_enable:启用/禁用 SSL 加密

三、创建 FTP 用户

使用 vsftpd 需要有至少一个用户账号,可以使用以下命令创建用户:

sudo adduser ftpuser

执行完以上命令后,输入用户名以及用户密码即可创建 FTP 用户。

四、设置用户FTP根目录

用户登陆到FTP目录后,会在用户的家目录下,我们需要指定用户FTP的根目录。可以使用以下命令进行设置:

sudo usermod --home /var/www/html ftpuser

这里,我们将FTP根目录设为 /var/www/html,如果你有其他的设定,请自行更改。

五、设置FTP用户的文件访问权限

如果 FTP 用户需要有写入权限,比如上传或更新文件,可以使用以下命令设置用户文件访问权限:

sudo usermod -a -G www-data ftpuser
sudo chown -R ftpuser:www-data /var/www/html/
sudo chmod -R 775 /var/www/html/

我们将ftpuser用户加入到www-data的用户组中,然后将FTP目录的拥有者设置为ftpuser,用户组设置为www-data,最后修改文件权限为 775。

六、启动 FTP 服务器

执行以下命令启动 FTP 服务器:

sudo systemctl start vsftpd.service

你也可以使用以下命令停止 vsftpd 服务:

sudo systemctl stop vsftpd.service

如果要重启该服务,可以输入以下命令:

sudo systemctl restart vsftpd.service

七、FTP客户端连接测试

在完成以上设置后,使用FTP客户端进行测试。

将FTP客户端Target Host、FTP用户名和FTP密码设为之前设置的目标即可顺利连接至FTP服务器。

八、总结

本文介绍了如何在 Linux 上安装 vsftpd 以及如何进行基本设置。再次提醒,FTP可能会暴露出文件系统中敏感文件或配置文件,因此必须仔细设置,限制访问,进行适当的安全审计。