CentOS 7.0搭建Vsftp服务器

一、配置防火墙,开启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 #编辑防火墙配置文件

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

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

-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

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

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

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

说明:21端口是ftp服务端口;10060到10090是Vsftpd被动模式需要的端口,可自定义一段大于1024的tcp端口。

二、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

三、安装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开机启动

四、配置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

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

touch /etc/vsftpd/virtusers

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

vi /etc/vsftpd/virtusers

web1

123456

web2

123456

web3

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

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,用户目录为/home/wwwroot, 用户登录终端设为/bin/false(即使之不能登录系统)

useradd vsftpd -d /home/wwwroot -s /bin/false

chown vsftpd:vsftpd /home/wwwroot -R

chown www:www /home/wwwroot -R #如果虚拟用户的宿主用户为www,需要这样设置。

九、建立虚拟用户个人Vsftp的配置文件

mkdir /etc/vsftpd/vconf

cd /etc/vsftpd/vconf

touch web1 web2 web3 #这里创建三个虚拟用户配置文件

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

vi web1 #编辑用户web1配置文件,其他的跟这个配置文件类似

local_root=/home/wwwroot/web1/http/

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

十、最后重启vsftpd服务器

systemctl restart vsftpd.service

备注:

guest_username=vsftpd #指定虚拟用户的宿主用户(就是我们前面新建的用户)

guest_username=www #如果ftp目录是指向网站根目录,用来上传网站程序,可以指定虚拟用户的宿主用户为nginx运行账户www,可以避免很多权限设置问题

至此,CentOS 7.0安装配置Vsftp服务器配置完成。

时间: 2024-10-09 21:22:35

CentOS 7.0搭建Vsftp服务器的相关文章

CentOS 6.4 搭建git 服务器

CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md ##CentOS安装Git服务器 Centos 6.4 + Git 1.8.2.2 + gitosis## 1.查看Linux系统服务器

Linux Centos 6.6搭建SFTP服务器

在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的版本 1 ssh -V 使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级. 1.创建sftp组 1 groupadd sftp 2.创建一个sftp用户,用户名为mysftp,密码为mysftp 修改用户密码和修改Linux用户密码是一样的. useradd -g sftp -s /bin/false

fedora 20 与 centos 6.5 搭建openldap服务器心得

目标:使用ldap做为系统用户的数据目录,基于web管理ldap数据. 安装 使用 YUM 安装方式 ,由于要使用web方式管理LDAP服务器,也要安装APACHE.PHP和ldap相关的软件包,要想通过ldap验证用户,一定要安装nss-pam-ldapd和pam_ldap.web管理使用ldap-account-manager或phpldapadmin,lam和phpldapadmin可以直接用rpm包安装.centos 6.5 使用openldap 2.4.23, fedora 使用ope

CentOS 7.4搭建DNS服务器实现主从同步

CentOS 7.4搭建DNS服务器实现主从同步相关概念:正向解析:将域名解析成IP地址反向解析:将IP地址解析成域名第一步:准备工作systemctl stop firewalld //关闭防火墙setenforce 0 //关闭selinuxyum install bind //安装DNS服务第二步:编辑配置文件1.编辑主配置文件vi /etc/named.conf //主配置文件options {listen-on port 53 { 192.168.80.101; }; //改成自己服务

Cent OS7搭建vsftp服务器

今天简单配置匿名访问及用户验证的相关配置,基于虚拟用户的配置敬请期待下一篇搭建vsftp服务器首先要确保虚拟机的防火墙和seLinux防火墙都是关闭的一.ftp文件传输服务1.ftp连接的端口号21:传输控制使用,进行身份验证授权访问20:传输数据使用2.ftp连接模式主动模式:服务器端通过20号端口给客户端传输数据,POST指令表示主动连接,默认工作在主动模式被动模式:服务器端开放指定范围的端口号等待客户端建立数据连接,pasv指令表示被动模式3.ftp传输模式文本 模式:文本模式不支持传输流

Centos 5.8 搭建rsync服务器

对于任何一个互联网公司来说,数据的备份都是很重要的. 原创博文来自:www.51niux.com  博主:忙碌的柴少 我们的生产环境是这样的,我们有数百台的服务器,然后在云主机机房有几台实体服务器,空间大小都是10T,云主机当然一般硬盘空间都较小不适合做备份服务器,这时候我就打起了实体机的注意,当然也只能打他们的主意了. 在把数据传输到实体机硬盘的情况下我们罗列一下我们的数据传输策略: 第一个方案:scp方案 个人认为,如果是单独的文件,比如像传输数据库的全备压缩包这种文件的话,每台要传输的服务

centos7 minimal 搭建Vsftp服务器

一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,不是iptables防火墙. 1.firewall放行FTP: firewall-cmd --add-service=ftp --permanent    #添加ftp通行规则 firewall-cmd --reload     #重新加载防火墙策略 二.使用SELINUX宽容模式 方法一: setenforce 0    #使Selinux运行在宽容模式 方法二:建议使用此方法 经过研究,又

Centos 7.0 配置DNS服务器(主从配置)

本章博文对DNS服务器进行了简述,并搭建实验模拟Centos 7.0配置Master DNS服务器 及配置Slave (冗余)  DNS服务器 . DNS简介:    DNS定义:   DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. 过

搭建vsftp服务器生产环境配置

生产环境:操作系统:CentOS release 6.9 (Final)软件:vsftpd-2.2.2-24.el6.x86_64实战任务:给定账号,让开发商上传站群代码到服务器的指定目录,可以读写:操作过程如下:一.配置防火墙,开启FTP服务器需要的端口[[email protected] /]# vi /etc/sysconfig/iptables    #添加端口号-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEP