centos7基于vsftpd的ftp服务使用
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,一、简要说明ftp:文件传输协议vsftpd:非常安全的ftp进程二、工作模式ftp的命令端口为21主动模式(不推荐):ftp数据端口为20,服务器连接客户端,因为客户端都有防火墙,所有使用不便被动模
千家信息网最后更新 2025年12月03日centos7基于vsftpd的ftp服务使用
一、简要说明
ftp:文件传输协议
vsftpd:非常安全的ftp进程
二、工作模式
ftp的命令端口为21
主动模式(不推荐):ftp数据端口为20,服务器连接客户端,因为客户端都有防火墙,所有使用不便
被动模式(推荐):服务器告诉客户端我开放的端口,客户端连接服务器
三、安装vsftpd
yum -y install vsftpdsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config安装完成后,防火墙设置开启21和配置文件中(pasv_min_port 到 pasv_max_port)的端口
配置文件:/etc/vsftpd/vsftpd.conf
主程序:/usr/sbin/vsftpd
四、被动模式配置ftp
1.通用配置
#anonymous anonymous_enable=NO#local system userlocal_enable=YESallow_writeable_chroot=YES#passive mode and portpasv_enable=YESpasv_min_port=20000pasv_max_port=20999#listenlisten=YESlisten_ipv6=NOconnect_from_port_20=YES#log xferlog_enable=YESxferlog_file=/var/log/xferlog#welcome infodirmessage_enable=YES#trans limitidle_session_timeout=120data_connection_timeout=120tcp_wrappers=YESmax_clients=10max_per_ip=10#safelocal_umask=022chroot_local_user=YES2.匿名用户配置(不推荐)
匿名用户anonymous,对应服务器的ftp用户,访问的文件夹为/var/ftp,除root不能有写权限
开启配置
#anonymous anonymous_enable=YES3.系统用户配置(不推荐)
因为ftp是明文传输,如果被抓包了就能看到系统用户的用户名和密码,导致服务器不安全
相关配置
#local system userlocal_enable=YESwrite_enable=YES五、虚拟用户配置(推荐)
可以基于数据库和文件两种模式,文件模式配置如下:
1.创建用户数据库文件
vm_user.txt格式必须是一行用户名一行密码如
tom
123456
vi /etc/vsftpd/vm_user.txtcd /etc/vsftpd/db_load -T -t hash -f vm_user.txt vm_user.dbchmod 600 vm_user.db2.创建映射的用户和FTP目录
useradd -s /sbin/nologin ftpuser3.创建pam文件
vi /etc/pam.d/vm-vsftpdauth required pam_userdb.so db=/etc/vsftpd/vm_useraccount required pam_userdb.so db=/etc/vsftpd/vm_user4.在vsftp.conf中进行配置
#vm_ftpguest_enable=YESguest_username=ftpuserpam_service_name=vm-vsftpduser_config_dir=/etc/vsftpd/vm_ftp.d/5.为虚拟用户进行单独权限设置
mkdir /etc/vsftpd/vm_ftp.d/mkdir /home/ftpuser/lifechown -R ftpuser:ftpuser /home/ftpuser/vi /etc/vsftpd/vm_ftp.d/tomwrite_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_root=/home/ftpuser/life6.完整的vsftpd.conf配置如下
#anonymous anonymous_enable=NO#local system userlocal_enable=YESallow_writeable_chroot=YES#passive mode and portpasv_enable=YESpasv_min_port=20000pasv_max_port=20999#listenlisten=YESlisten_ipv6=NOconnect_from_port_20=YES#log xferlog_enable=YESxferlog_file=/var/log/xferlog#welcome infodirmessage_enable=YES#trans limitidle_session_timeout=120data_connection_timeout=120tcp_wrappers=YESmax_clients=10max_per_ip=10#safelocal_umask=022chroot_local_user=YES#vm_ftpguest_enable=YESguest_username=ftpuserpam_service_name=vm-vsftpduser_config_dir=/etc/vsftpd/vm_ftp.d/7.重启并加入开机启动项
systemctl restart vsftpdsystemctl enable vsftpd六、基于mysql或mariadb的虚拟文件配置
基本配置同上面一样,不同之处在于修改pam模块文件和数据库建表
1.pam文件内容改为,crypt为0表示数据库明文存放,1位加密存放
auth required /usr/lib64/security/pam_mysql.so user=ftpuser passwd=ftp123456 host=localhost db=mylab table=ftp_user usercolumn=name passwdcolumn=password crypt=0account required /usr/lib64/security/pam_mysql.so user=ftpuser passwd=ftp123456 host=localhost db=mylab table=ftp_user usercolumn=name passwdcolumn=password crypt=02.安装pam所需文件
yum -y install pam-devel安装pam_mysql-0.7RC1
tar xf pam_mysql-0.7RC1.tar.gzcd pam_mysql-0.7RC1./configure --with-mysql=/home/program/mariadb/ --with-pam-mods-dir=/lib64/security/make & make installpam模块文件需要用到数据库的库文件所以
vi /etc/ld.so.conf.d/mysql.conf/home/program/mariadb/libldconfig3.数据库建立表和授权用户
create table ftp_user(id int not null auto_increment primary key,name char(20) binary not null,password char(48) binary not null);insert into ftp_user(name,password) values('ftphome','123'),('ftpwork','456');grant select on mylab.ftp_user to 'ftpuser'@'localhost' identified by '123456';flush privileges;七、配置说明
anonymous_enable=YES 是否启用匿名用户local_enable=YES 是否启动系统用户write_enable=YES 可以上传文件anon_upload_enable=YES 默认匿名用户不能上传,开启上传,但是默认var/pub目录本身没有写权限,anon_mkdir_write_enable=YES 匿名用户可以创建文件夹anon_other_write_enable=YES 匿名用户其他写权限dirmessage_enable=YES 是否显示欢迎信息 目录下的隐藏文件.message为内容xferlog_enable=YES 是否启动传输日志xferlog_file=/var/log/xferlog 指定日志文件xferlog_std_format=YES 日志文件是否使用标准格式chown_uploads=YES 上传后是否改变属主chown_username=whoever 改变的属主为idle_session_timeout=600 命令连接超时data_connection_timeout=120 数据连接超时ascii_upload_enable=YES 以文本模式上传ascii_download_enable=YES 以文本模式下载chroot_local_user=YES 全部用户锁定到家目录chroot_list_enable=YES 需要例外chroot_list_file=/etc/vsftpd/chroot_list 例外用户列表allow_writeable_chroot=YES 当设置禁锢目录后,默认对根文件夹没有写权限才能登陆,该设置可以启用写入listen=YES 是否监听pam_service_name=vsftpd pam验证文件模块名userlist_enable=YES 启用user_list文件userlist_deny=NO 当为yes时,列表中的不能登录,当为no时只有列表中的用户才能登陆tcp_wrappers=YES 可以通过host文件进行限制nax_clients = 10 最多客户端连接数max_per_ip = 10 每个ip可以连接几个anon_world_readable_only=YES 是否允许下载,YES不能下载,NO可以
文件
用户
配置
数据
模式
数据库
服务
客户
客户端
服务器
权限
目录
推荐
端口
文件夹
日志
模块
系统
传输
安全
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
免费缓存服务器
鼎利网络技术有限公司
软件开发减少发版频率的影响
2020软件开发新趋势
平面设计和软件开发哪个好就业
sci 数据库收录期刊
网络安全的手工
常用网络安全问题
数据库 储存性别
数据库关系运算中选择怎么读
戴尔t30服务器做什么用的
挖财网络技术有限公司简介
企业网络安全汇报
坦闪国际服登不上服务器
宁波品牌网络技术市场价格
xampp 创建数据库
计算机网络技术与基础第二章
分包指导价数据库
工具贸易软件开发价格
数据库原理及应用刘金岭pdf
企业网络安全设计的原则
南京耐思特互联网络科技
pve服务器不能野外吗
数据库原理与应用教程第二版答案
网吧影视vip服务器
绍兴正规网络技术咨询热线
银川软件开发公司联系电话
数据库直接删除授权用户账号
为什么要指定网络安全法
数据库新增数据