CentOS通过vsftpd及pam-mysql,php实现FTP虚拟用户管理.docxVIP

  • 7
  • 0
  • 约1.2万字
  • 约 11页
  • 2018-01-04 发布于河南
  • 举报

CentOS通过vsftpd及pam-mysql,php实现FTP虚拟用户管理.docx

CentOS通过vsftpd及pam-mysql,php实现FTP虚拟用户管理

CentOS系统通过vsftpd及pam-mysql、php等实现FTP虚拟用户管理辣汉堡 QQwindphone@163.com最近因为工作需要,摸索着实现了在linux环境下使用vsftpd及pam_mysql实现FTP服务器的虚拟用户管理,并通过简单的php页面为用户提供自助修改密码的功能。实现过程中遇到了不计其数的小问题,还好现在有互联网,一路边查边改,最终实现了当初对linux下FTP服务器的设想。网上的信息虽多,但复制粘贴的更多。许多资料都是雷同而且带有错误的,我把解决问题过程中用到的一些经验证正确无误的资料集中起来,希望能给有相似需求的网友造福。其中引用到大量互联网上的资料没有办法查到源头,如有冒犯之处敬请谅解。一、CentOS操作系统在虚拟机上的安装打开VMware vSphere Client,用本地的CentOS6.3光盘映像文件安装即可,选择了最小安装。CentOS是redhat Linux的再编译免费版本。二、CentOS系统安装完成后的网络配置编辑文件 /etc/sysconfig/network-scripts/ifcfg-eth0,内容大致如下:DEVICE=eth0BOOTPROTO=staticHWADDR=00:10:51:9D:54:4CNM_CONTROLLED=yesONBOOT=yesIPADDR=xxx.xxx.0.16NETMASK=GATEWAY=xxx.xxx.0.254TYPE=EthernetUUID=da0b8894-8adf-4a54-a3d0-b0586e08209e重启系统后网络配置就可以生效。虽然也可以使用命令行设置且立即生效,但重启系统后需要重新设置。三、无互联网环境下yum安装命令的使用 yum是linux下一个非常好用的软件安装/卸载软件,但若linux不能联网,若想使用yum安装软件,可以依照下面的方法。 1、挂载CentOS安装光盘mount -t iso9660 /dev/cdrom /media/cdrom 2、修改yum配置文件cd /etc/yum.repos.d/会看到三个文件,第一个CentOS-Base.repo是yum网络源的配置文件,第三个CentOS-Media.repo是本地源的配置。修改CentOS-Media.repo在baseurl中,修改第2个路径为/mnt/cdrom(即为光盘挂载点)将enabled=0改为1 3、将yum网络源配置文件改名为CentOS-Base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。好了,现在可以在不联网的环境下安装包了,比如要安装gcc,输入命令yum install gcc即可!四、vsftpd的安装使用CentOS光盘自带的yum安装vsftpd是可以满足一般需要的,但在使用pam-mysql方式验证用户时遇到了许多不好解决的问题,后来还是下载了vsftpd-3.0.2.tar.gz编译安装的。1、需要先安装编译用的gccyum -y install gcc gcc-c++ db4-utils pam-devel然后展开下载的vsftpd安装包,修改部分参数后编译:tar -zxf vsftpd-3.0.2.tar.gzcd vsftpd-3.0.2#vi builddefs.h #define VSF_BUILD_TCPWRAPPERS //允许使用TCP Wrappers(默认是undef) #define VSF_BUILD_PAM //允许使用PAM认证 #define VSF_BUILD_SSL //允许使用SSL(默认是undef)make make installmkdir /etc/vsftpd/cp vsftpd.conf /etc/vsftpd/vsftpd.bakgrep -v ^# /etc/vsftpd/vsftpd.bak /etc/vsftpd/vsftpd.conf#为了让vsftpd支持本地用户登录,将身份认证模块拷贝至系统目录中cp RedHat/vsftpd.pam /etc/pam.d/vsftpd2、配置vsftpd独立启动#vi /etc/xinetd.d/vsftpd将disable中no改成yes3、服务启动脚本的制作在standalone 模式中,经常用上面的命令启动服务比较麻烦,我们做一个脚本来启动和停止服务。建立一个新文件/etc/rc.d/init.d/vsftpd,把以下内容复制到文件中:#!/bin/bash## vsftpd Th

文档评论(0)

1亿VIP精品文档

相关文档