系统操作和维护
官方语言介绍ftp。文件传输协议(FTP)是网络上文件传输的一组标准协议,FTP的目标是提高文件共享。今天,ftp的两种模式和ftp用户管理的两个主要方面被付诸实践。
1.ftp两种模式
简洁直接:
活动FTP:
命令连接:客户端端口1024-服务器端口21。
数据连接:客户端1024端口-服务器20端口。
被动FTP:
命令连接:客户端端口1024-服务器端口21。
数据连接:客户端1024端口-服务器1024端口。
具体说明:
如图所示,对于两种传输模式,控制连接的建立过程是相同的。服务器监听端口21,客户端启动到服务器这个端口的TCP连接。主动模式服务器知道客户端通过控制连接监听的端口后,用自己的端口号20作为源端口“主动”发起TCP数据连接。被动模式服务器监听1024-65535的随机端口,通过控制连接告知客户端,客户端向服务器的端口发起TCP数据连接。
这两种模式我该选哪个?选择被动模式。
如果FTP客户端在私网,FTP服务器在公网应该使用被动模式(云主机的应用场景),因为在这个应用场景下,FTP服务器无法访问私网的FTP客户端,但是FTP客户端可以访问FTP服务器。
然后ftp服务器打开大于1024的端口,这是不安全的。我该怎么办?
服务器配置了一个高点端口,然后防火墙限制这个端口段只能由客户端连接。
另一种是限制客户端的ip,指定具体的客户端地址。(谁用谁平)
被动模式配置
connect _ from _ port _ 20=否
PASV _使能=是打开被动模式。
PASV最小端口=%number% %u88AB动态模式下的最低端口
PASV _最大_端口=%number% %u88AB动态模式最高端口
2.ftp创建虚拟用户(加强访问安全性的措施)
简洁直接:
我们有三种登录FTP的方式,匿名登录,本地用户登录,虚拟用户登录。
匿名登录:登录ftp时使用默认用户名,通常是FTP或Anonymous。
本地用户登录:使用系统用户登录,在/etc/passwd中。
虚拟用户登录:这是一个FTP独占用户,虚拟用户有两种实现方式,本地数据文件和数据库服务器。
FTP虚拟用户是FTP服务器的独占用户。使用虚拟用户登录FTP只能访问FTP服务器提供的资源,大大增强了系统的安全性。
具体实施:
2.1建筑
yum -y安装vsftpd
添加虚拟用户文件,添加虚拟用户名和密码,一行用户名,一行密码,等等。奇数行用户名,偶数行密码。
vim /etc/vsftpd/vuser.txt
姓名#用户
Passwd #密码
生成虚拟用户认证文件
db _ load-T-T hash-f/etc/vsftpd/vuser . txt/etc/vsftpd/vuser . db
编辑vsftpd /etc/pam.d/vsftpd的pam认证文件。
vsftpd的其他行可以被注释掉。
添加以下内容:
auth required/lib 64/security/PAM _ userdb . so db=/etc/vsftpd/vuser
需要帐户/lib 64/security/PAM _ userdb . so db=/etc/vsftpd/vuser
建立本地映射用户并设置主目录的权限
useradd-d/data-s/sbin/nologin vsftpd
chmod a-w/数据
chown -R vsftpd:vsftpd /data
2.2配置文件vsftpd.conf
#连接相关性
欢迎使用ftp服务
#空闲超时,用户未能行动时,由服务器提出。
空闲会话超时=300
#数据连接超时
数据连接超时=60
连接超时=60
最大客户端数=100
#允许每个客户端3个连接
max_per_ip=3
监听地址=192.168.100.100
listen_port=21
#权限相关
#不允许匿名用户登录
匿名_启用=否
#允许本地用户登录(在这种情况下,创建系统用户vsftpd)
local _ enable=是
#允许以ascii模式上传(这可以防止上传恶意文件,如脚本),而没有拒绝服务的风险。
ascii _ upload _ enable=是
guest _ enable=是
来宾用户名=vsftpd
#允许匿名用户上传(这里指系统用户下的虚拟用户)
匿名上传启用=是
#允许匿名用户创建和写入
anon _ mkdir _ write _ enable=是
#打开全局权限
write _ enable=是
#这样设置之后,客户端上传目录的权限将改为755,文件权限为644。
anon_umask=022
#以下是系统默认设置。
#允许您配置目录的显示信息,并显示每个目录下的message_file文件的内容。
dirmessage _ enable=是
#xferlog_enable=YES,启用上传/下载活动日志功能。
xferlog _ enable=是
#connect_from_port_20=YES启用FTP数据端口的连接请求。
connect _ from _ port _ 20=否
xferlog _ std _ format=是
#使用VSFTPD中的TCP_Wrappers远程访问控制机制,默认值为YES。
tcp _ wrappers=是
特别强调的配置:
#打开虚拟用户;对应于虚拟用户的系统用户;PAM认证文档。
guest _ enable=是
来宾用户名=vsftpd
pam_service_name=vsftpd
#完成后,只能上传和下载文件。但是不能修改ftp服务器文件。
怎么修改和删除?
Anon_other_write_enable=YES #允许虚拟用户写入(即修改删除操作)。
2.3启动vsftpd
systemctl启动vsftpd
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。