欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 手游 > Linux FTP文件传输服务vsftpd(包含:匿名用户、本地用户、虚拟用户设置)

Linux FTP文件传输服务vsftpd(包含:匿名用户、本地用户、虚拟用户设置)

2025/4/3 6:42:07 来源:https://blog.csdn.net/weixin_72819498/article/details/146565312  浏览:    关键词:Linux FTP文件传输服务vsftpd(包含:匿名用户、本地用户、虚拟用户设置)

目录

FTP协议简介

FTP服务端软件:

vsftpd服务介绍

一、部署vsftpd服务

1.安装服务

2.启用服务并设置开机自启

3.相关参数

二、FTP用户设置

1.匿名用户设置

##重启服务使其生效

2.本地用户设置

(1)创建用户

选项:

(2)更改配置文件

(3)重启服务

3.虚拟用户设置

(1)创建虚拟用户文件

(2)生成Vsftpd虚拟用户数据库认证文件,设置权限700

(3)配置PAM认证文件

(4)创建需要映射的普通用户

(5)编辑配置文件

(6)为每个虚拟用户创建配置文件

(7)增加读写目录权限

(8)重启服务

(9)验证:客户端访问测试


FTP协议简介

FTP(File Transfet Protocol):文件传输协议,在互联网中基于TCP协议进行数据传输

默认端口:20(数据端口)用于数据传输、21(命令端口)用于接收客户端发出的FTP相关命令

FTP服务端软件:

Linux系统:vsftpd系统安全、稳定和高性能,配置灵活,支持多种认证方式,如匿名访问、本地用户认证等

Windows系统:使用 IIS(Internet Information Services)来搭建 FTP 服务。IIS 是 Windows 系统自带的 Web 服务器组件,提供了图形化的管理界面,便于配置和管理 FTP 站点

客户端软件:

Linux系统:ftp、lftp(推荐)

vsftpd服务介绍

vsftpd(very secure ftp daemon)一款开源免费安全可靠的FTP服务

vsftpd用户模式:本地用户、匿名用户(默认)、虚拟用户

环境准备:

Linux系统安装与配置指南:新手必读的保姆级教程,-CSDN博客文章浏览阅读447次。关闭并禁用防火墙,not running---防火墙处于关闭状态 running-----防火墙处于启用状态 https://blog.csdn.net/weixin_72819498/article/details/136589044

一、部署vsftpd服务

1.安装服务

yum -y install vsftpd

2.启用服务并设置开机自启

systemctl enable vsftpd --now

3.相关参数

/var/ftp                                     #文件共享目录

/etc/vsftpd/vsftpd.conf             #主配置文件

/etc/vsftpd/ftpusers                 #设置黑名单

/var/log/xferlog                        #日志文件

二、FTP用户设置

1.匿名用户设置

   vsftpd默认设置为匿名用户登录。在CentOS中,FTP匿名用户为ftp其匿名访问的目录为/var/ftp,/var/ftp/目录下默认设置了一个pub的文件夹,可供用户匿名访问FTP时实现上传文件的作用。FTP根目录不允许匿名用户或其他用户有写入权限。

vim /etc/vsftpd/vsftpd.conf12 anonymous_enable=YES		#是否允许匿名用户访问,yes允许 no不允许 注释掉‘#’默认为允许29 anon_upload_enable=YES		#是否允许匿名用户上传,需要更改文件目录的属主属组。注释掉默认为no33 anon_mkdir_write_enable=YES	#是否允许匿名用户创建新目录,注释掉默认为no
...........
anon_other_write_enable=yes		#是否允许匿名用户拥有写或删除权限(需手动添加)

##重启服务使其生效

systemctl restart vsftpd

——————————————————————————————————

注意:

如果启用上面其他选项需要检查pub(公共)目录的属主属组,才能有权限

chown -R ftp.ftp /var/ftp/pub

——————————————————————————————————————

2.本地用户设置

 本地模式ftp默认共享目录为本地用户的家目录,但也可以在配置文件中更改其共享位置

(1)创建用户

useradd ftpuser -s /sbin/nologin
echo ftpser:123.com|chpasswd
选项:

-s    #指定要使用的shell。本次案例指定/sbin/nologin,不能通过ssh登录但可以正常通过此用户运行 FTP 服务

(2)更改配置文件

vim /etc/vsftpd/vsftpd.conf

 12 anonymous_enable=NO   #如不需要匿名登录,安全起见可禁用

 16 local_enable=YES    #是否开启本地用户模式(默认启用)

 19 write_enable=YES    #是否启用本地用户拥有写权限(默认启用)

 23 local_umask=022    #本地用户文件权限为755需反写,例如777减755=022

----------------------------------- ----------------------------------------------------------

##以下为可选功能,增加自定义设置

 37 dirmessage_enable=YES      #用户第一次登录时显示提示信息,(默认启用)

 40 xferlog_enable=YES           #启用日志记录功能,/var/log/xferlog可记录用户上传下载(默认启用)

 49 chown_username=whoever  #改变上传文件的属主属组

 60 idle_session_timeout=600    #设置客户端超时时间

 63 data_connection_timeout=120 #设置数据超时时间,传输数据中断所等待的时间

101 chroot_list_enable=YES       #是否禁用本地用户可切换目录

114 listen=YES                          #是否监听ipv4连接,注意不可和ipv6同时启用

123 listen_ipv6=NO                   #是否监听ipv6连接,注意不可和ipv4同时启用

126 userlist_enable=YES         #是否启用/etc/vsftpd/user_list控制名单,userlist控制名单优先级大于ftpusers黑名单文件(默认启用)

127 userlist_deny=NO            #是否将/etc/vsftpd/user_list设置为黑名单,NO会将其设置为白名单(此项需手动添加)

max_clients=100                     #限制最大并发连接数为100(手动添加)

(3)重启服务

systemctl restart vsftpd

3.虚拟用户设置

     vsftpd 虚拟用户是 vsftpd 这款 FTP 服务器软件中不依赖系统真实用户账号,仅用于 FTP 服务访问控制,且更安全、灵活,可单独设置权限的专用 FTP 用户。

(1)创建虚拟用户文件

mkdir /etc/vsftpd/vuser
vim /etc/vsftpd/vuser/ftpuser.txt
test01
123
tets02
111

(2)生成Vsftpd虚拟用户数据库认证文件,设置权限700

cd /etc/vsftpd/vuser
db_load -T -t hash -f ftpuser.txt vsftpd_login.db
chmod  700  vsftpd_login.db

(3)配置PAM认证文件

sed -i 's/^[^#]/#&/' /etc/pam.d/vsftpd  #使用sed注释掉所有行
vim /etc/pam.d/vsftpd
##/etc/pam.d/vsftpd行尾加入如下两行,其余行注释掉
auth       required     pam_userdb.so  db=/etc/vsftpd/vuser/vsftpd_login
account    required     pam_userdb.so  db=/etc/vsftpd/vuser/vsftpd_login

(4)创建需要映射的普通用户

        所有Vsftpd虚拟用户需要映射到一个系统用户,该系统用户不需要密码,也不需要登录,主要用于虚拟用户映射使用,创建命令如下

useradd vuserftp -s /sbin/nologin
tail -2 /etc/passwd

5编辑配置文件

vim /etc/vsftpd/vsftpd.conf12 anonymous_enable=NO
##最后一行手动添加
130 guest_enable=YES							#启用vsftpd虚拟用户功能
131 guest_username=vuserftp					#指定映射的本地用户
132 user_config_dir=/etc/vsftpd/vuser/conf			#指定虚拟用户的配置文件目录
133 virtual_use_local_privs=YES					#让虚拟用户使用本地用户权限

(6)为每个虚拟用户创建配置文件

mkdir /etc/vsftpd/vuser/conf
vim /etc/vsftpd/vuser/conf/test01
local_root=/home/ftpuser/test01				#指定ftp共享根目录
write_enable=YES							#基于写权限,虚拟用户可以执行修改、上传、删除等操作			
anon_mkdir_write_enable=YES			        #允许创建新目录	
##创建test02虚拟用户配置文件
vim /etc/vsftpd/vuser/conf/test02
local_root=/home/ftpuser/test02	
write_enable=YES						
anon_mkdir_write_enable=YES			

(7)增加读写目录权限

mkdir /home/vuserftp/test0{1..3}
chmod 777 /home/vuserftp/test0*

(8)重启服务

systemctl restart vsftpd

(9)验证:客户端访问测试

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词