Linux下的文件共享全攻略系列之三:主流FTP服务器Wu-ftpd入门指南

简介:

目前,研究者们开发了许多网络服务和协议来完成资源共享的功能。对于网络用户和管理员来说,他们希望得到免费和高效的服务,而这种需求的最好选择莫过于当前开源的操作系统Linux下的产品了。本专题从多个应用服务层面着重向读者们推荐几种实用的用于资源共享的技术及其软件。


本文是系列的第3篇文章,详细介绍FTP。专题的完整内容,请参见:

Linux下的文件共享服务全攻略 http://os.51cto.com/art/201010/231947.htm

 

 

Wu-ftpd是Internet上最流行的FTP守护程序。Wu-ftpd功能十分强大,可以构建多种类型FTP服务器。Wu-ftpd菜单可以帮助用户轻松地实现对FTP服务器的配置:支持构造安全方式的匿名FTP的访问,可以控制同时访问的用户的数量,限制可以允许访问的IP网段,并可以在一台主机上设置多个虚拟目录。Wu-ftpd有三种注册方式:匿名FTP、实际用户FTP以及guestFTP。匿名FTP使用用户名“anonymous”和一个email类型的口令进行注册。

Wu-ftpd发布较早。在最新版本(2.6.2)里,其已经对最为人担心的系统安全性问题做了完善的修正,因此还是Ftp Server中的主流。下列是Wu-ftpd的一些功能:

  1. 可对不同网域实行不同存取权限和可存取时段。
  2. 用户在下载档案的同时,可自动实行压缩或解压工作。
  3. 可记录FTP Server使用情形。
  4. 可限定最多联机人数,以符合整体运作效能。
  5. 显示相关讯息,让使用者了解接收状态。
  6. 可将FTP Server暂停,便于系统维护。
  7. 支持虚拟FTP主机(Virtual FTP Servers)。

1、安装Wu-ftpd服务器

安装Wu-ftpd有两种方式,一种是安装RPM形式的发布包;另外一种方式是自己动手去编译生成。下面分别介绍这两种安装方式的步骤。

1.RPM包安装方式

该安装包可以在RPMfind上下载得到。以RPM包方式安装非常简单,只要执行下面简单的几个步骤就可以完成:

//将下载得到的rpm包存放在/tmp目录下
#cp wu-ftpd-2.6.2-8.i386.rpm /tmp
//切换目录
#cd /tmp
//进行安装
#rpm -ivh wu-ftpd-2.6.2-8.i386.rpm

2.源代码安装方式

压缩的源代码可以在Wu-ftpd官网处得到。目前网上的最新版本为:wu-ftpd-2.6.2.tar,下面是安装步骤:

//将压缩的源代码拷贝到/usr/src目录下
# cp wu-ftpd.2.6.2.tar.gz /usr/src
//对压缩文档进行解压缩
#tar xvfz wu-ftpd.2.6.2.tar.gz
//切换目录
#cd wu-ftpd-2.6.2
//配置
#./configure
//编译
#make
#make install

2、启动Wu-ftpd服务器

在安装好Wu-ftpd服务器后,就可以用默认配置启动使用该服务器了。通常来说,启动该服务器有两种方式:使用xinetd以及命令行启动。下面首先分别介绍这两种启动方式,然后通过例子说明使用该服务器的过程。

1.xinetd启动方式

使用该启动方式,只要在/etc/xinetd.d目录下配置wu-ftpd文件即可,如下步骤所示:

#vi wu-ftpd //使用vi编辑wu-ftpd文件
//编辑内容如下
# default: on /默认/系统启动时同时启动该服务器
# description: The wu-ftpd FTP server serves FTP connections. It uses \
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.ftpd
server_args = -l -a
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
}
#service xinetd restart //重新启动xientd服务,以使改动生效

2.命令行方式启动

使用命令行启动该服务器非常简单,如下所示命令:

#/usr/sbin/ftpshut //首先关闭该服务
#/usr/sbin/ftprestart //然后重新启动

接下来,我们将通过具体的例子说明Wu-ftpd服务器的使用方法。


 

3、使用Wu-ftpd服务器

本小节通过具体的例子来说明如何使用Wu-ftpd服务器。

(1)使用匿名用户登录服务器

该步骤使用用户名Anonymous进行FTP登录,密码可以随便输入,一般情况下Wu-FTP服务器都会通过,这也是大多数Wu-FTP服务器的默认登录方式。

#ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 aserver FTP server (Version wu-2.6.2) ready.
Name (127.0.0.1:root): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password:
230 Guest login ok, access restrictions apply.

(2)浏览匿名用户登录到服务器的目录

该步骤测试使用匿名用户登录Wu-FTP服务器后的浏览情况,即匿名用户登录后能够看到的FTP服务器资源的视图。在一般情况下,匿名用户只具有非常有限的资源视图,因而级别较低。如果需要提升权限的话,需要针对匿名用户进行配置。

ftp> ls
227 Entering Passive Mode (127,0,0,1,101,144)
150 Opening ASCII mode data connection for directory listing.
total 40
d--x--x--x 2 root root 4096 Jun 13 2002 bin
d--x--x--x 2 root root 4096 Jul 22 2002 etc
drwxrwxrwx 10 14 50 4096 Oct 10 2003 incoming
drwxr-xr-x 2 root root 4096 Jun 13 2002 lib
drwxrwxrwx 2 root 50 4096 Nov 8 2002 pub
226 Transfer complete.
ftp> cd pub
250 CWD command successful.
ftp> ls
227 Entering Passive Mode (127,0,0,1,140,149)
150 Opening ASCII mode data connection for directory listing.
total 18008
-rw-r--r-- 1 root root 9203662 Oct 7 2002 stack.ots.20021006.tgz
226 Transfer complete.

(3)测试建立目录权限,操作失败,匿名用户没有该权限

该步骤进一步测试匿名用户所具有的权限。通过此操作不难看到,在匿名用户建立目录时,服务器返回失败,进一步证明了匿名用户一般情况下只具有读的权限,而不具有写的权限。

ftp> mkdir super
550 super: Permission denied on server. (Upload dirs)
ftp> cd incoming
550 incoming: No such file or directory.
ftp> cd ..
250 CWD command successful.
ftp> ls
227 Entering Passive Mode (127,0,0,1,164,206)
150 Opening ASCII mode data connection for directory listing.
total 40
d--x--x--x 2 root root 4096 Jun 13 2002 bin
d--x--x--x 2 root root 4096 Jul 22 2002 etc
drwxrwxrwx 10 14 50 4096 Oct 10 2003 incoming
drwxr-xr-x 2 root root 4096 Jun 13 2002 lib
drwxrwxrwx 2 root 50 4096 Nov 8 2002 pub
226 Transfer complete.

(4)进入指定目录,准备测试下载文件功能

该步骤测试Wu-FTP服务器的下载文件功能。对于匿名用户来说,最常见的一个功能就是下载文件,从而说明FTP服务器的最大的功效就是文件和资源共享。

ftp> cd incoming
250 CWD command successful.
ftp> dir
227 Entering Passive Mode (127,0,0,1,22,51)
150 Opening ASCII mode data connection for directory listing.
total 112936
-rw-rw-rw- 1 14 50 47104 Aug 26 2002 1.rtf
-rw-rw-rw- 1 14 50 4812 Aug 28 2002 LiveTri.zip
drwxrwxrwx 3 4095 root 4096 Dec 14 2002 RA
-rw-rw-rw- 1 14 50 672 Oct 30 2002 a
-rw-r--r-- 1 root root 38754436 Oct 30 2002 linux-2.4.18.tar.gz
drwxrwxrwx 2 root root 4096 Nov 26 2002 package
drwxrwxrwx 2 4095 root 4096 Jul 29 2002 public_module
-rw-rw-rw- 1 14 50 1968255 Oct 30 2002 rfc2616.pdf
drwxrwxrwx 3 4095 root 4096 Aug 2 2002 sample_log
-rw-r--r-- 1 root root 6506 Jul 28 2002 sendpacket.tar.gz
drwxrwxr-x 11 510 510 4096 Oct 17 2002 stack
-rw-rw-rw- 1 14 50 0 Jul 24 2002 tcpip
drwxrwxrwx 4 4095 root 4096 Aug 23 2002 temp
-rw-rw-rw- 1 14 50 0 Aug 22 2002 test.doc
226 Transfer complete.
 
//如下操作说明下载文件test.doc操作成功
ftp> get test.doc
local: test.doc remote: test.doc
227 Entering Passive Mode (127,0,0,1,7,193)
150 Opening ASCII mode data connection for test.doc (0 bytes).
226 Transfer complete.
 
//通过如下操作浏览下载到本地的文件,发现test.doc已经下载在其中
ftp> !ls
chargen cvspserver daytime-udp echo-udp ntalk qmail-pop3 rexec rsh sgi_fam telnet time wu-ftpd
chargen-udp daytime echo finger pop3 qmail-smtp rlogin rsync talk test.doc time-udp
ftp> put wu-ftpd
local: wu-ftpd remote: wu-ftpd
227 Entering Passive Mode (127,0,0,1,202,89)
150 Opening ASCII mode data connection for wu-ftpd.
226 Transfer complete.
376 bytes sent in 0.00011 secs (3.3e+03 Kbytes/sec)

(5)测试删除权限,操作失败

最后一个步骤来测试匿名用户对于Wu-FTP服务器中共享资源的删除权限状况。实验证明,匿名用户一般不具有删除权限,否则会成为巨大的安全隐患,共享的资源随时都会有被删除的危险,因而需要对该权限实行禁用。

 

221 Thank you for using the FTP service on aserve















本文转自samsunglinuxl51CTO博客,原文链接:http://blog.51cto.com/patterson/412959 ,如需转载请自行联系原作者







相关文章
|
2月前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
3月前
|
JavaScript Linux Python
在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
198 20
|
4月前
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
124 1
|
4月前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
438 1
|
5月前
|
Unix Linux Shell
Linux新手入门手册
在Linux或类Unix系统中,掌握一系列基础命令和快捷键是提升工作效率的关键。这些工具和技巧不仅能帮助用户更高效地管理系统,还能在日常使用中带来极大的便利。以下是对这些基础操作与快捷键的详细解析大全。
102 9
|
6月前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
133 1
|
7月前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
8月前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
109 0
|
26天前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
29天前
|
Unix Linux
linux命令—cd
`cd` 命令是 Linux/Unix 系统中用于切换工作目录的基础命令。支持相对路径与绝对路径,常用选项如 `-L` 和 `-P` 分别处理符号链接的逻辑与物理路径。实际操作中,可通过 `cd ..` 返回上级目录、`cd ~` 回到家目录,或利用 `cd -` 在最近两个目录间快速切换。结合 Tab 补全和 `pwd` 查看当前路径,能显著提升效率。此外,需注意特殊字符路径的正确引用及脚本中绝对路径的优先使用。