您现在的位置是:首页 >其他 >centos,搭建ftp服务;vsftpd网站首页其他

centos,搭建ftp服务;vsftpd

wsyzxss 2024-06-17 10:19:51
简介centos,搭建ftp服务;vsftpd

  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=YES
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登录提示:无法显示远程文件夹

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

三。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服务器更加安全和高效,并根据需求进行定制化。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。