当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > RedhatLinux上vsftpd编译安装

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 RedhatLinux上vsftpd编译安装


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 47 ::
收藏到网摘: n/a

以root账户登录RedHatbashshell

[root@redhat~]#tar-zxvfvsftpd-2.0.5.tar.gz//解压vsftpsource文件

[root@redhat~]#cdvsftpd-2.0.5//进入解压后的目录

[[email protected]]#moreINSTALL//看看安装说明。比如要做什么工作。是个英文文档。

[[email protected]]#useraddnobody//这里需要加一个nobody用户。大家可以使用fingernobody查看下。看是否有这个用户。用就不需要加了

[[email protected]]#mkdir/usr/share/empty//这一步同上。服务器需要一个empty的空目录放在/usr/share/下。可以使用ls/usr/share/empty查看。如果存在就不需要了。这步也可以跳过

如果需要开启匿名用户访问,需要做下面几步工作

[[email protected]]#mkdir/var/ftp///创建供匿名用户使用的目录

[[email protected]]#useradd-d/var/ftpftp//创建ftp用户并且指定家目录为/var/ftp,这个步骤一般的系统也有。如果创建提示:userftpexists(FTP用户存在)就表示此用户已经存在。

继续下一步

[[email protected]]#chownroot.root/var/ftp//设置/var/ftp,也就是ftp用户的家目录属组和属主都是root,为了安全。这步还是需要的

[[email protected]]#chmodog-w/var/ftp//更改权限,去掉属组和其他人的写权限

上面这写工作做完了。下面就可以便宜了

[[email protected]]#make//编译二进制文件

[[email protected]]#makeinstall//安装,安装的时候可以看到安装的相关文件。

[[email protected]]#cpvsftpd.conf/etc///拷贝配置文件

[[email protected]]#cpRedHat/vsftpd.pam/etc/pam.d/ftp//拷贝PAM安全验证文件此为验证文件所在的目录

[[email protected]]#vi/etc/vsftpd.conf

然后按,跳到行尾。设置pam_server_name=ftp(要与你的PAM文件同名);userlist_enable=YES(用户列表的用户不允许登入服务器)。然后:wq保存退出

[[email protected]]#cpvsftpd.conf.5/usr/local/man/man5

[[email protected]]#cpvsftpd.8/usr/local/man/man8

基本到这里。所有工作就做完了。但是还要说点东西

默认情况下vsftp是以超级守护进程(xinetd)运行的。

启动方式(二种方式)

[[email protected]]#servicexinetdrestart//重启超级守护进程就等于启动了vsftp

另外一个方式,就是独立运行需要修改配置文件

[[email protected]]#vi/etc/vsftpd.conf

然后按,跳到行尾。加上listen=YES.然后:wq保存退出

这样就可以使用下面这条语句启动

[[email protected]]#/usr/local/sbin/vsftpd&//后台启动vsftp

[[email protected]]#echo"/usr/local/sbin/vsftpd&">>/etc/rc.local//追加到启动脚本上

上面两种方式可随意使用。我还对启动脚本做了一些实验(以servicevsftpdstart这种方式启动),最终还是失败了。但是我想说。我努力了。由于本人对shell编程不是很了解。未能写出一个使用的脚本,哎。学!可能还是有办法解决。使用RPM方式安装一个vsftp,然后看看init.d里面的脚本是怎么写的。

下面贴一个别人的关于配置的文章

#匿名用户

anonymous_enable=NO

#anon_mkdir_write_enable=YES

#anon_upload_enable=YES

#本地用户能否登陆

#local_enable=YES

#是否可写

write_enable=YES

#VSFTPD独立运行(用vsftpd/etc/vsftpd.conf&)以及下载速度的限制

listen=YES

max_clients=600

max_per_ip=5

tcp_wrappers=YES

connect_from_port_20=YES

#anon_max_rate=51200(56k)

#local_max_rate=512000(560k)

#如何更改路径

#anon_root=/var/ftp/pub

#local_root=/var/ftp

#如何随意增加一个用户目录

通过useradd-d/path/dir-Mname以及chmod?/path/dir可以达到

#如何对磁盘限额

用quota对/etc/fstab进行限制,然后对特定用户进行限制

补充:

补充一:如何把用户限制在家目录中呢?

我们要自己建一个文件,在/etc目录中

#touch/etc/vsftpd.chroot_list

以beinan这个用户为例

在vsftpd.chroot_list这个文件中,把beinan添上去就行。

然后改/etc/vsftpd/vsftpd.conf文件,找如下的两行

#chroot_list_enable=YES

#chroot_list_file=/etc/vsftpd.chroot_list

把前面的#号去掉,也就是这样的

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

如果没有这样的两行,就可以自己添加上去也是一样的。

设置好后,重新vsFTPD服务器。

补充二:打开vsFTP服务器的日志功能:

把下面xferlog_file前面的#号对掉,也就是把vsftp的log功能打开,这样我们就能在/var/log目录下查看vsftpd.log.这是vsFTP的日志功能,这对于我们来说是极为重要的。

#xferlog_file=/var/log/vsftpd.log

补充三:如何让绑定IP到vsFTP?也就是说,如何让用户只能通过某个IP来访问FTP.其实这个功能很有意思。如果绑定的是内网的IP,外部是没有办法访问的。如果绑定的是对外服务的IP,内网也只能通过对外服务的IP来访问FTP

在/etc/vsftpd/vsftpd.conf中加一行,以我的局域网为例,请看第一帖中的操作环境,这样外网就不能访问我的FTP了,内网也可能通过192.168.0.2来访问FTP

listen_address=192.168.0.2

加完后,要重启vsFTP服务器。