ubuntu

ubuntu vsftp如何进行用户认证

小樊
46
2025-05-21 21:13:27
栏目: 智能运维

在Ubuntu上配置vsftpd进行用户认证,通常涉及以下几个步骤:

1. 安装vsftpd

首先,确保你已经安装了vsftpd。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd

编辑vsftpd的配置文件 /etc/vsftpd.conf。你可以使用任何文本编辑器,例如 nanovim

sudo nano /etc/vsftpd.conf

在配置文件中,确保以下设置是正确的:

listen=YES
listen_ipv6=NO
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
userlist_enable=YES
tcp_wrappers=YES

3. 配置PAM(Pluggable Authentication Modules)

确保PAM配置正确。编辑 /etc/pam.d/vsftpd 文件:

sudo nano /etc/pam.d/vsftpd

确保文件中有以下行:

auth required pam_listfile.so item=user sense=allow file=/etc/vsftpd.user_list onerr=succeed
auth required pam_shells.so
account required pam_listfile.so item=user sense=deny file=/etc/vsftpd.user_list onerr=succeed

4. 创建用户列表

创建 /etc/vsftpd.user_list 文件,并添加允许通过FTP访问的用户:

sudo nano /etc/vsftpd.user_list

在文件中添加用户名,每行一个:

username1
username2

5. 创建禁止列表(可选)

如果你有用户不应该通过FTP访问,可以创建 /etc/vsftpd.deny_list 文件:

sudo nano /etc/vsftpd.deny_list

在文件中添加用户名,每行一个:

username3
username4

6. 重启vsftpd服务

保存所有更改后,重启vsftpd服务以应用配置:

sudo systemctl restart vsftpd

7. 测试FTP连接

使用FTP客户端(如FileZilla)连接到你的服务器,使用配置的用户进行认证。确保用户名和密码正确,并且用户已经在 /etc/vsftpd.user_list 中列出。

通过以上步骤,你应该能够在Ubuntu上成功配置vsftpd进行用户认证。如果有任何问题,请检查日志文件 /var/log/vsftpd.log 以获取更多信息。

0
看了该问题的人还看了