`

CentOS下VSFTPD配置指南

阅读更多


1、通过YUM安装必需的vsftpd, pam, pam-devel;
2、通过编译安装必需的pam_mysql(下面附件里);
3、修改默认vsftpd配置文件 (/etc/vsftpd/vsftpd.conf)以及添加ftp用户的权限配置文件(/etc/vsftpd/vconf/);
4、添加虚拟系统用户,及其ftp用户登录认证数据库;
5、修改vsftpd默认的pam配置文件 (/etc/pam.d/vsftpd);
6、添加ftp端口到防火墙,重启vsftpd服务,测试ftp虚拟用户登录。

1)
[simonsun@magic ~]$ sudo yum install vsftpd pam pam-devel
目前的版本为
vsftpd - 2.0.5-12.el5, pam - 0.99.6.2-3.27.el5, pam-devel - 0.99.6.2-3.27.el5。

2)
[simonsun@magic ~]$ wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz
[simonsun@magic ~]$ tar zxvf pam_mysql-0.7RC1.tar.gz
[simonsun@magic ~]$ ls pam_mysql-0.7RC1
acinclude.m4  config.guess  configure     CREDITS     ltmain.sh    missing        pam_mysql.c        pkg.m4
aclocal.m4    config.h.in   configure.in  INSTALL     Makefile.am  mkinstalldirs  pam_mysql.spec     README
ChangeLog     config.sub    COPYING       install-sh  Makefile.in  NEWS           pam_mysql.spec.in  stamp-h.in
[simonsun@magic ~]$ vim pam_mysql-0.7RC1/configure
#修改configure中的一个bug,将下面的一段修改,加上#include <md5global.h>,原来没有此引用。
=================================
#include <md5global.h>
#include <md5.h>

int
main ()
{

md5_calc(0, 0, 0);

  ;
  return 0;
}
=================================
[simonsun@magic ~]$ cd pam_mysql-0.7RC1
[simonsun@magic pam_mysql-0.7RC1]$ ./configure
[simonsun@magic pam_mysql-0.7RC1]$ make
[simonsun@magic pam_mysql-0.7RC1]$ sudo make install
[simonsun@magic pam_mysql-0.7RC1]$ sudo cp /usr/lib/security/pam_mysql.* /lib/security/
注:centos 6.0下,这一步拷贝系统已经做好了,可以跳过。
3)
[simonsun@magic ~]$ sudo vim /etc/vsftpd/vsftpd.conf
======================================
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
ftpd_banner=Welcome to Magic Linux FTP service.

#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd/banned_emails

chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list

#ls_recurse_enable=YES
listen=YES
listen_port=21
#listen_ipv6=YES

#下面是添加的:
guest_enable=YES
guest_username=vvsftpd        #虚拟系统用户,在下面的步骤4)里添加该用户到系统用户中。
user_config_dir=/etc/vsftpd/vconf/    #登录ftp的虚拟用户的权限配置文件。
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

======================================
[simonsun@magic ~]$ sudo mkdir /etc/vsftpd/vconf/
[simonsun@magic ~]$ sudo vim /etc/vsftpd/vconf/myftp
======================================
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO

======================================

4)
[simonsun@magic ~]$ sudo /usr/sbin/useradd -d /home/vvsftpd -s /sbin/nologin vvsftpd
[simonsun@magic ~]$ mysql -u root -p
#执行如下语句,为虚拟系统用户vvsftpd创建虚拟用户(如myftp)登录ftp时的认证数据库vsftpd
======================================
create database vsftpd;
use vsftpd;
create table user(name char(20) binary,passwd char(20) binary);
insert into user values ('myftp',ENCRYPT('ptfym'));
grant select on vsftpd.user to vvsftpd@localhost identified by 'PaSsWoRd';
flush privileges;
======================================

5)
[simonsun@magic ~]$ sudo vim /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 nerr=succeed
#auth       required    pam_shells.so
auth required /lib/security/pam_mysql.so user=vvsftpd passwd=PaSsWoRd host=localhost db=vsftpd table=user usercolumn=name passwdcolumn=passwd crypt=1
account required /lib/security/pam_mysql.so user=vvsftpd passwd=PaSsWoRd host=localhost db=vsftpd table=user usercolumn=name passwdcolumn=passwd crypt=1

#auth       include     system-auth
#account    include     system-auth
session    include      system-auth
session    required     pam_loginuid.so

======================================

6)
[simonsun@magic ~]$ sudo /sbin/iptables -I INPUT -p tcp --dport 20 -j ACCEPT
[simonsun@magic ~]$ sudo /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
[simonsun@magic ~]$ sudo /etc/rc.d/init.d/iptables save
[simonsun@magic ~]$ sudo /etc/rc.d/init.d/iptables restart
清除防火墙规则:                                           [确定]
把 chains 设置为 ACCEPT 策略:filter nat                   [确定]
正在卸载 Iiptables 模块:                                  [确定]
应用 iptables 防火墙规则:                                 [确定]
载入额外 iptables 模块:ip_conntrack_netbios_ns            [确定]
[simonsun@magic ~]$ sudo /etc/rc.d/init.d/vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]
[simonsun@magic ~]$ ftp shellfisher.3322.org //这个网址是我用3322网站关联的我本机在互联网上的IP对应的一个域名。
Connected to shellfisher.3322.org.
220 Welcome to Magic Linux FTP service.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (shellfisher.3322.org:simonsun): myftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (221,215,250,110,86,88)
150 Here comes the directory listing.
226 Directory send OK.
ftp> mkdir testftp
257 "/testftp" created
ftp> ls     
227 Entering Passive Mode (221,215,250,110,43,155)
150 Here comes the directory listing.
drwx------    2 507      509          4096 Mar 24 08:32 testftp
226 Directory send OK.
ftp> quit
221 Goodbye.

 

以上均在CentOS5系列下测试过,centos6下需稍作改动,特别是pam_mysql.
======================================

参考链接:
http://blog.chinaunix.net/u/27493/showart_418571.html
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users

1
0
分享到:
评论

相关推荐

    centos下vsftpd搭建

    【标题】:“CentOS 下搭建 vsftpd 服务” 【描述】:“本文将详细介绍如何在 CentOS 操作系统中搭建 vsftpd 服务器,包括模拟生产环境、设置磁盘配额和权限控制,以及涉及的相关系统分区和文件系统知识。” ...

    centos vsftpd 部分案例

    本篇将详细探讨"CentOS VSFTPD"的相关知识点,通过分析提供的案例文件,帮助读者深入理解如何在CentOS系统中配置和管理VSFTPD。 首先,我们需要理解VSFTPD的基本概念。VSFTPD代表“非常安全的FTP守护进程”,它以...

    CentOS 5.3下vsftp创建新用户

    在CentOS 5.3系统下配置vsftpd(Very Secure FTP Daemon)以创建并管理新的FTP用户是一项关键的IT技能,尤其对于那些负责...通过遵循上述指南,你可以有效地在CentOS 5.3下配置vsftpd,以支持更安全、高效的FTP服务。

    vsftpd服务器初学者指南

    #### 四、vsFTPd配置详解 ##### 4.1 基本配置项解析 vsFTPd的主要配置文件是`/etc/vsftpd.conf`。其中包含了大量配置项,用于控制FTP服务的行为。下面是一些常见的配置项示例: - `listen=YES`: 启用监听模式,...

    CentOS5.5上配置ftp虚拟用户服务

    以下是一个详细的步骤指南,涵盖了从安装依赖库到配置FTP服务以及创建虚拟用户的整个过程。 首先,确保系统安装了必要的库和软件包。你需要`db4-devel`和`db4-utils`来支持vsftpd虚拟用户功能,以及`gcc`用于编译源...

    CentOS下配置PHP+phpMyAdmin.pdf

    "CentOS下配置PHP+phpMyAdmin" 本文主要讲述了在CentOS系统中配置PHP和phpMyAdmin的过程。该过程中作者遇到了多个问题,并最终解决了这些问题。 首先,作者介绍了如何安装PHP环境,包括安装PHP5.3和相关的扩展库,...

    vsftpd安装包

    或者,如果你手头有提供的"vsftpd"压缩包,可以直接解压并按照官方文档或提供的指南进行手动编译和安装。 【配置VSFTPD】 安装完成后,VSFTPD的主要配置文件位于`/etc/vsftpd/vsftpd.conf`。这个文件包含了VSFTPD...

    1_利用VMware10安装并配置CentOS-6.5-x86_64-bin-DVD1.pdf

    VMware10 安装并配置 CentOS-6.5-x86_64-bin-DVD1 是一个详细的安装指南,旨在指导用户在 VMware10 中安装并配置 CentOS-6.5-x86_64-bin-DVD1 系统。该指南涵盖了准备工作、关于 CentOS 6.5 的版本说明、下载地址、...

    9.Cenots6.5操作系统 - 安装与配置vsftpd-2.2.2-14.el6.x86_64.doc

    在本文中,我们将探讨如何在 CentOS 6.5 操作系统上安装和配置 vsftpd 服务器,重点是版本为 2.2.2-14.el6.x86_64 的服务。首先,确保您以 root 用户身份登录,因为许多系统管理任务需要相应的权限。 **一、检查 ...

    CentOS 7 FTP-Server部署

    - **日志记录**: 配置`vsftpd`的日志记录功能有助于监控服务器的安全状态和性能表现。 - **软件更新**: 定期检查并更新`vsftpd`和其他相关软件的版本,确保安全性和稳定性。 #### 五、总结 通过以上步骤,可以在...

    vsftpd及ftp

    2. **配置服务器**: 修改vsftpd配置文件以满足安全和功能需求,例如设置用户权限、启用TLS等。 3. **创建用户**: 创建合适的用户账户,并分配适当的权限。确保匿名访问(如果需要)被正确配置。 4. **测试连接**: ...

    centos7FTP服务器安装指南[归纳].pdf

    在CentOS 7中搭建FTP服务器,主要涉及的是安装、配置和安全管理FTP服务。FTP(File Transfer Protocol)是一种用于在互联网上传输文件的标准协议。在这个过程中,我们将使用vsftpd(Very Secure FTP Daemon),它是...

    CentOS 7 安装vsftpd 服务器的具体操作步骤

    ### CentOS 7 安装与配置 vsftpd 服务器详细指南 #### 一、引言 在本篇文章中,我们将详细介绍如何在 CentOS 7 上安装并配置 vsftpd(Very Secure FTP Daemon)服务器。vsftpd 是一款广泛使用的 FTP 服务器软件,以...

    在CentOS上搭建LAMP+vsftpd环境的简单指南

    主要介绍了在CentOS上搭建LAMP+vsftpd环境的简单指南,这也是当下服务器的最流行配置方案之一,需要的朋友可以参考下

    vsftpd-2.0.5.tar.gz(带安装详解)

    综上所述,`vsftpd-2.0.5.tar.gz`包包含了在Linux环境中安装和配置FTP服务器所需的所有资料,通过遵循提供的指南,可以成功搭建一个安全、高效的FTP服务环境。记得在实际操作时根据自己的系统环境和安全需求进行相应...

    vsFTPd-for-starter.rar_vsftp_vsftpd

    **Linux上的vsFTPd:初学者指南** 在Linux操作系统中,vsFTPd(Very Secure FTP Daemon)是一款流行的、免费的FTP服务器软件。它以其安全性和稳定性而受到许多系统管理员的青睐。本文将深入探讨vsFTPd的基础知识,...

    CENTOS+KAFKA+GOLANG

    - **环境变量配置指南**:[Go 环境配置教程](http://my.oschina.net/pandao/blog/161667) ##### 3.3 IDE 安装 - **推荐 IDE**:[GoLand](https://www.jetbrains.com/go/) - **安装指南**:[GoLand 安装教程]...

    虚拟机安装CentOS6.5-x86_64系统.docx

    在本文档中,我们详细介绍了如何在虚拟机中安装...总的来说,这个文档覆盖了从基础操作系统安装到网络配置,再到用户管理和服务安装的多个重要环节,是建立一个完整且功能丰富的CentOS 6.5开发或测试环境的详细指南。

    CentOs-ftp搭建示例包含安装包

    在IT行业中,FTP(File Transfer ...如有需要,可以根据实际需求进一步调整vsftpd配置文件,以满足特定的安全策略或功能需求。同时,提供的`安装说明.txt`文件可能会包含更详细的步骤或特定环境的指南,建议参考阅读。

Global site tag (gtag.js) - Google Analytics