文档章节

基于vsftpd部署ftp服务(centos/rhel)

opsedu
 opsedu
发布于 2015/08/14 11:03
字数 981
阅读 128
收藏 5

一、vsftp安装

一般在CentOS上都自动安装了vsftd,若没有安装则可以使用以下步骤进行安装

[root@lnmp yum.repos.d]# yum install vsftpd
[root@lnmp ~]# chkconfig vsftpd on
[root@lnmp ~]# service vsftpd start

# 清空iptables,并关闭iptables和selinux
[root@lnmp ~]# iptables -F                            # 清空iptables规则
[root@lnmp ~]# iptables -L -nv
Chain INPUT (policy ACCEPT 40 packets, 3328 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 25 packets, 3208 bytes)
 pkts bytes target     prot opt in     out     source               destination
[root@lnmp ~]# service iptables stop                  # 关闭防火墙
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@lnmp ~]# chkconfig iptables off                  # 设置iptables开机不启动

# 关闭selinux
[root@lnmp ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
[root@lnmp ~]# shutdown -r now

二、匿名/系统用户配置测试

[root@lnmp ~]# useradd -s /sbin/nologin shaw
[root@lnmp ~]# passwd shaw

默认,安装好vsftp,匿名用户(只可下载)和系统用户(完全权限)就可以访问

因为系统用户登录ftp,即在自己家目录中,所有具备全部权限

更改系统账号ftp主目录,对用户限速

[root@lnmp ~]# vim /etc/vsftpd/vsftpd.conf 
local_root=/var/ftp/pub                    # 更改系统用户主目录
local_max_rate=1024000                     # 系统用户限速1MB(上传和下载)
[root@lnmp ~]# service vsftpd restart
[root@lnmp ~]# chmod o+w /var/ftp/pub     # 加权限,可以上传和删除(ftp权限,由dir权限和ftp权限共同控制)

此时系统用户登录ftp,就在‘/var/ftp/pub’目录下,需要什么样的权限,手工添加

三、vsftpd虚拟用户配置测试

1. 编辑配置文件vi /etc/vsftpd/vsftpd.conf

[root@lnmp ~]# touch /var/log/vsftpd.log           # 创建vsftp的日志文件
[root@lnmp ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO                                #设定不允许匿名访问
local_enable=YES                                   #设定本地用户可以访问
chroot_list_enable=YES                             #使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log                   #设定vsftpd的服务日志
pam_service_name=vsftpd                            #PAM"认证文件"名,PAM将根据/etc/pam.d/vsftpd进行认证

# Vsftpd虚拟用户支持服务配置,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
guest_enable=YES                                   #设定启用虚拟用户功能。
guest_username=ftp                                 #指定虚拟用户的宿主用户。系统中已经有内置的"ftp"用户了
user_config_dir=/etc/vsftpd/vuser_conf             #设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性化的配置文件名,应和虚拟用户名相同

2. 创建chroot_list,将用户ftp加入其中

[root@lnmp ~]# touch /etc/vsftpd/chroot_list
[root@lnmp ~]# echo ftp >> /etc/vsftpd/chroot_list

3. 进行虚拟用户认证配置

安装Berkeley DB工具,后面找不到db_load的问题就是没有安装这个软件包的原因

[root@lnmp ~]# yum install db4 db4-utils

创建用户密码文件vuser_passwd.txt

[root@lnmp ~]# vi /etc/vsftpd/vuser_passwd.txt  #   #注意奇数行是用户名,偶数行是密码
ftpuser
q.123456

生成虚拟用户认证的db文件

[root@lnmp ~]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,并增加以下两行

[root@lnmp ~]# vi /etc/pam.d/vsftpd
#%PAM-1.0
#session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
#session    required     pam_loginuid.so
#session    include     password-auth
auth    required        pam_userdb.so   db=/etc/vsftpd/vuser_passwd
account required        pam_userdb.so   db=/etc/vsftpd/vuser_passwd

创建虚拟用户服务配置文件

[root@lnmp ~]# mkdir /etc/vsftpd/vuser_conf
[root@lnmp ~]# vi /etc/vsftpd/vuser_conf/ftpuser   # 配置文件名和用户名相同,每行配置最后,不能有空格,否则启动时报错
local_root=/var/ftp/pub 	        # 虚拟用户的根目录(根据实际修改)
write_enable=YES 			# 可写
anon_umask=022 				# 掩码
anon_max_rate=1024000                   # 限速1MB
anon_world_readable_only=NO 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

[root@lnmp ~]# mkdir /var/ftp/ftpuser            # 给刚建立的用户创建目录
[root@lnmp ~]# chown -R ftp /var/ftp/ftpuser     # 设定目录权限

4.重新启动vsftp服务

[root@lnmp ~]# service vsftpd restart

© 著作权归作者所有

opsedu
粉丝 0
博文 21
码字总数 10944
作品 0
松江
高级程序员
私信 提问
CentOS中vsftp安装与配置

安装 使用chkconfig --list来查看是否装有vsftpd服务; 使用yum命令直接安装:yum -y install vsftpd 然后为它创建日志文件:touch /var/log/vsftpd.log 这样简单的两个命令就完成了vsftp的安...

逸舟
2011/04/07
0
1
linux下开通ftp bash:ftp:command not found

linux自己提供了ftp(文件传输)服务和ssh(远程登陆,类似tlenet,不过比telnet安全)服务,那么怎么使用呢? 一 FTP: FTP服务有好多种,本文是使用的vsftp 1.查看ftp服务状态: 首先要确定...

xinspace
2013/04/09
0
0
vsftpd 源代码中发现后门程序

Ubuntu、CentOS、Fedora和RHEL Linux等发行版默认的FTP服务器程序vsftpd的源代码中发现了后门。 vsftpd代表Very Secure FTP Daemon,自称是类Unix系统中最安全、最快的FTP服务器。它的v2.3....

红薯
2011/07/05
4.9K
14
Linux下如何进行FTP设置

目录: 一、Redhat/CentOS安装vsftp软件 二、Ubuntu/Debian安装vsftp软件 一、Redhat/CentOS安装vsftp软件 1.更新yum源 首先需要更新系统的yum源,便捷工具下载地址:http://help.aliyun.co...

simpower
2014/12/25
0
0
安装完最小化RHEL/CentOS 7后需要做的30件事情

CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本。你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级、安装新的软件包、配置特定服务和应用...

dufei
2018/06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Tedis:基于 TiKV 构建的 NoSQL 数据库

作者介绍: 陈东明,饿了么北京技术中心架构组负责人,负责饿了么的产品线架构设计以及饿了么基础架构研发工作。曾任百度架构师,负责百度即时通讯产品的架构设计。具有丰富的大规模系统构 ...

TiDB
25分钟前
0
0
linux命令

ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单。如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件...

WinkJie
33分钟前
0
0
你需要的物流运输类报表,这里都有

你需要的物流运输类报表,都在这里 葡萄城报表模板库是一款免费的报表制作、学习和参考工具,包含了超过 200 张高质量报表模板,涵盖了 16 大行业和 50 多种报表类型,为 30 余万报表开发者提...

葡萄城技术团队
40分钟前
2
0
像Java SE一样编写Java EE(ddd探索)

今天主要改写昨天的组合模式成Web系统。 容器接口为 public interface TreeProduct { /** * 展示所有产品 * @return */ List<TreeProduct> allProducts();...

算法之名
41分钟前
0
0
Django Model 模型建立

Django Model 模型 Django Model层是Django的数据模型层,每一个Model类就是数据库中的一张表; 我们需要注意下面几点: model一般都是定义在不同的APP的models.py模块文件中,可以是一个,也...

彩色泡泡糖
49分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部