在CentOS系统下搭建FTP服务器vsftpd的方法

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

在开源操作系统中常用的FTPD套件主要还有ProFTPD、PureFTPd和wuftpd等,而vsftpd支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户支持IPv6、速率高等。

vsftpd特点

①vsftpd 是以一般身份启动服务,所以对于 Linux 系统的使用权限较低,对于Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被vsftpd 这支服务所误用;

②任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序( parent process ) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准;

③所有来自 clients 端,想要使用这支上层程序所提供的较高执行权限之vsftpd 指令的需求,均被视为『不可信任的要求』来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。例如chown(),Login 的要求等等动作;

④此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。

安装步骤

编译安装

复制代码

代码如下:

# mkdir -p /usr/local/man/man8

# mkdir -p /usr/local/man/man5

# yum -y install tcp_wrappers*

# yum -y install pam*

# yum -y install db4*

# yum -y install libcaP*

# wget -c http://down1.chinaunix.net/distfiles/vsftpd-2.3.4.tar.gz

# tar -xvzf vsftpd-2.3.4.tar.gz

# cd vsftpd-2.3.4

支持的认证类型

复制代码

代码如下:

# vim builddefs.h

#define VSF_BUILD_TCPWRAPPERS

#define VSF_BUILD_PAM

#define VSF_BUILD_SSL

# make

# make install

# mkdir /etc/vsftpd

# cp vsftpd.conf /etc/vsftpd

启动脚本

复制代码

代码如下:

# vim /etc/init.d/vsftpd

# chmod +x /etc/init.d/vsftpd

# chkconfig –level 235 vsftpd on

日志目录

复制代码

代码如下:

# mkdir -p /data3/ftp_logs

# vi /etc/vsftpd/vsftpd.conf

# touch /data3/ftp_logs/vsftpd.log

# touch /etc/vsftpd/chroot_list

# touch /etc/vsftpd.user_list

# mkdir /etc/vsftpd/vconf

创建用户列表【第一行为用户名,第二行为密码】

复制代码

代码如下:

# vi /etc/vsftpd/virtusers

blaze

123456789

创建用户数据库文件

复制代码

代码如下:

# db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

# chmod 600 /etc/vsftpd/virtusers.db

创建PAM认证文件

复制代码

代码如下:

# vim /etc/pam.d/vsftpd

[注:x64环境下,路径不一样]

创建针对 blaze 用户配置文件

复制代码

代码如下:

# vim /etc/vsftpd/vconf/blaze

local_root=/data1/www

anonymous_enable=NO

write_enable=YES

local_umask=022

anon_upload_enable=NO

anon_mkdir_write_enable=NO

idle_session_timeout=600

data_connection_timeout=120

max_clients=10

max_per_ip=5

local_max_rate=50000

防火墙设置

复制代码

代码如下:

# iptables -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

# iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

# iptables -I INPUT -p tcp –dport 21 -j ACCEPT

# iptables -I OUTPUT -p tcp –dport 21 -j ACCEPT

# modprobe ip_conntrack_ftp

# modprobe ip_nat_ftp</p>

<p># vi /etc/sysconfig/iptables

-A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

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

-I INPUT -p tcp –dport 21 -j ACCEPT

-I OUTPUT -p tcp –dport 21 -j ACCEPT</p>

<p># vi /etc/sysconfig/iptables-config

IPTABLES_MODULES=”ip_conntrack_ftp”

IPTABLES_MODULES=”ip_nat_ftp”

相关文章

今天小编给大家分享一下excel图案样式如何设置的相关知识点,...
这篇文章主要讲解了“win10设置过的壁纸如何删除”,文中的讲...
这篇“Xmanager怎么显示远程linux程序的图像”文章的知识点大...
今天小编给大家分享一下xmanager怎么连接linux的相关知识点,...
这篇“如何重置Linux云服务器的远程密码”文章的知识点大部分...
本篇内容介绍了“Linux云服务器手动配置DNS的方法是什么”的...