centos7基于vsftpd的ftp服务使用
发表于:2024-12-03 作者:千家信息网编辑
千家信息网最后更新 2024年12月03日,一、简要说明ftp:文件传输协议vsftpd:非常安全的ftp进程二、工作模式ftp的命令端口为21主动模式(不推荐):ftp数据端口为20,服务器连接客户端,因为客户端都有防火墙,所有使用不便被动模
千家信息网最后更新 2024年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=YES
2.匿名用户配置(不推荐)
匿名用户anonymous,对应服务器的ftp用户,访问的文件夹为/var/ftp,除root不能有写权限
开启配置
#anonymous anonymous_enable=YES
3.系统用户配置(不推荐)
因为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.db
2.创建映射的用户和FTP目录
useradd -s /sbin/nologin ftpuser
3.创建pam文件
vi /etc/pam.d/vm-vsftpdauth required pam_userdb.so db=/etc/vsftpd/vm_useraccount required pam_userdb.so db=/etc/vsftpd/vm_user
4.在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/life
6.完整的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=0
2.安装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 install
pam模块文件需要用到数据库的库文件所以
vi /etc/ld.so.conf.d/mysql.conf/home/program/mariadb/libldconfig
3.数据库建立表和授权用户
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安全错误
数据库的锁怎样保障安全
中国网络技术有限公司沈婷婷
黎明杀机服务器更换
松江区软件开发服务资质三级认证
网络安全证书叫什么意思
山西太原触摸互动软件开发公司
ck 数据库下载
腾讯云计算服务器在哪
网络安全新特点
河南雅梓互联网科技
es做数据库会有什么问题
手机玩韩服需要服务器吗
搞软件开发公司多吗
黔东南曙光服务器cpu
运行本地局域网数据库
网络安全法相关法律汇总
网络安全知识教育视频
数据库怎么写用户名和密码
奉贤区什么是软件开发费用是多少
南宁搞软件开发待遇
四川联想服务器虚拟化多少钱
数据库原理与应用技术下载
监控室里的服务器旧的值多少钱
读秀数据库的全文阅读格式有哪些
医院网络技术人员做什么
数据库基本界面
第五届中国网络安全大
个人简历能力软件开发
洛阳迅享网络技术有限公司
黔东南曙光服务器cpu
深圳小护互联网科技有限公司