一、安装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可能会暴露出文件系统中敏感文件或配置文件,因此必须仔细设置,限制访问,进行适当的安全审计。