注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

chat360的博客

 
 
 

日志

 
 

VSFTP安装笔记  

2008-08-20 21:36:03|  分类: Vsftp |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


最近在linux中经常要上传下载文件,而使用其他服务器上的ftp的时候非常不方便,所以找了台服务器安装,这里选择了比较流行的vsftpd作为服务器端。以下是安装笔记,以便以后查阅。

安装步骤:

1.下载vsftpd(vsftpd-2.0.5.tar.gz )

地址:ChinaUnix下载

2.安装vsftpd

进入安装目录,执行以下命令:

shell>tar xvzf vsftpd-2.0.5.tar.gz

shell>cd vsftpd

编辑builddefs.h文件

shell>vi builddefs.h

文件内容如下:

#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */
将以上undef的都改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL

shell>make

编译之后目录下多了一个可执行文件vsftpd,
shell>ls -la vsftpd

因为vsftp默认需要使用"nobody"这个用户来配置,所以你必须确定你的系统中有这个用户,一般说都会有的,但为了明确起见,执行下述命令
添加nobody用户:

shell>adduser nobody

如果出现adduser: user nobody exists,也不用管

vsftp默认的配置还需要一个空的目录(empty),该目录的绝对路径应该是/usr/share/empty/,另外若ftp 服务器需要匿名用户(anonymous)需要加一个用户ftp,此用户的要求这样:用户目录设为/var/ftp,它是VSFTP的匿名用户的映射本地用户,即指anonymous用户在进程中以ftp用户身分运行进程,但anonymous用户并不继承了ftp用户的文件权限,它只拥有其他组的文件权限。可使用下述的命令完成上面的需求:

shell>mkdir /var/ftp/

shell>useradd -d /var/ftp ftp

如果你的系统已经存在有ftp用户的话,使用下面的命令更改目录属主和用户目录:

shell>chown root.root /var/ftp

shell>chmod og-w /var/ftp

接下来把编译的文件安装到相应目录:
shell>make install

安装之后,在/usr/local/sbin/目录下有vsftpd这个主程序。在/etc/xinetd.d下也有一个vsftpd配置文件,这个文件是由xinetd守护进程启动vsftpd的配置文件。另外你不使用xinetd启动vsftp的话,你应该在/etc/目录下加一个vsftp的配置文件,默认的文件名为/etc/vsftpd.conf,这个文件你可以手动编辑,但在我们的源码目录里已经有一个样本配置文件了,可以直接修改这个文件以满足我们的需求,现在把这个样本配置文件拷贝到这个目录下:

shell>cp vsftpd.conf /etc/

这样在/etc/下有一个配置文件vsftpd.conf了。我们来测试一下VSFTP是否能够正常运行,我们采取使用独立进程而不是xinetd来启动VSFTP,这样要在刚才的文件/etc/vsftpd.conf后面加入一行:

listen=YES

加入之后用下面的命令试试启动VSFTP:

shell>/usr/local/sbin/vsftpd &

接下来测试FTP:
shell>ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.


这样表示FTP服务器运行正常,使用匿名用户ftp登陆成功,也可以使用anonymous代替用户名ftp,一样可以成功登陆。

3.配置vsftpd

1)本地用户可以访问

按照上面的源码安装配置我们的FTP还不能让本地用户登录,因为缺少一个认证PAM文件,在源码目录下有一个RedHat/vsftpd.pam认证文
件,把它复制到/etc/pam.d/ftp。
shell>cp RedHat/vsftpd.pam /etc/pam.d/ftp
测试一下,假设有一个本地用户test,登录FTP:
#ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
这样表示本地帐户登录成功了。


2)配置匿名用户有浏览,读写,创建目录权限的FTP

这种配置的FTP是极度不安全的FTP,但在某些FTP网站上可能希望能匿名用户能上传文件,因此有必要讲解一下。编辑配置VSFTP的配置文件vsftpd.conf,在文件加入下面几行:


anon_world_readable_only=NO //关闭匿名用户只读权限,这个选项控制匿名用户只能下载具有可读权限的文件,绝不允许有其他权限,特别是写权限,因此要使匿名用户有写权限,应该禁止它
anonymous_enable=YES //允许匿名访问,这是匿名服务器必须的
write_enable=YES //全局配置可写
no_anon_password=YES //匿名用户login时不询问口令
anon_umask=077 //匿名用户上传的文件权限是-rw----
anon_upload_enable=YES //允许匿名用户上传文件
anon_mkdir_write_enable=YES //允许匿名用户建立目录
anon_other_write_enable=YES //允许匿名用户具有建立目录,上传之外的权限,如重命名

测试一下,如果可以上传的话表示设置成功!

3)创建本地用户访问

修改vsftpd.conf

shell> vi /etc/vsftpd-loc.conf

将如下三行加入文件


listen=YES
listen_port=21
tcp_wrappers=YES //支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)
listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式),注意事项请参看匿名用户的配置。 anonymous_enable=NO
local_enable=YES //这两项配置说不允许匿名用户登陆,允许本地用户登陆

测试一下,OK就完成了

参考地址:http://chinalinuxpub.com/read.php?wid=797

http://yguangyu.bokee.com/viewdiary.13856605.html

  评论这张
 
阅读(267)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017