参考:http://www.cnblogs.com/xiongpq/p/3384759.html
一、什么是vsftpd
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
二、安装与配置
首先看看vsftpd装了没有
rpm -q vsftpd 或者 rpm -qa|grep vsftpd
没装的话就先安装吧
yum -y install vsftpd
设置开机启动vsftpd ftp服务
chkconfig vsftpd on
启动vsftpd服务
service vsftpd start
配置vsftpd服务器
3、新增加系统用户:
//增加新用户不让在本机登陆 #useradd -d /home/ftpmulu -s /sbin/nologin ftpUser 说明:根目录 /home/ftpmulu 在 vsftpd不能有写权限,根目录下的目录才有写权限! //更改新增目录的权限,只允许haojifang.cn访问此目录; #chown -R ftpUser/home/ftpmulu //修改ftpUser用户的访问 /home/ftpmulu 权限 /home/ftpmulu 是ftp的根目录,在这个目录下再创建upload目录就是ftp上传的目录。 #chmod 777 -R /home/ftpmulu/upload # passwd ftpUser//为用户设置密码; Changing passwordforuser haojifang.cn. New UNIX password: BAD PASSWORD: it does not contain enough DIFFERENT characters RetypenewUNIX password: passwd: all authentication tokens updated successfully.
5、修改vsftpd.conf 禁止匿名帐号登陆及允许自建帐号登陆:
vi /etc/vsftpd/vsftpd.conf
删除原有文件内容,替换成下面的内容:
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES
4、修改/etc/vsftpd/chroot_list 添加dsideal 帐号允许该帐号登陆FTP服务器
vi /etc/vsftpd/chroot_list
内容:admin
重启服务,现在可以了!
FTP服务器两种通道
- 命令通道:21端口
- 数据传输通道
主动模式(PORT)(Server->Client)
客户端打开端口N(N为>1024的随机端口)连接服务器21端口建立命令通道;
客户端通过N+1端口与服务器20端口建立数据传输通道。
被动模式(PASV)(Client->Server)
客户端打开端口N(N为>1024的随机端口)连接服务器21端口建立命令通道(同上);
客户端通过N+1端口与服务器>1024随机端口建立数据传输通道,客户端使用PASV命令。
推荐方式
使用被动模式传输可以尽最大可能降低因客户端firewall配置导致的timeout问题。具体操作如下:
1. 客户端使用被动模式命令传输;
2. 服务端开启被动模式,并指定被动模式端口范围
3. 并开启防火墙开放这个IP段
下面是vsftpd的配置:
pasv_min_port=10000
pasv_max_port=10030
再将端口10000 到10030 的端口添加到防火墙:
iptables -I INPUT -p tcp --dport 10000:10030 -j ACCEPT
当我以为成功后,去用ftp工具连接测试结果发现:500 OOPS: cannot change directory:/home/admin
原因是CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。
//查看SELinux设置
# getsebool -a|grep ftp
ftpd_disable_trans --> off
//使用setsebool命令开启
# setsebool ftp_home_dir 1
//再次查看当前状态是否是on的状态
# getsebool -a|grep ftp
//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
# service vsftpd restart
553 Could not create file.
setsebool allow_ftpd_full_access 1 就可以解决553
相关推荐
本文将详细介绍如何在64位的CentOS 6.4操作系统上安装Oracle 11g Release 2(11g R2)。这是一个重要的过程,因为CentOS是Linux发行版中的一个稳定选择,而Oracle 11g R2则是企业级数据库解决方案的首选。 首先,...
centos6.4的安装镜像。可以下一个VM,安装流程百度一大堆。
### CentOS 6.4 SSH与Telnet服务器配置详解 #### 一、SSH服务器概述与功能 **SSH**(Secure Shell)是一种广泛应用于Linux系统中的安全协议,主要用于远程登录会话和其他网络服务的安全通信。它是目前最可靠的安全...
CentOS 7.9 安装配置 vsftpd 在本文中,我们将详细介绍如何在 CentOS 7.9 上安装和配置 vsftpd,以实现匿名用户的上传和下载操作。 一、关闭防火墙 在配置 vsftpd 之前,需要关闭防火墙,以免防火墙的限制导致-...
**CentOS 6.4版本64位操作系统虚拟机** CentOS 6.4是一款基于Linux内核的开源操作系统,它是Red Hat Enterprise Linux (RHEL)的一个克隆版,旨在提供一个免费、稳定且功能丰富的服务器环境。这个版本是64位的,这...
在CentOS 6.4上安装Oracle 11g涉及到多个步骤,包括安装依赖包、配置SELinux和防火墙、创建用户和组以及安装目录等。 首先,安装Oracle 11g之前,确保系统已更新至最新版本,并安装一系列必要的依赖包。这些包包括...
在本文中,我们将详细探讨如何在CentOS 6.4 64位系统上安装Redis以及集成PHP的phpredis扩展。这是一个重要的步骤,对于运行基于PHP的Web应用程序并需要高效缓存解决方案的开发者来说,是必不可少的。我们将遵循一...
### CentOS6.4单用户模式下Root密码破解详解 #### 一、背景介绍 ...通过本篇文章的学习,相信您已经掌握了在CentOS 6.4中如何安全有效地进行root密码重置的方法,这对于日常的系统管理和维护具有重要意义。
### CentOS 6.4 i386 ...通过这篇笔记的学习,读者不仅可以掌握CentOS 6.4的安装技巧,还能了解如何在虚拟机环境下进行高效的学习和实践,这对于IT专业人员、系统管理员以及Linux爱好者来说,都是一份宝贵的资料。
在本文中,我们将详细探讨如何在CentOS 6.4 64位系统上安装Oracle 11g数据库,以及解决可能出现的错误。这个过程包括清理YUM信息、安装依赖软件包、修改内核参数、创建用户和组、设置用户Shell限制、新建安装目录等...
它提供了两个版本:32位和64位,以适应不同硬件架构的需求。 #### 知识点二:系统安装镜像与要求 - **镜像下载**:CentOS 6.4的系统镜像包括两个部分,用户通常只需要下载第一个镜像文件(如`CentOS-6.4-i386-bin-...
### CentOS 6.4 U盘安装详细指南 #### 一、前言 随着Linux系统的广泛应用,CentOS作为一款稳定...此外,由于CentOS 6.4版本较为老旧,建议用户在条件允许的情况下选择更新的版本进行安装,以便获得更好的性能和支持。
CentOS 6.4安装配置LAMP服务器
在本教程中,我们将深入探讨如何在 CentOS 6.4 操作系统上安装 Oracle 11g 数据库管理系统。Oracle 11g 是一个企业级的数据库解决方案,它提供了高性能、高可用性和安全性,适用于大型企业的关键业务应用。在 CentOS...
CentOS 6.4 中出现 Vsftpd 中文乱码解决方案 在 CentOS 6.4 中,Vsftpd 服务器可能会出现中文乱码的问题,这是由于 Vsftpd 默认使用的编码方式与 Windows 客户端的编码方式不兼容所致。为了解决这个问题,我们可以...
VMware上的centos6.4虚拟机,直接下载解压导入即可使用
### CentOS 6.4 下 MySQL 5.7 编译安装详细步骤 #### 一、环境准备 在开始编译安装 MySQL 5.7 之前,确保已经搭建好 CentOS 6.4 系统环境,并按照以下步骤进行必要的准备工作。 ##### 1.1 安装依赖库文件 MySQL ...