Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103717901
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-05-09 23:34:02

作者:Simon  出自:
一般情况下很多人都喜欢在windows下架设,我以前也经常用,但是发现如果不重启的话,机子会变得好慢慢。会经常卡死,于是我下定决心,用Linux架设一个FTP的服务器,今天我就是要说在Linux下用vsftpd来架设匿名服务器,实现匿名用户上传下载,和本地用户上传下载。

如何安装vsftpd我就不说了,因为有些系统在安装的时候已经定制过软件的安装,所以一装完就默认有了。好了。

我们先添加一个用户。名字为nobody。这个用户我想大家都熟悉了。这个是Linux下的匿名用户,用命令:

adduser nobody来添加这个用户,但是系统显示adduser: user nobody exists 证明系统已经有这个用户了。就不需要在加了。另外若ftp服务器需要匿名用户(anonymous)需要加一个用户ftp,vsftp默认的配置还需要一个空的目录(empty),该目录的绝对路径应该是/usr/share/empty/,FTP用户的绝对路径/var/ftp。

下面就到编辑配置文件了。配置文件编辑还是用vi编辑器来编辑。vi /etc/vsftpd/vsftpd.conf,在编辑前记得先备份哦。我的配置文件如下大家可以参考使用:

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
xferlog_enable=YES
ftpd_banner=ftp
ascii_download_enable=YES
chroot_local_user=YES
anon_upload_enable=YES
anon_world_readable_only=NO
anon_mkdir_write_enable=YES
use_localtime=YES

这个代码的详细意思。在我的置顶帖里已经有说明了。大家可以去看看

这个代码包含了匿名和本地用户的上传下载。但是想本地用户登陆还需要一个文件。

在源码目录下有一个RedHat/vsftpd.pam认证文件,把它复制到/etc/pam.d/ftp

复制完以后我们就可以重启FTP服务器了 service vsftpd restart

我们的服务器就这样做完了!

假设有一个本地用户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.

看来情况很好

匿名用户是默认是不可以上传的。但是有个解决的办法。

因为在vsftp中启用了
anon_upload_enable=YES
anon_mkdir_write_enable=YES

选项后用匿名帐号登录系统发现无权上传文件和创建文件夹。

解决方法:
mkdir /var/ftp/upload
chmod 755 /var/ftp/upload
chown ftp:ftp /var/ftp/upload

此时匿名用户就可以上传文件创建文件夹到upload了。

FTP服务器就这样架设完了。
阅读(313) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~