热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>软件应用>

vsftpd架设匿名FTP,本地用户和虚拟用户mysql登录

来源: 作者: 时间:2007-03-25 Tag: 点击:
本文参考了vsftpd安装文档,vsftpd的EXAMPLE及网上众多网友的文章。
在REDhat9+vsftpd1.1.3+mysql3.2上测试通过。
本文不适用于使用mysql4的用户。

请注意:不要直接copy我这里的配置文件,可以造成ftp启动不正常,所以还是多费点事,自己输入吧

本文对本地用户、虚拟用户目录进行了限制,每个用户拥有自己独立的目录。
本文中所使用的参数具体意义请参数回贴。
配置不外就是修改vsftpc.conf,并指定用户目录,权限等。
对虚拟用户则用pam验证方式。

另:mkdir建立目录,chown更改权限。vi编辑文件。这些命令请参考man文档

vsftpd类别:

1、PORT FTP
首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。
第二,由FTP server 端会建立数据传输频道,默认值为20,也就是跟port 20 建立联机,并透过port 20 作数

据的传输。

2、PASVFTP
首先会建立控制频道,默认值是port 21,也就是跟port 21 联机,并透过此联机下达指令。
第二,会由client 端做出数据传输的请求,包括数据传输port 的数字。

3、差别:
PORT FTP 当中的数据传输port 是由FTP server 指定,
而PASV FTP 的数据传输port 是由FTP client 决定。
通常我们使用PASV FTP,是在有防火墙的环境之下,透过client 与server 的沟通,决定数据传输的port。



vsftpd安装篇:


1、rpm安装:
代码:
[root@Linux_win vsftpd]#rpm -ivh vsftpd-1.1.3-8.i386.rpm


2、tar.gz的安装
解压后查看README和INSTALL文档

安装前的条件:

进入vsftpd目录
编辑 "builddefs.h"文件,里面定义了pam功能,tcp_wrappers功能,ssl功能,根据需要定义pam或tcpwrapper功能,以消ssl功能

然后键入 "make" .将编译出相应的二进制文件,你可以用以下命令查看
[chris@localhost vsftpd]$ ls -l vsftpd
-rwxrwxr-x 1 root root 61748 Sep 27 00:26 vsftpd

a、增加“nobody”用户。在系统中添加此用户,如果用户已经存在,useradd命令有相应提示。
代码:
[root@Linux_win vsftpd]# useradd nobody

useradd: user nobody exists

b、建立“/usr/share/empty”目录。在系统中此目录,如果目录已经存在,mkdir命令有相应提示。
代码:
[root@hpe45 root]# mkdir /usr/share/empty/

mkdir: cannot create directory '/usr/share/empty': File exists

c、匿名服务帐号:“ftp”用户和一个有效的匿名目录(默认为/var/ftp)。
代码:
[root@Linux_win vsftpd]# mkdir /var/ftp/
[root@Linux_win vsftpd]# useradd -d /var/ftp ftp


d、更改目录的所有者为root,并让ftp用户对自己的主目录不可写
代码:
[root@Linux_win vsftpd]# chown root.root /var/ftp
[root@Linux_win vsftpd]# chmod og-w /var/ftp


编译VSFTPD
代码:
[root@Linux_win vsftpd]# tar zxvf vsftpd-1.2.0.tar.gz
[root@Linux_win vsftpd]# cd vsftpd-1.2.0
[root@Linux_win vsftpd]# make


安装编译好的VSFTPD

执行“make,make install”将编译好的二进制文件、手册等复制到相应目录。可能需要手动执行以下复制:
代码:
[root@Linux_win vsftpd]# cp vsftpd /usr/local/sbin/vsftpd
[root@Linux_win vsftpd]# cp vsftpd.conf.5 /usr/local/share/man/man5
[root@Linux_win vsftpd]# cp vsftpd.8 /usr/local/share/man/man8

如果不存在man5和man8目录,要先建立这两个目录
代码:
[root@Linux_win vsftpd]#mkdir /usr/local/share/man/man5
[root@Linux_win vsftpd]#mkdir /usr/local/share/man/man8

make不会自己copy配置文件,如果make install有错,则必须手工更改
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc

为本地用户设置PAM
如果允许本地用户登录VSFTPD,执行以下操作:
代码:
[root@Linux_win vsftpd]# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd


3、pam_mysql安装
如果使用mysql的二进制包,那么必须加个开始包,且要修改Makefile文件,指定mysql的lib位置。
代码:
[root@Linux_win vsftpd]# tar xvzf pam_mysql-0.5.tar.gz
[root@Linux_win vsftpd]# cd pam_mysql
[root@Linux_win vsftpd]# make
[root@Linux_win vsftpd]# cp pam_mysql.so /bli/security


4、mysql安装。请查看其它文档



vsftpd启动篇

vsftpd 有两种运行方式,一种是standalone 一种是 via an inetd (或者 inetd or xinetd).
1、如何启动
1)系统自带的
代码:
[root@Linux_win software]# service vsftpd restart

2)源包安装:
[root@Linux_win software]# /安装路径/vsftpd &

代码:
[root@Linux_win vsftpd]# /sbin/service xinetd restart  
或 
[root@Linux_win vsftpd]# /usr/local/sbin/vsftpd &


2、standlone启动
具体的运行方式由参数listen决定。当listen参数值为YES时,VSFTPD单独运行,我们可以使用脚本/etc/rc.d/init.d/vsftpd来启动、关闭以及重启VSFTPD。命令如下:
  
代码:
/etc/rc.d/init.d/vsftpd start|stop|restart


3、xinetd启动,首先要将vsftpd.conf配置文件中的listen参数值改为NO。
其次,生成一个/etc/xinetd.d/vsftpd文件

代码:
[root@Linux_win vsftpd]#vi /etc/vsftpd/vsftpd.conf或vi /etc/vsftp.conf
listen=NO


代码:
[root@Linux_win vsftpd]vi /etc/xinetd.d/vsftpd
内容如下:
service vsftpd
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
port = 21
log_on_success += PID HOST DURATION
log_on_failure += HOST
}


通过修改disable值为no或yes,并重新启动xinetd,从而启动或停止VSFTPD。



配置安全匿名服务器

所要做的就是用vi修改vsftpd.conf文件

代码:
[root@Linux_win vsftpd]#vi /etc/vsftpd.conf或/etc/vsftpd/vsftpd.conf

修改后的vsftpd.conf文件看附件:


相关文章:
QT之1(PC机上搭建环境及应用)
安装wine
解决安装CentOS5之后,vi不显示颜色的问题
linux控制台下的一个好东西-splitvt
Vmware-server目标主机积极拒绝,无法连接
vmware server 1.0.6 for linux相关命令
逐步设置vim C/C++语法高亮显示和自动缩进
在VM虚拟机器Linux下安裝VMware Tool的方法
玩了一下compiz-fusion
BMP-Beep Media Player
VIM 文件编码识别与乱码处理(一)
VIM 文件编码识别与乱码处理(二
VI技巧
让firefox 支持 amule (ed2k 协议)
为CentOS 5.1中的Firefox 1.5安装Flash插件……
vi 在编辑某文件时,在该文件内查找东西用何命令?
Freebsd + wine1.1.9 + 国元网上证券交易(通达信
emacs 代码补全功能
安装drupal-6.2和简体中文语言包
谈 Linux GNU 实用工具兼容性
Linux 文件压缩工具指南 一些免费和实用工具的评
Emacs 基础知识
介绍 Emacs 的编辑环境
在 Emacs 中编辑文本
生活在Emacs中
生活在emacs中2
生活在Emacs中3
Linux命令行性能检测工具
Linux下Expect配置
生活在Emacs中4