Vsftpd 安装使用

1 关于 vsftpd

vsftpd(Very Secure FTP Daemon)是一个高度安全的FTP服务器软件, 被广泛用于Linux和类Unix系统。它旨在提供一个安全可靠的FTP服务器, 具有良好的性能和一系列功能。

1.1 安装vsftpd软件包 (环境ubuntu)

1
2
sudo apt update
sudo apt install vsftpd

1.2 配置vsftpd

1.2.1 配置文件位于 /etc/vsftpd.conf。你可以使用文本编辑器(如Nano或Vi)来编辑该文件

1
sudo nano /etc/vsftpd.conf

1.2.2 确保以下设置在配置文件中启用

1
2
3
4
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES

1.3 重启vsftpd服务

1
sudo service vsftpd restart

1.4 配置防火墙

如果你的Ubuntu服务器启用了防火墙(如ufw),请确保开放FTP端口 21:

1
2
3
4
sudo ufw allow 21/tcp
sudo ufw enable
# 查看防火墙状态
sudo ufw status

2 创建专门的FTP用户并限制其主目录的访问权限

2.1 创建FTP用户

使用adduser命令创建新的FTP用户。在这里,我们假设你要创建一个名为"ftpuser"的FTP用户。执行以下命令并按照提示设置密码和其他信息:

1
sudo adduser ftpuser

2.2 限制FTP用户主目录的访问权限

默认情况下,新创建的用户的主目录位于/home/ftpuser,我们可以更改其主目录并限制其访问权限。首先,创建一个新的目录用于FTP用户的主目录。例如,我们在/ftp目录下创建一个名为" ftpuser_home"的目录,并将其所有权赋予"ftpuser"用户:

1
2
sudo mkdir /ftp/ftpuser_home
sudo chown ftpuser:ftpuser /ftp/ftpuser_home

2.3 修改FTP用户的主目录

编辑/etc/passwd文件,将FTP用户的主目录修改为上一步创建的目录/ftp/ftpuser_home。可以使用usermod命令来完成此操作:

1
sudo usermod -d /ftp/ftpuser_home ftpuser

2.4 限制FTP用户登录

要限制FTP用户仅能使用FTP服务而无法登录系统,可以在/etc/passwd文件中将其登录Shell设置为/usr/sbin/nologin。可以使用usermod命令完成此操作:

1
sudo usermod -s /usr/sbin/nologin ftpuser

2.5 重启vsftpd服务

完成配置后,重启vsftpd服务使更改生效:

1
sudo service vsftpd restart

3 出现的问题记录

3.1 vsftpd登录报530

问题:vsftpd登录报530 Login incorrect无法登录问题

解决方法:进入/etc/pam.d将vsftpd文件中的pam_shells.so改为pam_nologin.so,然后systemctl restart vsftpd重启服务,连接ftp成功

问题参考的文章链接

0%