全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

概述

最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白。Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建。FTP服务器需要安装vsftp服务端软件。我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比较好的方法是用vsftpd的虚拟用户(virtual users)。

FTP基于虚拟用户的配置

一、配置防火墙,开启FTP服务器需要的端口

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

2、安装iptables防火墙

yum install iptables-services #安装

vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加下面红色部分进入iptables,说明:21端口是ftp服务端口;10060到10090是Vsftpd被动模式需要的端口,可自定义一段大于1024的tcp端口

 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT 

 -A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT

 :wq! #保存退出

 systemctl restart iptables.service #最后重启防火墙使配置生效

 systemctl enable iptables.service #设置防火墙开机启动

二、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

三、安装vsftpd

rpm -qc vsftpd #查询vsftpd是否安装

yum install -y vsftpd #安装vsftpd

yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI #安装vsftpd虚拟用户配置依赖包

systemctl start vsftpd.service #启动

systemctl enable vsftpd.service #设置vsftpd开机启动

四、新建系统用户vsftpd

useradd vsftpd -d /home/wwwroot -s /bin/false #用户目录为/home/wwwroot, 用户登录终端设为/bin/false(即使之不能登录系统)

chown vsftpd:vsftpd /home/wwwroot -R

五、建立虚拟用户个人Vsftp的配置文件和子账号FTP权限

mkdir /etc/vsftpd/vconf

cd /etc/vsftpd/vconf

touch web1 #这里创建虚拟用户配置文件

mkdir -p /home/wwwroot/web1/http/mydic

 #设置FTP上传文件新增权限,最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限 

 chmod -R 755 /home/wwwroot/web1/http
 chmod R 777 /home/wwwroot/web1/http/mydic
vi web1 #编辑用户web1配置文件,其他的跟这个配置文件类似,输入下面红色内容

 local_root=/home/wwwroot/web1/http/  #设置FTP账号根目录

 write_enable=YES

 anon_world_readable_only=NO

 anon_upload_enable=YES

 anon_mkdir_write_enable=YES

 anon_other_write_enable=YES
:wq! #保存退出

六、配置vsftp服务器

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf-bak #备份默认配置文件

执行以下命令进行设置:

sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'

echo -e "use_localtime=YES\nlisten_port=21\nchroot_local_user=YES\nidle_session_timeout=300

\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=vsftpd #此处要和刚刚创建的用户名一直

\nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=YES

\npasv_min_port=10060\npasv_max_port=10090

\naccept_timeout=5\nconnect_timeout=1" >> /etc/vsftpd/vsftpd.conf

配置文件说明:

anonymous_enable=NO //设定不允许匿名访问
local_enable=YES //设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
chroot_list_enable=YES //使用户不能离开主目录
ascii_upload_enable=YES
ascii_download_enable=YES //设定支持ASCII模式的上传和下载功能
pam_service_name=vsftpd  //PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证


#以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
guest_enable=YES //设定启用虚拟用户功能
guest_username=vsftpd //指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了,通过映射到vsftpd
user_config_dir=/etc/vsftpd/vuser_conf //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)

七、建立虚拟用户名单文件

touch /etc/vsftpd/virtusers

编辑虚拟用户名单文件:(第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)

vi /etc/vsftpd/virtusers
web1
123456
:wq! #保存退出

八、生成虚拟用户数据文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

chmod 600 /etc/vsftpd/virtusers.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

九、在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)

修改前先备份

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpdbak

vi /etc/pam.d/vsftpd #先注释到vsftpd所有配置,加入下面红色部分

auth  sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

注意:如果系统为32位,上面改为lib,否则配置失败;

十、最后重启vsftpd服务器

systemctl restart vsftpd.service

可通过  tail -f /var/log/secure 指令,查看服务器安全日志,便于分析错误问题,设置操作效果一定要仔细.....

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# CentOS7  # FTP服务搭建  # centos7搭建ftp服务器  # centos7搭建ftp  # Centos7.3下vsftp服务的安装方法  # Centos7 ftp环境搭建教程详解  # CentOS7.0下安装FTP服务的方法  # 详解CentOS7安装配置vsftp搭建FTP 


相关文章: 建站VPS选购需注意哪些关键参数?  建站VPS推荐:2025年高性能服务器配置指南  建设网站制作价格,怎样建立自己的公司网站?  海南网站制作公司有哪些,海口网是哪家的?  javascript中的try catch异常捕获机制用法分析  免费视频制作网站,更新又快又好的免费电影网站?  网站制作公司排行榜,四大门户网站排名?  兔展官网 在线制作,怎样制作微信请帖?  建站主机服务器选型指南与性能优化方案解析  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  大连 网站制作,大连天途有线官网?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何快速查询域名建站关键信息?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  家庭服务器如何搭建个人网站?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南    深圳网站制作平台,深圳市做网站好的公司有哪些?  常州自助建站工具推荐:低成本搭建与模板选择技巧  如何快速辨别茅台真假?关键步骤解析  宁波免费建站如何选择可靠模板与平台?  Python文件管理规范_工程实践说明【指导】  建站之星后台管理如何实现高效配置?  javascript中对象的定义、使用以及对象和原型链操作小结  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  建站之星如何保障用户数据免受黑客入侵?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  如何快速搭建安全的FTP站点?  Android使用GridView实现日历的简单功能  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  北京的网站制作公司有哪些,哪个视频网站最好?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  高防服务器:AI智能防御DDoS攻击与数据安全保障  网站网页制作专业公司,怎样制作自己的网页?  开源网站制作软件,开源网站什么意思?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  建站之星如何防范黑客攻击与数据泄露?  如何正确下载安装西数主机建站助手?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何快速搭建响应式可视化网站?  如何通过西部建站助手安装IIS服务器?  如何选择适合PHP云建站的开源框架?  北京网站制作公司哪家好一点,北京租房网站有哪些?  大连网站制作公司哪家好一点,大连买房网站哪个好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。