详解CentOS7 FTP服务搭建(虚拟用户访问FTP服务)(centos7配置ftp服务器)

详解CentOS7 FTP服务搭建(虚拟用户访问FTP服务)(centos7配置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:

?

123 systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动

2。安装iptables防火墙

?

12345678910111213 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

?

1234567891011 vi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加:wq! #保存退出setenforce 0 #使配置立即生效

三。安装vsftpd

?

123456789 rpm -qc vsftpd #查询vsftpd是否安装yum install -y vsftpd #安装vsftpdyum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI #安装vsftpd虚拟用户配置依赖包systemctl start vsftpd.service #启动systemctl enable vsftpd.service #设置vsftpd开机启动

四。新建系统用户vsftpd

?

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

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

?

1234567891011121314151617181920212223242526 mkdir /etc/vsftpd/vconfcd /etc/vsftpd/vconftouch web1 #这里创建虚拟用户配置文件mkdir -p /home/wwwroot/web1/http/mydic #设置FTP上传文件新增权限。最新的vsftpd要求对主目录不能有写的权限所以ftp为755。主目录下面的子目录再设置777权限 chmod -R 755 /home/wwwroot/web1/httpchmod R 777 /home/wwwroot/web1/http/mydicvi web1 #编辑用户web1配置文件。其他的跟这个配置文件类似。输入下面红色内容 local_root=/home/wwwroot/web1/http/  #设置FTP账号根目录 write_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES:wq! #保存退出

六。配置vsftp服务器

?

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

执行以下命令进行设置:

?

12345678910111213141516171819202122232425 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

配置文件说明:

?

123456789101112 anonymous_enable=NO //设定不允许匿名访问local_enable=YES //设定本地用户可以访问。注:如使用虚拟宿主用户。在该项目设定为NO的情况下所有虚拟用户将无法访问chroot_list_enable=YES //使用户不能离开主目录ascii_upload_enable=YESascii_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用户了,通过映射到vsftpduser_config_dir=/etc/vsftpd/vuser_conf //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)

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

?

1 touch /etc/vsftpd/virtusers

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

?

1234 vi /etc/vsftpd/virtusersweb1123456:wq! #保存退出

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

?

123 db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.dbchmod 600 /etc/vsftpd/virtusers.db #设定PAM验证文件。并指定对虚拟用户数据库文件进行读取

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

修改前先备份

?

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

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

?

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

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

十。最后重启vsftpd服务器

?

1 systemctl restart vsftpd.service

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

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

分享到 :
相关推荐

云平台是什么和有哪些(云平台到底是什么)

什么是云平台?云平台也叫做云计算平台。指的是基于硬件和软件资源的服务。能够提供计算。...

dns服务器未响应如何解决(DNS服务器未响应解决方法)

dns服务器未响应的解决方法:1。点击网络图标。打开网络和共享中心;2。找到并打开更...

注册.net域名一年多少钱(net域名续费多少钱)

在注册域名时。除了.com。.org等常见域名后缀之外。.net域名也是比较大众化使...

外贸建站选择美国主机空间要注意哪些问题

外贸建站选择美国主机空间要注意的问题有:1。注意服务器硬件的选择。选择前合理评估自身...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注