linux下ftp服务

本文详细介绍了Linux系统中如何配置vsftp服务,包括端口设置、工作模式(主动模式与被动模式)、安装步骤以及三种用户认证方式:匿名用户认证、本地用户认证和虚拟用户认证。在匿名用户认证中,重点讲述了如何允许上传和修改文件;在本地用户认证中,提到了用户家目录的设定;在虚拟用户认证部分,讲解了如何创建和配置虚拟用户数据库及权限控制。
摘要由CSDN通过智能技术生成

vsftp

  • 端口
  • 模式
  • 安装
  • 匿名用户认证
  • 本地用户认证
  • 虚拟用户认证
端口

20:用于传输数据
21:用于传输指令

模式

主动模式:服务器主动连接客户端传输
被动模式:服务器等待客户端的连接

安装
rpm -qa|grep vsftpd		 # 查看服务器是否安装
yum -y install vsftpd    # 服务端yum安装
systemctl start vsftpd   # 启动服务
systemctl enable vsftpd  # 设置开机自启
ss -lntup                # 查看21端口有没有运行,没数据的时候只有21端口
匿名用户认证

安装完vsftp服务自动开启匿名认证,工作目录是/var/ftp/pub,此时可以访问/var/ftp/pub
但是不能上传,修改,删除,需要修改配置文件,下面是匿名用户需要用到的配置

anonymous_enable=YES		# 开启匿名登录,默认是开启的
anon_upload_enable=YES		# 开启匿名上传创建功能
anon_mkdir_write_enable=YES	# 开启匿名创建
anon_other_write_enable=YES	# 开放其他写入权(删除,覆盖,重命名)
anon_umask=022				# 匿名用户上传文件的权限掩码
anon_root=/var/ftp			# 匿名用户的FTP根目录
anon_max_rate=0				# 限制最大传输速率(0是不限速,单位Bytes/秒)

chown ftp.ftp /var/ftp/pub
修改完配置文件之后还需要修改/var/ftp/pub文件的权限,ftp中用户对文件的权限控制分为两块,配置文件的权限,和用户本身对工作目录的权限

本地用户认证

ftp可以基于本地系统账户进行认证,每个用户的工作目录是自己的家目录,所以创建用户的时候要注意用户的家目录位置和是配置文件中ftp目录的位置

useradd zhangsan -s /sbin/nologin -d /var/ftp/zhangsan	# ftp账户不能登录,并指定家目录
useradd lisi -s /sbin/nologin -d /var/ftp/lisi
useradd wangwu -s /sbin/nologin -d /var/ftp/wangwu
echo "123456" | passwd --stdin zhangsan
echo "123456" | passwd --stdin lisi
echo "123456" | passwd --stdin wangwu

关于本地用户认证的一些配置

local_enable=YES							# 是否启用本地系统用户
local_umask=022								# 本地用户所上传文件的权限掩码
local_root=/var/ftp							# 设置本地用户的ftp目录
chroot_local_user=YES						# 是否将用户禁锢在主目录
chroot_list_enable 							# 允许白名单的用户随意切换目录
chroot_list_file=/etc/vsftpd/chroot_list	# 白名单的位置,需要自己创建,直接在里边写用户就行了
local_max_rate=0							# 限制最大传输速率
ftpd_banner=Welcome to my ftp				# 用户登录时显示的欢迎信息
userlist_enabel=YES & userlist_deny=YES		# 禁止/etc/vaftpd/user_list 文件中出现的用户登录FTP
usetlist_enabel=YES & userlist_deny=NO		# 仅允许/etc/vaftpd/user_list 文件中出现的用户登录FTP

/etc/vsftpd/ftpusers 文件中出现的用户名不能登录ftp,比user_list权限高,即时生效,不用重启

虚拟用户认证

首先我们创建存放虚拟用户密码的数据库文件

vi /etc/vsftpd/virtual_user	# 	该文件名称随意,奇数行用户名,偶数行密码
db_load -T -t hash -f virtual_user virtual_user.db	# 转化为数据库文件
chmod 600 virtual_user.db	# 给数据库文件修改权限

创建用于代理虚拟用户登录的本地用户

useradd virtual -d /var/virtual -s /sbin/nologin

认证文件

cp -a /etc/pam.d/vsftpd /etc/pam.d/vsftpd.pam	# 复制一份pam认证文件
vi /etc/pam.d/vsftpd.pam	# 修改新生成的pam认证文件,添加对于虚拟用户的认证支持,修改为以下内容
	auth	required	pam_userdb.so	db=/etc/vsftpd/virtual_user
	account	required	pam_userdb.so	db=/etc/vsftpd/virtual_user

在vsftpd配置文件中设置虚拟用户认证
vi /etc/vsftpd/vsftpd.conf

pam_service_name=vsftpd.pam	
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd/config_dir

创建用户配置,细分用户的权限,个人配置文件以用户名命名

anon_upload_enable=YES # 允许上传文件
anon_mkdir_write_enable # 允许创建目录
anon_upload_enable=YES	# 允许上传文件(为了覆盖开启的)
anon_other_write_enabel=YES	# 允许文件更名,删除,覆盖
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值