centos,搭建ftp服务;vsftpd

本文介绍了如何在CentOS系统上安装vsftpd服务,包括配置文件的详细解释,如匿名用户、本地用户权限设置,以及启动服务和创建FTP用户的步骤。同时,文章列举了在配置和使用过程中可能遇到的问题及解决方案,如权限错误、用户验证失败等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 安装vsftpd

使用yum安装vsftpd:

yum install -y vsftpd

配置vsftpd

编辑vsftpd配置文件:

vim /etc/vsftpd/vsftpd.conf 

以下是一些常见的配置项:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
xferlog_std_format=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
#userlist_enable=YES
userlist_deny=NO
tcp_wrappers=NO
deny_email_enable=NO
allow_writeable_chroot=YES

解释一下这些选项:

  • anonymous_enable:是否允许匿名用户登录,默认为YES,改为NO。- local_enable:是否允许本地用户登录,默认为NO,改为YES。- write_enable:是否允许用户上传文件,默认为NO,改为YES。- local_umask:上传文件的默认文件权限,默认为077,改为022。- dirmessage_enable:是否显示目录的说明文件,默认为NO,改为YES。- xferlog_enable:是否记录文件传输日志,默认为NO,改为YES。- connect_from_port_20:是否使用20号端口传输数据,默认为NO,改为YES。- xferlog_file:文件传输日志的路径。- idle_session_timeout:连接空闲超时时间。- data_connection_timeout:数据连接超时时间。- listen:是否监听网络连接。- pam_service_name:PAM认证服务名称。- tcp_wrappers:是否启用TCP包过滤。
  1. 启动vsftpd

使用systemctl启动vsftpd服务:

sudo systemctl restart vsftpd.service

设置vsftpd开机自启:

sudo systemctl enable vsftpd

  1. 创建FTP用户

使用以下命令创建FTP用户:

adduser user1   ##创建 用户

passwd user1   ##设置user1密码

添加允许访问ftp的用户,由于 vsftp.conf文件中有:userlist_deny=NO #的配置,代办允许

/etc/vsftpd/user_list文件 中的用户访问 ftp服务,  /etc/vsftpd/ftpusers文件 是拒绝访问 ftp的用户;

所以需要在 user_list文件中添加上需要访问的用户;

echo "user1" >> /etc/vsftpd/user_list

  • userlist_enable:是否启用用户列表,默认为NO,改为YES。- userlist_file:用户列表的文件路径,默认为/etc/vsftpd/user_list。- userlist_deny:是否禁止用户列表中的用户登录,默认为YES,改为NO。 创建用户列表文件:

# 重启vsftpd

sudo systemctl restart vsftpd.service

,如果使用 xftp软件登录  ftp服务,显示的报错问题,无法查到有用信息,

可以尝试,用 cmd  的 ftp命令 登录服务,查看更多报错信息;

问题:

1. 如果提示:用户(43.138.105.144:(none)): user1
530 Permission denied.

:那么可能是  /etc/vsftpd/user_list 文件中没有 添加登录的用户,或者  /etc/vsftpd/ftpusers中添加的登录的用户;

上边  /etc/vsftpd/vsftpd.conf 配置内容是:

允许/etc/vsftpd/user_list 中的用户登录;

禁止:/etc/vsftpd/ftpusers用户登录;

如果两个里面都写了 该用户,则 不能登录;

2. xftp用户验证失败

需要,修改   /etc/vsftpd/vsftpd.conf 配置文件中:把下边2行添加上注释;

#ascii_upload_enable=YES
#ascii_download_enable=YES

3. xftp登录提示:无法显示远程文件夹

在选项中,取消“使用被动模式”

4. 报错:500 OOPS: chroot Login failed. 421 Service not available, remote server has closed connection

[root@localhost yum.repos.d]# ftp 192.168.3.201 
Connected to 192.168.3.201 (192.168.3.201).
220 (vsFTPd 3.0.2)
Name (192.168.3.201:root): ftpuser
331 Please specify the password.
Password:
500 OOPS: chroot
Login failed.
421 Service not available, remote server has closed connection
ftp> 

解决办法:在 所登录的目录,如 /home/ftpuser/ 给此目录添加权限

cd /home/

chmod 775 ftpuser/

5. 报错:500 OOPS: tcp_wrappers is set to YES but no tcp wrapper support compiled in

遇到的错误信息 "500 OOPS: tcp_wrappers is set to YES but no tcp wrapper support compiled in" 表示 vsftpd 配置中启用了 TCP Wrappers 支持 (tcp_wrappers=YES),但 vsftpd 没有编译进 TCP Wrappers 支持。TCP Wrappers 提供了一个简单的网络访问控制形式,允许或拒绝来自特定 IP 地址的服务请求。

编辑 /etc/vsftpd/vsftpd.conf 配置文件,禁用 TCP Wrappers 支持。

tcp_wrappers=YES

改为

tcp_wrappers=NO

重启服务:

sudo systemctl restart vsftpd

三。vsftp.conf配置文件详解

  • anonymous_enable:允许匿名用户登录FTP服务器。默认值为YES,可以设置为NO禁止匿名访问。
  • local_enable:允许本地用户登录FTP服务器。默认值为YES,可以设置为NO禁止本地用户访问。
  • write_enable:允许用户上传和修改文件。默认值为YES,可以设置为NO禁止用户上传和修改文件。
  • local_umask:本地用户上传文件的默认权限掩码。默认值为022,表示用户上传的文件和目录的默认权限为755。
  • anon_upload_enable:允许匿名用户上传文件。默认值为NO,可以设置为YES允许匿名用户上传文件。
  • anon_mkdir_write_enable:允许匿名用户在服务器上创建目录和进行写操作。默认值为NO,可以设置为YES允许匿名用户创建目录和进行写操作。
  • anon_other_write_enable:允许匿名用户进行其他类型的写操作,如更改文件权限或创建符号链接。默认值为NO,可以设置为YES允许匿名用户进行其他类型的写操作。
  • chroot_local_user:将本地用户限制在其主目录中。默认值为NO,可以设置为YES将本地用户限制在其主目录中。
  • chroot_list_enable:允许在chroot列表中列出用户以限制其访问的目录。默认值为NO,可以设置为YES启用chroot列表功能。
  • chroot_list_file:列出需要限制其访问的目录的用户列表的文件名。只有在chroot_list_enable设置为YES时才可用。
  • userlist_enable:启用用户列表功能,这将允许管理员控制用户访问。默认值为NO,可以设置为YES启用用户列表功能。
  • userlist_deny:拒绝用户列表中未列出的用户登录FTP服务器。默认值为NO,可以设置为YES拒绝用户列表中未列出的用户登录FTP服务器。
  • userlist_file:包含用户列表的文件名。只有在userlist_enable设置为YES时才可用。

通过配置vsftp.conf文件中的这些参数,可以使vsftp服务器更加安全和高效,并根据需求进行定制化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值