用Linux架设FTP服务器(1)
2009-05-13 00:53:51来源:未知 阅读 ()
概述
使用文件传输协议(FTP)来通过网络在计算机之间传输文件是很普遍的一种方法。几乎在所有的平台上面都有FTP的客户端和服务端的软件,因此用FTP来传送文件也是很方便的一个方法。
有很多配置FTP服务器的不同方法。其中一种是把FTP配置成只对系统中的用户开放的私有服务器,这也是FTP的默认配置。一个私有的FTP服务器只运行系统中的用户访问,而且可以对用户进行访问控制,这样可以给予或拒绝特定用户的访问权限。
另一种是把FTP服务器配置成匿名服务器。匿名FTP服务器允许任何人(不管有没有帐号)访问服务器并传输文件。因为可能存在潜在的安全问题,必须小心配置使得只允许访问系统中特定的目录。在这一节里,我们把FTP配置成“chrooted”的方式,这种配置运行用户访问,例如:Web站点的目录,但是不允许他们访问更高一层的目录。
注意事项
下面所有的命令都是Unix兼容的命令。
源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。
安装在RedHatLinux6.1下测试通过。
要用“root”用户进行安装。
wu-ftp的版本号是2.6.0。
编译和安装
把软件包(tar.gz)解压缩:
[root@deep]#cpwu-ftpd-version.tar.gz/var/tmp
[root@deep]#cd/var/tmp
[root@deep]#tarxzpfwu-ftpd-version.tar.gz
编译和优化
转到wu-ftpd的新目录下,运行下面的命令:
编辑“ftpcount.c”文件(vi+241src/ftpcount.c),改变下面这一行:
#ifdefined(LINUX)
改为:
#ifdefined(LINUX_BUT_NOT_REDHAT_6_0)
编辑“pathnames.h.in”文件(vi+42src/pathnames.h.in),改变下面这一行:
#define_PATH_EXECPATH"/bin/ftp-exec"
改为:
#define_PATH_EXECPATH"/usr/bin/ftp-exec"
我们把“ftp-exec”从“/bin”目录改到“/usr/bin”目录下。
先设置编译器的编译参数:
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
这些编译参数告诉编译器如何编译wu-ftpd:
不要用失败的DNS查询
加入对定额(QUOTA)的支持(如果OS支持)
加入对PAM的支持
不允许作为单独的daemon运行
删除过多的空行
不支持虚拟服务器
禁止PID加锁睡眠消息(用于繁忙的站点)
被动连接的时候不要求用同样的IP
不允许匿名ftp访问
使用内部的“ls”命令(试验性的)
内部的“ls”命令显示UID而不显示用户名(为了提高速度)
用下面的命令编译和安装软件:
make
makeinstall
install-m755util/xferstats/usr/sbin
touch/var/log/xferlog
chmod600/var/log/xferlog
cd/usr/sbin
ln-sfin.ftpd/usr/sbin/wu.ftpd
ln-sfin.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
上面的“make”和“makeinstall”可以配置软件以保证系统中有编译所需要的函数库,然后把所有的源文件都编译成可执行的二进制文件,最后把二进制文件和配置文件安装到相应的目录里。
“install–m”安装“xferstats”程序,用于统计传输了多少文件。“touch”命令为xferstats在“/var/log”目录下创建日志文件。“chomod”把“xferlog”的权限改为只对超级用户“root”可读和可写。接着,我们为“in.ftpd”二进制文件创建符号链接。最后,用“strip”命令减小所有二进制文件的大小以提高wu-ftpd的性能。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 文件压缩和打包 2020-06-11
- 厉害了!知道这样重命名文件都是大佬级别! 2020-06-09
- 一个骚命令防止你的文件被误删除! 2020-06-08
- 如何监控 Linux 服务器状态? 2020-06-06
- linux文件权限和群组 2020-06-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash