热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

在Linux系统下FTP的配置与应用

文章标题:在Linux系统下FTP的配置与应用。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

FTP服务是Internet上的标准服务之一,用来在网络上传输文件。在linux系统中,通常用wu-ftpd来实现该服务(www.wu-ftpd.org)

 

通常,wu-ftpd提供三种ftp登录形式:

 

1anonymous ftp

 

2real ftp

 

3guest ftp

 

anonymous ftp 应用最广泛的一种ftp,通常,用户以anonymous为用户名,以电子邮件地址为密码进行登录。

 

real ftp 就是以真实的用户名和密码进行登录,登录以后,用户可以访问整个目录结构。通常认为,real ftp 能对系统安全构成极大威胁,所以,除非万不得以,应尽量避免使用real ftp

 

guest ftp 也是real ftp 的一种形式,不同之处在于,一个geust登录后,他就不能访问除宿主目录以外的内容。

 

wu-ftpd中,是通过特定的配置文来控制ftp 访问的,主要的配置文件有:

 

/etc/ftpaccess

 

/etc/ftpusers

 

/etc/ftphosts

 

/etc/ftpconversions

 

等等,下面我们就分别来讲讲这些配置文件。

 

ftpaccess是主要的ftp配置文件,在该文件内你可以实现对ftp各方面的控制,由于控制命令名目繁多,我们将以wu-ftpd2.6版本为例分几个部分来讲,相关文档可见wu-ftpd手册。

 

1、访问控制

 

class [...]

 

说明:该命令用于定义用户类,定义用户类的目的是为了方便对服务的控制。其中:

 

为类名,为一字符串;

 

可以以逗号分隔的"anonymous""guest""real"关键字之一,real说明该用户类中的用户可以用真实的账号来访问ftp,anonymous说明该用户类中的用户使用匿名ftp,guest说明该用户类中的用户用guest账号访问ftp

 

定义该用户类源ip地址或域名,可以用以下定义方法:ip地址:子网掩码,或address/cidr。这里也可以指定一个文件,该文件包含了该用户类源ip地址的定义。之前还可以用惊叹号表示除以外的地址类。

 

例子:

 

class anon anonymous *

class mng real 210.221.80.0/24

class user real !domainname.com

 

第一条定义了anon用户类,为匿名用户,可以是来自任何地方。

 

第二条定义了mng用户类,为真实用户,来自210.221.80网段。

 

第三条定义了user用户类,为真实用户,可以是除domainname.com以外的任何地址。

 

我们接着来看ftpaccess的其他配置。

 

deny

 

说明:拒绝源地址符合的访问,同时显示文件的内容。也可以是某一文件,该文件包含了拒绝的ip地址类的定义。可以用 nameserverd来拒绝没有注册域名的客户端请求。

 

如:

 

deny !nameserverd /home/ftp/etc/noname.msg

 

拒绝没有注册域名的客户端请求,并且显示noname.msg的内容。

 

guestgroup [...]

guestuser [...]

realgroup [...]

realuser [...]

 

说明:如果客户端为中的真实用户(real user)则该客户端被当作guest用户处理;如果客户端为真实用户则该客户端也被当作guest用户处理;realgrouprealuser把非匿名连接视为真实用户连接。和也可以用用户id和组id代替。

 

比如:guestuser *

 

realgroup admin

 

表示除了admin组以外的任何非匿名连接视为guest用户连接,admin仍旧视为真实用户连接。

 

nice []

 

说明:如果为中的用户连接的话,则调整ftpd进程的nice值为中指定的值。

 

keepalive

 

说明:是否在会话过程中保持数据通道的激活状态。

 

timeout accept

timeout connect

timeout data

timeout idle

timeout maxidle

timeout RFC931

 

说明:设置各种超时。

 

accept设置ftpd服务等待被动数据通道连接请求的超时。(缺省为120秒)

 

connect设置ftpd服务标准数据通道连接请求的超时。(缺省为120秒)

 

data设置ftpd服务等待客户端在数据通道上多长时间没有动作为超时。(缺省为1200秒)

 

idle 设置ftpd服务等待客户端用户在命令通道上多长时间没有动作为超时。(缺省为900秒)

 

maxidle 设置用户可以在客户端设置的更长的空闲时间的上限。(缺省为10秒)

 

RFC931 设置一个RFC931协议会话的最长时间。为零则取消对该协议的支持。

 

tcpwindows []

 

说明:设置tcp 窗口的大小。一般linux系统缺省值为6。如果网络连接情况较好可以增大该值,否则,应减小之。

 

我们接着来看ftpaccess的其他配置。

 

file-limit [] []

 

说明:用来限制在给定类中的用户可以传输的文件数目。可分为进、出、合计三类。如果没有指定类,则改选项将应用于所有没有传输文件限制的类。可选参数raw用来限制总的流量。

 

byte-limit [] []

 

说明:说明:用来限制在给定类中的用户可以传输的数据流量。可分为进、出、合计三类。如果没有指定类,则改选项将应用于所有没有传输文件限制的类。可选参数raw用来限制总的流量。

 

limit-time {*anonymousguest}

 

说明:用于限制一个ftp会话的总时间。缺省值为无限,真实用户不受限制。

 

guestserver []

 

说明:控制那一部主机用来提供anonymousguest访问。如果没有指定,则拒绝所有anonymousguest访问。

 

limit

 

说明:控制在一定的时间内,可以访问ftp的指定),当达到最大限制数时,显示的内容。

 

格式有些复杂:星期天到星期六分别为SuMoTuWeThFrSa,时间采用军用格式,在小时和分钟间没有冒号,范围用破折号指定。

 

如:

 

limit anon 20 MoTuWe,Th0800-1730 /home/ftp/etc/topmsg

 

表示在星期一、星期二、星期三的全天,星期四的上午八点到下午五点半这段时间内,对anon类的用户登录数目限制为20,达到这一限制时显示topmsg的内容。

 

noretrieve [absolutrelative][class=]...[-]

 

说明:拒绝传送某些文件。你可以指定该文件的绝对路径,也可以只给出文件名。如果只给出文件名,则将拒绝传送所有符合该文件名的文件。

 

如:

 

noretrieve /etc/group passwd anon

 

将拒绝向anon类传送etc目录下的group文件及任何目录下的passwd文件。

 

allow-retrieve [absolutrelative] [class=]...[-]

 

说明:定义允许传送的文件,即使被noretrieve拒绝。

 

loginfails

 

说明:当登录失败的次数达到时,显示"repeated login failures"并终止ftp会话。

 

private

 

说明:是否允许用户利用SITE GROUPSITE GPASS命令进入需要密码的特权用户组中。

 

在这里要引用到/etc/ftpgroups文件,该文件的格式为:

 

access_groupname:encrypted_passard:real_group

 

access_groupname为用来引用特殊组的名字,encrypted_passard是该组的密码, real_group/etc/group中实际被引用的组。

 

2、显示信息控制

 

指当用户连接到ftp或做出某些特定行为(如改变目录)时,向用户显示的特定信息。

 

greeting fullbreifterse

greeting text

 

说明:定义再用户登录前向用户显示的信息。

 

full 向用户显示主机名和ftp服务程序的版本,为缺省设置。

 

breif 只向用户显示主机名。

 

terse 仅仅显示"FTP server ready"

 

text 可以指定你所想显示的任何信息。

 

从安全角度出发,建议用terse.

 

banner

 

说明:在用户键入用户名和密码前向用户显示的信息。

 

为想要显示的文件的完整路径名。

 

如:banner /home/ftp/etc/.banner

 

hostname

 

说明:定义在greeting时,向用户显示的主机名。

 

email

 

说明:定义网络管理员的email地址。

 

message { {...}}

 

说明:当用户登录或更改目录时,向用户显示所定义的文件的内容。

 

var cpro_id = "u6885494";

推荐阅读
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
author-avatar
mobiledu2502925241
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有