linux下配置FTP服务器步骤.docx
- 文档编号:17986714
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:38
- 大小:27.59KB
linux下配置FTP服务器步骤.docx
《linux下配置FTP服务器步骤.docx》由会员分享,可在线阅读,更多相关《linux下配置FTP服务器步骤.docx(38页珍藏版)》请在冰点文库上搜索。
linux下配置FTP服务器步骤
linux下配置FTP服务器步骤
来源:
作者:
发布时间:
2007-08-07?
(阅读次数:
108)?
查看更多关于:
的文章
前言:
在众多的网络应用中,FTP(FileTransferporotocol)有着非常重要的地位。
在Internet中一个十分重要的资源就是软件资源。
而各种各样的软件资源大多数都是放在FTP服务器中的。
可以说,FTP与WEB服务几乎占据了整个Internet应用的80%以上。
可以根据服务对象的不同分为两类:
一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,AnonymousFTPServer,它使用任何人都可以登录到FTP服务器上去获取文件。
一、选择和安装软件
如果你在安装LINUX系统的时候,在选择启动进程的时候选择了“ftpd”这一项的话,安装完LINUX系统后,它已经将一个默认的FTP服务器安装到系统中去了。
我们已经可以利用它来实现系统FTP服务器的功能了。
我们只需在此基础上根据我们的需要进行一些个性化设定就可以了。
在绝大多数的LINUX发行版本中都选用的是WashingtonUniversityFTP,它是一个着名的FTP服务器软件,一般简称为。
它功能强大,能够很好地运行于众多的UNIX操作系统,例如:
IBMAIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。
所以Internet上的FTP服务器,一大半以上采用了它。
wu-ftp拥有许多强大的功能,很适于吞吐量较大的的管理要求:
bitsCN全力打造网管学习平台
1)可以在用户下载文件的同时对文件做自动的压缩或解压缩操作;
2)可以对不同网络上的机器做不同的存取限制;
3)可以记录文件上载和下载时间;
4)可以显示传输时的相关信息,方便用户及时了解目前的传输动态;
5)可以设置最大连接数,提高了效率,有效地控制了负载。
二、的组成
安装了wu-ftp后,你将在/bin目录下看到以下五个可执行文件:
ftpdFTP服务器程序
ftpshut用于关闭FTP服务器程序
ftpcount显示目前在线人数
ftpwho查看目前FTP服务器的连接情况
ckconfig检查FTP服务器的设置是否正确
除了这些可执行文件以外,它还在/etc和/var目录下生成了七个配置文件:
/etc/ftpusers
/etc/ftpaccess
/etc/ftpconversions
/var/log/xferlog
/etc/ftpgroups
/etc/ftphosts
系统安装了后,会建立一个特殊的用户ftp,并在/home目录下建立了一个ftpd目录,当用户以匿名登录上来时,将会自动定位于这个目录下。
在这个目录下一般会建立几个子目录。
/home/ftpd/bin存放一些供FTP用户使用的可执行文件
/home/ftpd/etc存放一些供FTP用户使用的配置文件
/home/ftpd/pub存放供下载的信息
/home/ftpd/incoming存放供上载信息的空间
三、
就是利用超极服务器inetd来监听请求的。
当超级服务器inetd收到了客户端的
Tags:
以便当超级服务器收到FTP请求的时候,能够派生一个wu-ftp的FTP服务进程。
(注:
要确认是否有这样一行时,可以使用文件内容查找命令来确认:
如果没有,则用手工加入或手工修改。
2.的命令选项
wu-ftpd就是wu-ftp的服务进程。
它可以不带参数执行,也可以带参数执行。
下面简单介绍一下wu-ftpd的执行参数。
-d当FTP服务器出错时,将错误入系统的syslog中;
-l将每次FTP客户端进行连接的入系统的syslog中;
-t设置FTP客户端连接几分钟无操作就切断连接;
-a使wu-ftp使用/etc/ftpaccess的设定;
-A使wu-ftp不使用/etc/ftpaccess的设定;
-L将FTP客户端连线后所执行的程序记录在系统的syslog中;
-o将FTP客户端下载文件的日志记录在/usr/adm/xferlog文件中。
通过对以上参数的理解,我们建议,将上面系统安装时的那条默认配置改为:
3.提供自动压缩、解压缩的功能
如果想让有自动压缩、解压缩的功能,必须先将一些压缩、解压缩的命令文件如tar、gzip、gunzip、compress、uncompress等命令文件拷贝到/home/ftpd/bin目录下。
4.关于/etc/ftpaccess的设置
这个配置文件是FTP服务器上最重要的配置文件,它直接关系到你的FTP服务器能否正常工作,还有许多权限上的设置。
下面是一个典型的配置实例。
loginfails3
classlocalreal*
classremoteanonymousguest*
compressyeslocalremote
taryeslocalremote
privateyes
passwd-checkrfc822warn
logcommandsreal
logtransferanonymousguestinboundoutbound
logtransferrealinbound
deletenoanonymous,guest
overwritenoanonymous,guest
renamenoanonymous
chmodnoanonymous,guest
umasknoanonymous
upload/home/ftpd*no
upload/home/ftpd/binno
upload/home/ftpd/etcno
upload/home/ftpd/pubyesreal0644dirs
upload/home/ftpd/incomingyesrealguestanonymous0644dirs
aliasin/incoming
下面我们逐句进行讲解,并给出每条设置的含义,以便大家触类旁通,以便根据自己FTP服务器的具体情况进行合理的设置。
1.格式:
loginfails[次数]
功能:
设定当用户登录到FTP服务器时,允许用户输错密码的次数。
实例:
loginfails3:
密码输入错误三次就切断连接。
2.格式:
class[类名][real/guest/anonymous][IP地址]
功能:
这个指令的功能设定FTP服务器上用户的类别。
并可对客户端的IP地址进行限制,允许某部分的IP地址或全部的IP地址访问。
而在FTP服务器上的用户基本上可以分为以下三类:
real在该FTP服务器有合法帐号的用户;
guest有记录的匿名用户;
anonymous权限最低的匿名用户
实例:
classlocalreal*:
定义一个名为local的类,它包含了在任何地方登录(*代表所有IP地址)的real用户。
Tags:
bitsCN全力打造网管学习平台
classremoteanonymousguest*:
定义一个名为remote的类,它包含了在任何地方登录的anonymous用户和guest用户。
3.格式:
limit[类别][人数][时间][文件名]
功能:
这个指令的功能为设置指定的时间内指定的类别允许连接的指定人数上限。
当达到人数上限的时候,显示指定文件的内容。
4.格式:
message[文件名称][指令]
功能:
当用户执行所指定的指令时,系统将指定的文件内容显示出来。
5.格式:
compress[yes/no][类别]
功能:
设置哪一个类别的用户可以使用compress(压缩)功能。
实例:
compressyeslocalremote:
允许local和remote两个类别的用户都能使用compress(压缩)功能。
6.格式:
tar[yes/no][类别]
功能:
设置哪一个类别的用户可以使用tar(归档)功能。
实例:
taryeslocalremote:
允许local和remote两类的用户都能使用tar功能。
7.格式:
private[yes/no]
功能:
设定是否支持群组对文件的取用。
实例:
privateyes:
支持群组对文件的取用。
8.格式:
passwd-check[none/trivial/rfc822][enforce/warn]
功能:
设定对匿名用户anonymous的密码使用方式。
none表示不做密码验证,任何密码都可以登录;
trival表示只要输入的密码中含有字符“@”就可以登录;
rfc822表示密码一定要符合RFC822中所规定的E-Mail格式才能登录;
enfore表示输入的密码不符合以上指定的格式就不让登录;
warn表示密码不符合规定时只出现警告信息,仍然能够登录。
实例:
passwd-checkrfc822warn:
希望能够得到符合规定的E-Mail作为密码,但如果不是,也允许登录。
9.格式:
logcommand[real/guest/anonymous]
功能:
设置哪些用户登录后的操作记录在文件/usr/adm/xferlog中。
Tags:
RedHat9-vsftp配置大全
安全与效能兼备的ftp服务器
VSFTP概述
为什么做这样的改变?
可以想见的是vsftp已有独立运作的能力,不需要XINETD来做更进一步的管控,并且类似sendmail、httpd、ssh、samba等,将设定文件的放入/etc下独立的目录。
FTP分为两类,一种为PORTFTP,也就是一般的FTP另一类是PASVFTP,分述如下:
PORTFTP
这是一般形式的FTP,首先会建立控制频道,默认值是port21,也就是跟
port21建立联机,并透过此联机下达指令。
第二,由FTPserver端会建立数据
传输频道,默认值为20,也就是跟port20建立联机,并透过port20作数据的
传输。
PASVFTP
跟PORTFTP类似,首先会建立控制频道,默认值是port21,也就是跟
port21建立联机,并透过此联机下达指令。
第二,会由client端做出数据传输
的请求,包括数据传输port的数字。
这两者的差异为何?
PORTFTP当中的数据传输port是由FTPserver指定,
而PASVFTP的数据传输port是由FTPclient决定。
通常我们使用PASVFTP,
是在有防火墙的环境之下,透过client与server的沟通,决定数据传输的port。
这个范例是套用RedHat的预设范例,直接启动vsftp。
[root@relayvsftpd]#/sbin/servicevsftpdstart
Startingvsftpdforvsftpd:
OK]
为了安全,或是以port来区隔不同的ftp服务,我们可能会将ftpport改为
21之外的port,那么,可参考以下步骤。
新增底下一行
listen_port=2121
Step2.重新启动vsftpd
[root@homevsftpd]#/sbin/servicevsftpdrestart
Shuttingdownvsftpd:
OK]
Startingvsftpdforvsftpd:
OK]
使用者的预设目录为/home/username,若是我们不希望使用者在ftp时能够
切换到上一层目录/home,则可参考以下步骤。
将底下三行
#chroot_list_enable=YES
#(defaultfollows)
改为
chroot_list_enable=YES
#(defaultfollows)
chroot_list_file=/etc/vsftpd/chroot_list
Step2.新增一个档案:
/etc/vsftpd/chroot_list
内容增加两行:
peter
john
Step3.重新启动vsftpd
[root@homevsftpd]#/sbin/servicevsftpdrestart
Shuttingdownvsftpd:
OK]
Startingvsftpdforvsftpd:
OK]
若是peter欲切换到根目录以外的目录,则会出现以下警告:
ftp>cd/home
550Failedtochangedirectory.
若是读者的主机不希望使用者匿名登入,则可参考以下步骤。
将
anonymous_enable=YES
改为
anonymous_enable=NO
Step2.重新启动vsftpd
[root@homevsftpd]#/sbin/servicevsftpdrestart
Shuttingdownvsftpd:
OK]
Startingvsftpdforvsftpd:
OK]
若是我们希望使用者在登入时,能够看到欢迎话语,可能包括对该主机的
说明,或是目录的介绍,可参考以下步骤。
dirmessage_enable=YES
RedHat9的默认值是有上面这行的。
接着,在各目录之中,新增名为.message的档案,再这边假设有一个使用
者test1,且此使用者的根目录下有个目录名为abc,那首先我们在/home/test1
之下新增.message,内容如下:
Hello~Welcometothehomedirectory
Thisisfortestonly...
接着,在/home/test1/abc的目录下新增.message,内容如下:
Welcometoabc'sdirectory
Thisissubdir...
那么,当使用者test1登入时,会看到以下讯息:
230-Hello~Welcometothehomedirectory
230-
230-Thisisfortestonly...
230-
若是切换到abc的目录,则会出现以下讯息:
250-Welcometoabc'sdirectory
250-
250-Thisissubdir...
一般启动vsftp时,我们只会看到一个名为vsftpd的process在运作,但若
是读者希望每一个联机,都能以独立的process来呈现,则可执行以下步骤。
新增底下一行
setproctitle_enable=YES
Step2.重新启动vsftpd
[root@homevsftpd]#/sbin/servicevsftpdrestart
Shuttingdownvsftpd:
OK]
Startingvsftpdforvsftpd:
OK]
使用ps-ef的指令,可以看告不同使用者联机的情形,如下图所示:
[root@homevsftpd]#ps-ef|grepftp
root20901016:
41pts/000:
00:
00vsftpd:
LISTENER
connected
IDLE
connected
IDLE
20pts/000:
00:
00grepftp
[root@homevsftpd]#
.限制传输档案的速度:
本机的使用者最高速度为200KBytes/s,匿名登入
者所能使用的最高速度为50KBytes/s
新增底下两行
anon_max_rate=50000
local_max_rate=200000
Step2.重新启动vsftpd
[root@homevsftpd]#/sbin/servicevsftpdrestart
Shuttingdownvsftpd:
OK]
Startingvsftpdforvsftpd:
OK]
在这边速度的单位为Bytes/s,其中anon_max_rate所限制的是匿名登入的
使用者,而local_max_rate所限制的是本机的使用者。
VSFTPD对于速度的限
制,范围大概在80%到120%之间,也就是我们限制最高速度为100KBytes/s,
但实际的速度可能在80KBytes/s到120KBytes/s之间,当然,若是频宽不足
时,数值会低于此限制。
250KBytes/s,test2所能使用的最高速度为500KBytes/s。
新增底下一行
user_config_dir=/etc/vsftpd/userconf
Step2.新增一个目录:
/etc/vsftpd/userconf
mkdir/etc/vsftpd/userconf
Step3.在/etc/vsftpd/userconf之下新增一个名为test1的档案
内容增加一行:
local_max_rate=250000
Step4.在/etc/vsftpd/userconf之下新增一个名为test2的档案
内容增加一行:
local_max_rate=500000
Step5.重新启动vsftpd
[root@homevsftpd]#/sbin/servicevsftpdrestart
Shuttingdownvsftpd:
OK]
Startingvsftpdforvsftpd:
OK]
port:
21以及ftpdataport:
20
启动VSFTPD之后执行以下两行指令,只允许port21以及port20开放,
其它关闭。
iptables-AINPUT-ptcp-mmultiport--dport21,20-jACCEPT
iptables-AINPUT-ptcp-jREJECT--reject-withtcp-reset
以及ftpdataport:
2020
Step1.执行以下两行指令,只允许port2121以及port2020开放,其它关闭。
iptables-AINPUT-ptcp-mmultiport--dport2121,2020-jACCEPT
iptables-AINPUT-ptcp-jREJECT--reject-withtcp-reset
新增底下两行
listen_port=2121
ftp_data_port=2020
Step3.重新启动vsftpd
[root@homevsftpd]#/sbin/servicevsftpdrestart
Shuttingdownvsftpd:
OK]
Startingvsftpdforvsftpd:
OK]
在这边要注意,8、9两个例子中,ftpclient(如cuteftp)的联机方式不能
够选择passivemode,否则无法建立数据的联机。
也就是读者可以连上ftp
server,但是执行ls、get等等的指令时,便无法运作。
以及ftpdataport从9981到9986。
闭。
iptables-AINPUT-ptcp-mmultiport--dport
2121,9981,9982,9983,9984,9985,9986,9987,9988,9989,9990-jACCEPT
iptables-AINPUT-ptcp-jREJECT--reject-withtcp-reset
新增底下四行
listen_port=2121
pasv_enable=YES
pasv_min_port=9981
pasv_max_port=9986
Step3.重新启动vsftpd
[root@homevsftpd]#/sbin/servicevsftpdrestart
Shuttingdownvsftpd:
OK]
Startingvsftpdforvsftpd:
OK]
在这边要注意,在10这个例子中,ftpclient(如cuteftp)的联机方式必须
选择passivemode,否则无法建立数据的联机。
也就是读者可以连上ftp
server,但是执行ls,get等等的指令时,便无法运作。
可执行以下步骤。
这是简易的防火墙设定。
示:
tcp_wrappers=YES
这是RedHat9的默认值,基本上不需修改。
Step2.重新启动vsftpd
[root@homevsftpd]#/sbin/servicevsftpdrestart
Shuttingdownvsftpd:
OK]
Startingvsftpdforvsftpd:
OK]
线,则可做下图之设定:
ALL:
ALL:
DENY
么读者可以执行以下步骤。
将
listen=YES
改为
listen=NO
内容如下:
servicevsftpd
{
disable=no
socket_type=stream
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 配置 FTP 服务器 步骤