当前位置:首页>网络学院>服务器>Ftp服务器教程>文章内容

用Linux架设FTP服务器(上)(1)

[ 来源:www.it55.com | 作者: | 时间:2007-06-29 | 收藏 | 推荐 ] 【

使用文件传输协议(FTP)来通过网络在计算机之间传输文件是很普遍的一种方法。几乎在所有的平台上面都有FTP 的客户端和服务端的软件,因此用FTP来传送文件也是很方便的一个方法。

http://www.it55.com/

有很多配置FTP服务器的不同方法。其中一种是把FTP配置成只对系统中的用户开放的私有服务器,这也是FTP的默认配置。一个私有的FTP服务器只运行系统中的用户访问,而且可以对用户进行访问控制,这样可以给予或拒绝特定用户的访问权限。 http://www.it55.com/

另一种是把FTP服务器配置成匿名服务器。匿名FTP服务器允许任何人(不管有没有帐号)访问服务器并传输文件。因为可能存在潜在的安全问题,必须小心配置使得只允许访问系统中特定的目录。 在这一节里,我们把FTP配置成“chrooted”的方式,这种配置运行用户访问,例如:Web站点的目录,但是不允许他们访问更高一层的目录。

IT资讯之家 www.it55.com

注意事项

http://www.it55.com/

下面所有的命令都是Unix兼容的命令。

http://www.it55.com/

源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。 www.it55.com在线教程

安装在RedHat Linux 6.1下测试通过。 免费资源www.it55.com

要用“root”用户进行安装。 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

wu-ftp的版本号是2.6.0。 IT资讯之家 www.it55.com

编译和安装

免费资源www.it55.com

把软件包(tar.gz)解压缩: www.it55.com

[root@deep]# cp wu-ftpd-version.tar.gz /var/tmp

[root@deep]# cd /var/tmp

[root@deep]# tar xzpf wu-ftpd-version.tar.gz

www.it55.com在线教程

编译和优化

http://www.it55.com/

转到wu-ftpd的新目录下,运行下面的命令: sflj www.it55.com kg^&fgd

编辑“ftpcount.c”文件(vi +241 src/ftpcount.c),改变下面这一行:

vd;k;l www.it55.com rdfg

#if defined (LINUX) http://www.it55.com/

改为: vd;k;l www.it55.com rdfg

#if defined (LINUX_BUT_NOT_REDHAT_6_0)

www.it55.com在线教程

编辑“pathnames.h.in”文件(vi +42 src/pathnames.h.in),改变下面这一行: it55.com

#define _PATH_EXECPATH "/bin/ftp-exec" 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

改为: sflj www.it55.com kg^&fgd

#define _PATH_EXECPATH "/usr/bin/ftp-exec"

it55.com

我们把“ftp-exec”从“/bin”目录改到“/usr/bin”目录下。 vd;k;l www.it55.com rdfg

先设置编译器的编译参数:

IT资讯之家 www.it55.com

vd;k;l www.it55.com rdfg

CC="egcs"

CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-

pointer -fno-exceptions"

./configure

--prefix=/usr

--sysconfdir=/etc

--localstatedir=/var

--disable-dnsretry

--enable-quota

--enable-pam

--disable-daemon

--disable-newlines

--disable-virtual

--disable-plsm

--disable-pasvip

--disable-anonymous

--enable-ls

--enable-numericuid

IT资讯之家 www.it55.com

这些编译参数告诉编译器如何编译wu-ftpd:

sflj www.it55.com kg^&fgd

不要用失败的DNS查询

it55.com

加入对定额(QUOTA)的支持(如果OS支持)

vd;k;l www.it55.com rdfg

加入对PAM的支持 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

不允许作为单独的daemon运行 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

删除过多的空行 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

不支持虚拟服务器 sflj www.it55.com kg^&fgd

禁止PID加锁睡眠消息(用于繁忙的站点)

IT资讯之家 www.it55.com

被动连接的时候不要求用同样的IP http://www.it55.com/

不允许匿名ftp访问 IT资讯之家 www.it55.com

使用内部的“ls”命令(试验性的) 免费资源www.it55.com

内部的“ls”命令显示UID而不显示用户名(为了提高速度) 免费资源www.it55.com

用下面的命令编译和安装软件:

www.it55.com在线教程

make

make install

install -m 755 util/xferstats /usr/sbin

touch /var/log/xferlog

chmod 600 /var/log/xferlog

cd /usr/sbin

ln -sf in.ftpd /usr/sbin/wu.ftpd

ln -sf in.ftpd /usr/sbin/in.wuftpd

strip /usr/bin/ftpcount

strip /usr/bin/ftpwho

strip /usr/sbin/in.ftpd

strip /usr/sbin/ftpshut

strip /usr/sbin/ckconfig

strip /usr/sbin/ftprestart
45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

上面的“make”和“make install”可以配置软件以保证系统中有编译所需要的函数库,然后把所有的源文件都编译成可执行的二进制文件,最后把二进制文件和配置文件安装到相应的目录里。

vd;k;l www.it55.com rdfg

“install –m”安装“xferstats”程序,用于统计传输了多少文件。“touch”命令为xferstats在“/var/log”目录下创建日志文件。 “chomod”把“xferlog”的权限改为只对超级用户“root”可读和可写。接着,我们为“in.ftpd”二进制文件创建符号链接。最后,用 “strip”命令减小所有二进制文件的大小以提高wu-ftpd的性能。 it55.com

清除不必要的文件

[root@deep]# cd /var/tmp

[root@deep]# rm -rf wu-ftpd-version/ wu-ftpd-version.tar.gz

http://www.it55.com/

“rm”命令删除所有编译和安装wu-ftpd所需要的源程序,并且把wu-ftpd软件的压缩包删除掉。 www.it55.com

免费资源www.it55.com

FTP站点的用户建立没有shell的帐号

首先,创建一个新的用户,这个用户被允许连接到ftp服务器上。因为要有“chroot”的环境,这个帐号不同于正常的用户帐号,不能受访问限制。“chroot”使用户产生这样的感觉好像自己已经在文件系统的最顶层了。
sflj www.it55.com kg^&fgd

第一步 www.it55.com

用下面的命令在“/etc/passwd”文件中创建用户。对于每个允许访问ftp服务器的新用户都要重复这个步骤。

sflj www.it55.com kg^&fgd

[root@deep]# mkdir /home/ftp

[root@deep]# useradd -d /home/ftp/ftpadmin/ -s /dev/null ftpadmin > /dev/null 2>&1

[root@deep]# passwd ftpadmin

(编辑:IT资讯之家 www.it55.com

返回顶部
共3页: 上一页 1 [2] [3] 下一页  

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]

图片文章