CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
来源:互联网 发布:高中物理模拟软件 编辑:程序博客网 时间:2024/05/21 07:11
FTP基于虚拟用户的配置
一、配置防火墙,开启FTP服务器需要的端口
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
1、关闭firewall:
systemctl stop firewalld.service #停止firewallsystemctl 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 #安装vsftpdyum 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 #用户目录为/home/wwwroot
passwd vsftpd --设置密码
如果有多余用户可以用使用此命令删除用户userdel -rf vsftpd --删除用户然后通过命令ls -l /home查看系统中还有哪些用户
chown vsftpd:vsftpd /home/wwwroot -R
五、建立虚拟用户个人Vsftp的配置文件和子账号FTP权限
mkdir /etc/vsftpd/vconfcd /etc/vsftpd/vconftouch test #这里创建虚拟用户配置文件mkdir -p /home/wwwroot/test/http/mydic
#设置FTP上传文件新增权限,最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
chmod -R 755 /home/wwwroot/test/http
chmod -R 777 /home/wwwroot/test/http/mydic
vi test #编辑用户test配置文件,其他的跟这个配置文件类似,输入下面红色内容
local_root=/home/wwwroot/test/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=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服务文件(配置文件名=虚拟用户名)
七、建立虚拟用户名单文件
touch /etc/vsftpd/virtusers
编辑虚拟用户名单文件:(第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)
vi /etc/vsftpd/virtusersweb1123456:wq! #保存退出
八、生成虚拟用户数据文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.dbchmod 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/virtusersaccount sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
注意:如果系统为32位,上面改为lib,否则配置失败;
十、最后重启vsftpd服务器
systemctl restart vsftpd.service
可通过 tail -f /var/log/secure 指令,查看服务器安全日志,便于分析错误问题,设置操作效果一定要仔细.....
参考博客:
CentOS FTP基于虚拟用户的配置 http://www.cnblogs.com/surge/p/3868385.html
CentOS 7.0安装配置vsftp服务器 http://www.linuxidc.com/Linux/2016-09/135636.htm
vsftpd+pam=虚拟用户登录FTP服务器 http://blog.chinaunix.net/uid-7553302-id-2978313.html
centos 安装vsftp 绝对成功包括目录权限配置 http://blog.csdn.net/openn/article/details/8744650
- CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
- centos7 搭建FTP服务
- CentOS7下搭建FTP服务
- CentOS7下搭建FTP服务
- CentOS7下FTP服务的搭建
- CentOS7安装FTP服务
- Centos7开启FTP服务
- RHEL 5服务篇—部署FTP文件传输服务(二)部署基于虚拟用户的FTP服务
- Linux搭建FTP服务
- ftp服务搭建
- Ubuntu搭建FTP服务
- linux 搭建FTP服务
- FTP服务基本搭建
- tftp,ftp服务搭建
- FTP服务搭建
- centos搭建ftp服务
- 搭建FTP服务
- FTP服务搭建
- 1 程序后台数据收集模块编写
- spark java.lang.IllegalStateException: unread block data
- 关键字volatite的用法
- java 建数据库实例
- 网站安全之HTTPS部署解决方案
- CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
- PHP:创建存储函数
- Docker 入门学习笔记二:常用命令
- 关于如何将java web项目上传至腾讯云服务器
- Java之jar打包
- 主表和从表的一对一设置
- bzoj 3771: Triple 快速傅里叶变换+容斥原理
- MongoDB 3.4 高可用集群搭建(二)replica set 副本集
- 排序网络(Sorting network )构造的C语言实现