ftpd文件名叫什么|传输协议FTP的工作原理和使用步骤

Ⅰ 怎样在linux中搭建FTP服务器

FTP服务可以根据服务对象的不同分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,Anonymous FTP Server,它使用任何人都可以登录到FTP服务器上去获取文件。 5.1 选择和安装FTP服务器软件 如果你在安装LINUX系统的时候,在选择启动进程的时候选择了“ftpd”这一项的话,安装完LINUX系统后,它已经将一个默认的FTP服务器安装到系统中去了。我们已经可以利用它来实现系统FTP服务器的功能了。我们只需在此基础上根据我们的需要进行一些个性化设定就可以了。 在绝大多数的LINUX发行版本中都选用的是Washington University FTP,它是一个著名的FTP服务器软件,一般简称为wu-ftp。它功能强大,能够很好地运行于众多的UNIX操作系统,例如:IBM AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP服务器,一大半以上采用了它。 wu-ftp拥有许多强大的功能,很适于吞吐量较大的FTP服务器的管理要求: 1) 可以在用户下载文件的同时对文件做自动的压缩或解压缩操作; 2) 可以对不同网络上的机器做不同的存取限制; 3) 可以记录文件上载和下载时间; 4) 可以显示传输时的相关信息,方便用户及时了解目前的传输动态; 5) 可以设置最大连接数,提高了效率,有效地控制了负载。 5.2 wu-ftp的组成 安装了wu-ftp后,你将在/bin目录下看到以下五个可执行文件: ftpd FTP服务器程序 ftpshut 用于关闭FTP服务器程序 ftpcount 显示目前在线人数 ftpwho 查看目前FTP服务器的连接情况 ckconfig 检查FTP服务器的设置是否正确 除了这些可执行文件以外,它还在/etc和/var目录下生成了七个配置文件: /etc/ftpusers /etc/ftpaccess /var/run/ftp.pids /etc/ftpconversions /var/log/xferlog /etc/ftpgroups /etc/ftphosts 系统安装了wu-ftp后,会建立一个特殊的用户ftp,并在/home目录下建立了一个ftpd目录,当用户以匿名登录上来时,将会自动定位于这个目录下。在这个目录下一般会建立几个子目录。 /home/ftpd/bin:存放一些供FTP用户使用的可执行文件 /home/ftpd/etc:存放一些供FTP用户使用的配置文件 /home/ftpd/pub:存放供下载的信息 /home/ftpd/incoming:存放供上载信息的空间 5.3 wu-ftp的配置 5.3.1 查看、修改/etc/inetd.conf文件 /etc/inetd.conf文件是LINUX系统的超级服务器inetd的配置文件。它负责监听多个TCP/IP端口。当它收到请求,就根据配置文件派生一个相应的服务器。通过使用超级服务器,其他服务就可以只在需要时才派生,从而大大节省了系统资源。 而wu-ftp就是利用超极服务器inetd来监听请求的。当超级服务器inetd收到了客户端的FTP请求时,就根据配置文件打开一个FTP服务进程。所以我们如果要使用wu-ftp,就必须确认在超级服务器inetd的配置文件inetd.conf中有这样一句: ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd 以便当超级服务器收到FTP请求的时候,能够派生一个wu-ftp的FTP服务进程。(注:要确认是否有这样一行时,可以使用文件内容查找命令来确认: cat /etc/inetd.conf | grep ftp 如果没有,则用手工加入或手工修改。 5.3.2 wu-ftpd的命令选项 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中; -I 将FTP客户端上载文件的日志记录在/usr/adm.xferlog文件中; -o 将FTP客户端下载文件的日志记录在/usr/adm/xferlog文件中。 通过对以上参数的理解,我们建议,将上面系统安装时的那条默认配置改为: ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd ?a ?I 5.3.3 提供自动压缩、解压缩的功能 如果想让FTP服务器有自动压缩、解压缩的功能,必须先将一些压缩、解压缩的命令文件如tar、gzip、gunzip、compress、uncompress等命令文件拷贝到/home/ftpd/bin目录下。 5.3.4 关于/etc/ftpaccess的设置 这个配置文件是FTP服务器上最重要的配置文件,它直接关系到你的FTP服务器能否正常工作,还有许多权限上的设置。下面是一个典型的配置实例。 loginfails 3 class local real * class remote anonymous guest * limit remote 100 Any /etc/ftpd/toomany. msgmessage /etc/ftpd/welcome.msg login compress yes local remote tar yes local remote private yes passwd-check rfc822 warn log commands real log transfer anonymous guest inbound outbound log transfer real inbound shutdown /etc/ftpd/shut.msg delete no anonymous,guest overwrite no anonymous,guest rename no anonymous chmod no anonymous,guest umask no anonymous upload /home/ftpd * no upload /home/ftpd /bin no upload /home/ftpd /etc no upload /home/ftpd /pub yes real 0644 dirs upload /home/ftpd /incoming yes real guest anonymous 0644 dirs alias in /incoming email [email protected] email [email protected] deny *.com.tw /etc/ftpd/deny.msg 下面我们逐句进行讲解,并给出每条设置的含义,以便大家触类旁通,以便根据自己FTP服务器的具体情况进行合理的设置。 1. 格式:loginfails [次数] 功能:设定当用户登录到FTP服务器时,允许用户输错密码的次数。 实例:loginfails 3:密码输入错误三次就切断连接。 2. 格式:class [类名] [real/guest/anonymous] [IP地址] 功能:这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP地址进行限制,允许某部分的IP地址或全部的IP地址访问。而在FTP服务器上的用户基本上可以分为以下三类: real 在该FTP服务器有合法帐号的用户; guest 有记录的匿名用户; anonymous 权限最低的匿名用户 实例:class local real *:定义一个名为local的类,它包含了在任何地方登录(*代表所有IP地址)的real用户。 class remote anonymous guest *:定义一个名为remote的类,它包含了在任何地方登录的anonymous用户和guest用户。 3. 格式:limit [类别] [人数] [时间] [文件名] 功能:这个指令的功能为设置指定的时间内指定的类别允许连接的指定人数上限。当达到人数上限的时候,显示指定文件的内容。 实例:limit remote 100 Any /etc/ftpd/toomany.msg:在任何时间内,remote类的访问用户达到100人时,将不再允许无法产生新的连接,当第101位客户要连接时,连接将失败,并象用户出示文件/etc/ftpd/toomany.msg的内容。 4. 格式:message [文件名称] [指令] 功能:当用户执行所指定的指令时,系统将指定的文件内容显示出来。 实例:message /etc/ftpd/welcome.msg login:当用户执行login命令时,也就是登录到FTP服务器上的时候,系统将显示文件/etc/ftpd/welcome.msg的内容。 5. 格式:compress [yes/no] [类别] 功能:设置哪一个类别的用户可以使用compress(压缩)功能。 实例:compress yes local remote:允许local和remote两个类别的用户都能使用compress(压缩)功能。 6. 格式:tar [yes/no] [类别] 功能:设置哪一个类别的用户可以使用tar(归档)功能。 实例:tar yes local remote:允许local和remote两类的用户都能使用tar功能。 7. 格式:private [yes/no] 功能:设定是否支持群组对文件的取用。 实例:private yes:支持群组对文件的取用。 8. 格式:passwd-check [none/trivial/rfc822] [enforce/warn] 功能:设定对匿名用户anonymous的密码使用方式。 none 表示不做密码验证,任何密码都可以登录; trival 表示只要输入的密码中含有字符“@”就可以登录; rfc822 表示密码一定要符合RFC822中所规定的E-Mail格式才能登录; enfore 表示输入的密码不符合以上指定的格式就不让登录; warn 表示密码不符合规定时只出现警告信息,仍然能够登录。 实例:passwd-check rfc822 warn:希望能够得到符合规定的E-Mail作为密码,但如果不是,也允许登录。 9. 格式:log command [real/guest/anonymous] 功能:设置哪些用户登录后的操作记录在文件/usr/adm/xferlog中。 实例:log command real:当real用户登录后,将他的操作记录下来。由于其它用户权限较低,所以操作不会引起太大的安全隐患,所以一般只需记下real用户的操作就可以了。 10. 格式:log transfers [real/guest/anonymous] [inbound/outbound] 功能:设置哪些用户的上载(inbound)和下载(outbound)操作做日志。 实例:log transfer anonymous guest inbound outbound:对于匿名用户要更加的关注它们的文件操作,所以无论上载、下载都进行记录。 log transfer real inbound:对于合法用户则只记录他的上载记录。 11. 格式:shutdown [文件名] 功能:FTP服务器关闭的时间可以设置在后面所指定的文件中,当设置的时间一到,便无法登录FTP服务器了,要恢复的话只有将这个文件删掉。而这个文件必须由指令/bin/ftpshut来生成。 实例:shutdown /etc/ftpd/shut.msg 12. 格式:delete [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用delete命令删除文件。默认是允许。 实例:delete no anonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行delete命令。 13. 格式:overwrite [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户覆盖同名文件。默认是允许。 实例:overwrite no anonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户覆盖同名文件。 14. 格式:rename [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用rename命令来为文件改名。默认是允许。 实例:delete no anonymous:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行rename命令改变文件名。而对有记录的匿名用户则适当的放宽,允许他们使用改名命令。 15. 格式:chmod [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用chmod命令更改文件权限。默认是允许。 实例:delete no anonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行chmod命令更改文件权限。 16. 格式:umask [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用umask命令。默认是允许。 实例:delete no anonymous:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行umask命令。 17. 格式:upload [根目录] [上载目录] [yes/no] [用户] [权限] [dirs/nodirs] 功能:对可以上载的目录进行更加详细的设置。 实例:upload /home/ftpd * no:表示在子目录/home/ftpd下不允许上载;upload /home/ftpd /bin no:表示在子目录/home/ftpd/bin下不允许上载;upload /home/ftpd /etc no:表示在子目录/home/ftpd/etc下不允许上载;upload /home/ftpd /pub yes real 0644 dirs:允许用服务器上的合法用户在子目录/home/ftpd/pub目录下能上载权限为0644(也就是-rw-r–r–)的文件,而且在这个目录下可以新建子目录。 upload /home/ftpd /incoming yes real guest anonymous 0644 dirs:允许所有的用户在子目录/home/ftpd/incoming下能上载权限为0644的文件,而且在这个目录下可以新建子目录。 18. 格式:alias [目录别名] [目录名] 功能:给指定目录设置一个别名,在切换目录时就可以使用较短的目录别名。 实例:alias inc: /incoming:为子目录incoming设置一个别名inc:。 19. 格式:email [guest的E-Mail地址] 功能:只要将某些E-Mail地址设置在这个地方,那么这些用户登录到FTP服务器时,他的身份将为guest,一般权限比real低一些,比anonymous高。 实例:email gue[email protected] email [email protected]:这里仅是一个示例,实际上可以包含多个符合规范的E-Mail地址。 20. 格式:deny [IP地址/域名] [说明文件] 功能:这个设置可以限制哪一些IP地址或域名的用户无法登入FTP服务器。 实例:deny *.com.tw /etc/ftpd/deny.msg:设置凡是域名是以“.com.tw”结束的域名,都禁止其访问。而将/etc/ftpd/deny.msg的内容显示给用户看。 5.3.5 设置/etc/ftpuser,禁止某些用户登录 有时我们需要禁止一些用户使用FTP服务。其实这个设置是十分简单的,只需要将要禁止的用户帐号写入文件/etc/ftpuser中。由于从系统的安全考虑,一般我们是不希望权限过大的用户和一些与命令名相同的用户进入FTP服务器。所以在缺省的配置中,一般以下用户已经被列入了“黑名单”。 root uucp news bin adm nobody lp sync shutdown halt mail 5.3.6 设置/etc/ftphosts,禁止某些来自指定机器上的登录 如果你需要拒绝来自某些主机的登录,一种方法就是在/etc/ftpaccess中设置deny命令,另一种更加简单的方法就是在/etc/ftphosts中写入你要禁止的主机的IP地址或域名。 5.3.7 使新的配置生效 到此为止,我们已经能够根据自己的需要对FTP服务器配置进行必要的修改和调整。而让我们重新配置后,就必须使其生效。一般的,对/etc/ftpaccess的配置是直接作用于设置后的下一次FTP服务进程。而其它的则要对inetd进程重新启动。 5.4 wu-ftp相关的其他一些命令的使用 5.4.1 连接数统计命令ftpcount 我们可以使用ftpcount命令十分清楚地统计出当前连接到FTP服务器上的用户数目,并且同时列出上限。命令输出如下所示: Service class local 0 Users(20maximum) Service class remote 5 Users(100maximum) 5.4.2 在线用户查看命令ftpwho 我们可以使用ftpwho命令十分清楚地列出当前连接的用户的详细情况。 5.4.2 FTP关闭文件生成命令ftpshut 我们可以使用ftpshut命令生成一个在/etc/ftpaccess中设置的shut.msg文件,用于关机设定。ftpshut命令的格式为: Ftpshut <-l min> <-d min> time <说明> -l 这个参数设定在关闭FTP服务器功能前多少分钟时停止用户的连接; -d 这个参数设定在关闭FTP服务器功能前多少分钟时切断用户连接; time 指定关闭FTP服务器的时间。例如6:20分则写为0620;

Ⅱ 怎么样在Redhat Linux 下配置FTP,Web,MySql服务(要具体的,最好完整的)

1,Linux下架FTP!!Linux下一般最常用的工具wu-ftpd.wu-ftpd的安装非常容易,大多数版本的Linux中都包含了wu-ftpd的rpm软件包,你可以在安装Linux时指定装入。如果你想自行编译源代码,也可以到ftp://ftp.wu-ftpd.org下载最新版本的源代码包。 安装好以后,可以用ckconfig命令来检查是否已经正确安装。在/etc/passwd中可以指定ftp用户的登入目录。 wu-ftpd主要有以下6个配置文件: ftpaccess(主要配置文件,控制存取权限) ftpconvertions(配置文件压缩/解压缩转换) ftpgroups(设定ftp自己定义的群组) ftphosts(设定个别的用户权限) ftpservers(设定不同IP/Domain Name以对应到不同的虚拟主机) ftpusers(设定哪些帐号不能用ftp连线) 下面我们来一一介绍。 ⒈/etc/ftpaccess(wu-ftpd的主要配置文件) class–定义群组,用法如下: class<种类>;<用户地址>;[<用户地址>;……] 由class定义的群组用户才可以连线进来,可以使用多层式的class来规范哪些群组的用户能够从哪些地方上来。这里有三个重要的种类,real、anonymous个guest。real如果没有列在定义中,那么这台机器中任何真实的一般用户都无法用自己的帐号连上来。anonymous如果没有在定义,就表示不让没有帐号的的人连上来。如果有定义guest,那么guest群组的人就可以上来。另外<用户地址>;是指ftp上来的用户会用到的IP地址,则可自行设定。以下是一些例子: class all real,guest,anonymous * 定义了一个名为all的class,包含三种人,所有IP的连线用户(也就是所有人都包括了) class local real localhost loopback local这个class说,只有real的用户可以从本机机器连上来 class remote guest,anonymous * remote这个class包含了从任何地方上来的guest和anonymous用户,但是real用户不算 class rmtuser real !*.example.com rmtuser这个class包含了从外面来的(除了example.com)真实用户 autogroup–自动对应群组,用法如下: autogroup[……] 当你定义好的那些同属于一个class的用户,一旦连线上来就会被对应到一个相应的群组下面,这样你就可以用Unix的文件权限对某一群人做限制。 deny–拒绝某些地址连线,用法如下: deny<拒绝连线的地址>;<信息文件>; 禁止某些机器连线,并显示<信息文件>;。例如: deny 210.62.146.*:255.255.255.254 /etc/reject.msg guestgroup–设定访客群 guestuser–设定访客帐号 realgroup–设定真实群组 realuser–设定真实帐号 nice–设定给某些class多少优先权,用法如下: nice 在Linux中,nice的值是-20(最优先)到19(最后处理),这里你可以指定负的值来提高某class的优先顺序。 defumask–设定某class的umask,用法如下: defumask[] umask是建立文件时该文件的的权限掩码 tcpwindow–设定tcpwindow的大小 keepalive–设定是否使用TCP SO_KEEPALIVE来控制断线情形 timeout–设定连线超时,用法如下: timeout accept<秒>; 接受连线超时,预设120秒 timeout connect<秒>; 连线建立超时,预设120秒 timeout data<秒>; 数据传送超时,预设1200秒 timeout idle<秒>; 用户发呆超时,预设900秒 file-limit–限制某class只能传几个文件,用法如下: file-limit[][] 对某个class限制存取文件的数目,包含了in(上传)、out(下载),total raw代表整个传输的结果,不光是数据文件。例如: file-limit out 20 lvfour 限制lvfour这个class的用户最多只能下载20个文件 byte-limit–限制某class只能传几个字节,用法跟file-limit相似 limit-time–限制一个连线只能持续多久,用法如下: limit-time{*|anonymous|guest}<分钟>; 为了避免有人挂在站上不下来,可以用这个方法限制用户的上线时间,例如: limit-time guest 5 让guest帐号的用户只能用5分钟 limit–限制某class能同时几人上线,用法如下: limit<连线数目>;<时间区段>;<额满信息文件>; 设定某个class在某一时间区段内最多能够几人同时上线,后面是当超过连线数目时要显示的信息。例如: limit all 32 Any /home/ftp/etc/toomanyuser.msg 限制所有连线在任何时间只能有32个用户,超过则拒绝连线并显示信息 limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg 限制levellone这个class的用户在23:00到6:00这段时间内只能有5人连线 noretrieve–设定哪些文件不可下载 noretrieve[absolute/relative][class=]…[-][<文件名>;…] absolute或relative指文件是用绝对路径还是相对路径 allow=retrieve–设定哪些文件可以下载 allow[absolute/relative][class=]…[-][<文件名>;…] loginfails–设置登入错误可尝试的次数 当用户连线时可能打错ID或密码,这个设定可以让他打错几次以后就断线,避免有人用穷举法猜测密码。 private–设定线上是否可以执行SITE GROUP/SITE GPASS 当开放SITE GROUP与SITE GPASS指令时,可以用这两个指令切换到/etc/ftpgroup的群组。一般而言我们不会用到这个功能,以避免安全漏洞。 greeting–显示Server的版本信息,用法如下: greeting 当用户登入画面显示的server信息,full是预设值,包含版本号以及hostname,brief只有hostname,而terse只有“FTP server ready”的信息。 barnner–设定未进入Login画面之前用户看到的信息,用法如下: banner<文件路径>; 这里叙述了在用户登入时,在还没打ID/Password之前要出现的信息。文件路径指的是相对于真实的路径,而不是相对于ftp的根目录。 host–设定ftp主机名 email–指定ftp管理者的email地址 message–信息文件的设定,用法如下: message<文件>;{<何时>;{……}} 这里的文件的路径是相对于ftp的根目录的,“何时”是指当你做了什么动作之后的反应,有几个选择: login(登入时) cwd=<目录>;(进入某目录时) class 名称是前面已经定义过的,允许你的信息只对哪些人发出。 而信息文件的内容除了文字以外,还可以使用以下一些事先定义好的代号: %T(本机时间) %F(目前分区所剩余的空间) %C(目前所在的目录) %E(管理者的E-mail) %R(客户端主机名称) %L(本机主机名称) %U(用户名称) %M(与我相同class用户允许多少人连线) %N(与我相同class用户目前有多少人连线) %B(绝对磁盘限制大小,目前分区(单位blocks)) %b(preferred磁盘限制大小,目前分区(单位blocks)) %Q(目前已使用的blocks) %I(最大可使用的inodes(+1)) %i(Preferred inodes限制) %q(目前使用的indoes) %H(超量使用磁盘空间的时间限制) %h(超量使用文件数目的时间限制) readme–通知用户哪些README文件已经更新 log commands–记录用户所使用过的命令,用法如下: log commands<用户种类>; log transfers–记录用户所传输的文件,用法如下: log transfers<用户种类>;<传输方向>; 设定有哪些类型的用户传输文件需要记录,包含了inbound(用户上传)和outbound(用户下载),例如: log transfers anonymous,guest inbound,outbound log security–记录安全性,用法如下: log security<用户种类>; 特别用于记录某类用户关于noretrive、notar等有关安全性的记录 log syslog–记录到系统的syslog文件 alias–设定目录别名,用法如下: alias<别名字符串>;<目录>; cdpath–设定cd更换目录搜索顺序 compress,tar–设定是否自动压缩,用法如下: compress[……] tar[……] 定义哪些人可以执行压缩以及tar shutdown–通知用户要关站了 shutdown<信息文件>; 如果信息文件存在的话,当这个文件指定的某时间以后,就会拒绝连线并切断已有的连线,等时间一到就关机。这个信息文件的格式如下: <年>;<月>;<日>;<时>;<分>;<拒绝倒数>;<断线倒数>;<文字>; daemon address–指定只监听某个IP地址,用法如下: daemon address 当你有许多IP的时候,使用这个选项将会取消其它任何虚拟FTP主机的设定。不设定的话,监听所有IP。 virtual–设定虚拟FTP站台 wu-ftpd提供了虚拟主机的功能,也就是说,在同一台机器上提供了不同FTP站台,以主机名称或IP来区分;当然你要用名称的话,还需要跟DNS配合才行。virtual有很多个设定: virtual <路径>; 可以是主机名或IP地址 root指的是ftp的根目录,banner是欢迎信息,logfile指的是这个虚拟站台的log文件 以下是一些例子: virtual virtual.com.bj root /home/ftp2 virtual virtual.com.bj banner /etc/vftpbanner.2 virtual virtual.com.bj logfile /etc/viftplog.2 virtual <字母>; 用户可以查到hostname跟管理者email,以下是一些例子: virtual 210.62.146.50 hostname virtual.site.com.bj virtual vritual.site.com.bj email [email protected] virtual allow<用户>;[<用户>;……] virtual deny<用户>;[<用户>;……] 很明显,以上两个选项是设定是否允许连线的,以下是一些例子: virtual virtual.site.com.bj allow * virtual virtual.site.com.bj deny badman virtual private 本虚拟站台拒绝anonymous用户 defaultserver deny <用户>;[<用户>;……] defaultserver allow <用户>;[<用户>;……] 当我们使用了虚拟主机,原先的deny,allow设定不知道要设哪个server,所以会无效,用defaultserver代表原来的主机 defaultserver private 主站台拒绝anonymous用户 passive address–转换IP数值 passive address<外部IP>;/cidr passive ports–passive的ports范围 passive ports pasv-allow–允许使用pasv pasv-allow[<地址>;……] port-allow–允许使用port port-allow[<地址>;……] mailserver–指定Upload通知的mail服务器 incmail–指定anonymous upload的email通知地址 virtual incmail–指定虚拟主机anonymous upload的email通知地址 defaultserver incmail–指定预设主机anonymous upload的email通知地址 mailfrom–通知的寄信人upload virtual mailfrom–虚拟主机upload通知的寄信人 defaultserver mailfrom–预设主机upload通知的寄信人 chmod–设定是否可以改变文件权限 delete–设定是否可以删除文件 overwrite–覆盖文件 rename–重命名文件 umask–允许设定umask passwd-check–设定anonymous FTP的密码检查程度,用法如下: passwd-check() 设定对anonymous ftp用户的密码是否检查,none表示不检查,trivial为包含@的任意密码,rfc822则表示密码要遵循RFC822格式,enforce表示密码检查不过不允许进入,warn表示密码检查不过只出现警告信息。 deny=email–拒绝特定的email当密码 path-filer–摄定哪些文件名不可使用 path-filer<错误信息文件>;<允许字符>;<不允许字符>; upload–设定upload权限 upload[absloute/relative][class=]…[-]<设定的目录>; >;[dirs/nodirs][d_mode] 用来对我们要设定的目录做权限设定: absoulte/relative使用绝对路径或是相对路径 class=指定某个class root-dir指的是对哪些root-dir的人,也就是chroot后的登入目录,应用这个规则 设定的目录指的就是我们要限制的目录 yes/no指得是能否在此目录下开新文件 owner,group指出是开出来的文件拥有者及群组 Mode指的是文件权限 dirs/nodirs指的是能否开新目录 d_mode设定建立新目录时目录的权限,如果不设定会根据mode来设定 thoughput–控制下载速度 thoughput<子目录列表>;<文件>;<远端地址列表>; 对远端的地址,控制他抓某个子目录下的某些文件时的速度,例如: thoughput /e/ftp * * oo – * thoughput /e/ftp /sw* * 1024 0.5 * thoughput /e/ftp sw* readme oo – * thoughput /e/ftp sw* * oo – *.foo.com 以上的设定你是否能够看出来呢?“oo”表示不限制bytes/sec,“-”或是“1.0”都是代表一倍。第一行的意思是说,在/e/ftp下面的文件不限制下载速度;第二行说,在/sw*下面的任何文件限速为1024bytes/sec* 0.5=512bytes/sec;第三行又把readme文件的限速取消;最后一行则对*.foo.com开放全速。 anonymous-root–对某class设定匿名用户的根目录 anonymous-root[] guest-root–预设一个guest用户根目录 guest-root[] 其中用于指定uid的范围 deny-uid,deny-gid–拒绝某段UID(GID)范围 allow-uid,allow-gid–允许某段UID(GID)范围 restricted-uid,restricted-gid–限制用户不能离开他的登录目录 unrestricted-uid,unrestricted-gid–用户可以离开他的登录目录 dns refuse_mismatch–设定DNS查到名称与用户设定不符的动作 dns refuse_mismatch<信息文件>;[override] 当用户使用未注册IP时,拒绝他的连线,override则是不理会错误而让他连线,信息文件则是我们要给用户看的。 dns refuse_no_reverse–设定无反查记录拒绝连线 dns refuse_no_reverse<信息文件>;[override] 当用户的IP反查无记录时,拒绝他的连线 dns resolveoptions–设定DNS解析选项 dns resolveoptions[options] 这里可以设定DNS解析选项 ⒉/etc/ftphosts ftphosts文件其实跟ftpaccess里面的access,deny很像,它是特别用来设定某些ID的连线,它没有class定义,所以必须是真实用户。 allow|deny<用户>;<地址>;[<地址>;……] 以下是一些例子: allow rose 140.0.0/8 deny jack 140.123.0.0:255.255.0.0 允许rose从140.*.*.*进来,拒绝jack从140.123.*.*上来 ⒊/etc/ftpservers 这个文件控制了当你有不同的IP/hostname的时候,进来的连线使用哪一个配置文件。例如: 10.196.145.10 /etc/ftpd/ftpaccess.somedomain/ 10.196.145.200 /etc/ftpd/ftpaccess.someotherdomain/ some.domain internal 10.196.145.20 /etc/ftpd/config/faqs.org/ ftp.some.domain /etc/ftpd/config/faqs.org/ ⒋/etc/ftpusers 在这个文件里记录的用户禁止使用FTP ⒌/etc/ftpgroups 给SITE GROUP指令使用,线上切换group。SITE EXEC容易造成安全漏洞,一般我们都不开放。 ⒍/etc/ftpconversions 用来做tar、compress、gzip等动作指令配置文件,只要用预设即可,如果你不开放即时压缩打包,也可以把内容清除。2,Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼 Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼。而在国内,Linux的应用也是方兴未艾,众多公司已经投入到Linux系统的研发和推广工作中。一些优秀的Linux操作系统相继出现,比如红旗Linux等。但是我国的Linux应用水平还很低,熟悉Linux的人员严重缺乏,Linux专业人才的缺乏已成为Linux在国内应用和普及的瓶颈问题。据《开放系统世界》2003年第八期介绍,中国五年内Linux人才需求量将会超过120万。而“1+1+1”工程的实施,也是间接地告诉我们这个问题的严重性。如此大好时机,我们干吗还愣着不动呢!如果你是一位Linux爱好者,你可能已经掌握了基本的Linux的知识与操作,毫无疑问,你并不会去满足这样小小的成就。Linux为何如此的流行?其最大的特点莫过于功能强大,性能稳定的服务器应用了。像WWW,MAIL,FTP,DNS和SMB等。在这篇文章中,我将以Redhat Linux 9为蓝本,从Web服务器的一些最基本的操作入手,从初学者使用的态度,让读者正确充分的认识Apache。好,现在就让我们一起踏上征服Apache的自由之路吧。 Apache的主要特征是: . 可以运行上所有计算机平台; . 支持最新的HTTP 1.1协议; . 简单而强有力的基于文件的配置; . 支持通用网关接口CGI; . 支持虚拟主机; . 支持HTTP认证; . 集成Perl脚本编程语言; . 集成的代理服务器; . 具有可定制的服务器日志; . 支持服务器端包含命令(SSI) . 支持安全Socket层(SSL) . 用户会话过程的跟踪能力; . 支持FastCGI; . 支持Java Servlets。 安装Apache 下面我们就开始漫漫征服Apache之旅,通过循序渐进的需求实例,一步步地学习使用Apache,从入门到精通。 系统需求 运行Apache不需要太多的计算资源。它在有6-10MB硬盘空间和8MB RAM的Linux系统上运行得很好。然而,只运行Apache可能不是你想做的事情。更可能的是,你想运行Apache来提供WWW服务、启动CGI进程以及充分利用所有WWW能够提供的令人惊奇的功能。在这种情况下,你需要提供反映负载要求的额外的磁盘空间和内存空间。也就是说,如果仅仅是启动WWW服务并不需要太多的系统资源,但是想要能为大量的客户提供服务就需要更多的系统资源。 获取软件 你可以在http://www.apache.org中获得Apache的最新版。而几乎所有的Linux发行版中均包含有Apache软件包,你也可以直接使用它。 需要注意的是,Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是可执行文件,下载后只需解压就可以使用。 安装软件 你可以通过以下三种方法安装Apache服务器。 1.如果你安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。 2.使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。 下载软件包apache_1.2.4.e.tar.gz tar xvzf apache_1.2.4.e.tar.gz 这就完成了安装工作,简单吧! 如果你使用的是RedHat Linux的话,你也可以下载apache_1.2.4.rpm软件安装包,然后使用rpm -ivh apache_1.2.4.rpm命令安装。 3.如果你想把Apache服务器充分利用起来的话,就一定要自己编译Apache定制其功能。 下载包含Apache源代码的软件包apache_1.2.4.tar.gz; 然后用tar命令将它解开; 将当前目录改变为Apache源代码发行版的src目录; 将配置样本文件(Configuration.tmpl)复制为Configuration文件; 编辑Configuration文件中的配置选项: Makefile配置选项:一些编译选项: . "CC="一行指定用什么编译软件编译,一般为"CC=gcc"; . 如果需要将额外的标志(参数)指定给C编译软件,可以使用: EXTRA_CFLAGS= EXTRA_LFLAGS= . 如果系统需要特殊的库和包含文件,可以在这里指定它们: EXTRA_LIBS= EXTRA_INCLUDES= . 如果你要改变代码优化设置的话,你须将下面一句去掉注释,然 后改成你所需要的值: #OPTIM=-O2 Rule配置选项:用来决定需要什么功能,一般情况下无需改变。 模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示: AddMole moles/standard/mod_env.o 如果你需要Apache服务器具备什么功能,就将那个模块用AddMole语句加到配置文件Configuration中去。 3,一、 MYSQL的基本概念1、MYSQL的定义MYSQL一种多用户、多任务的数据库服务器软件2、MYSQL的特点支持多平台,没有内存漏洞,分布式处理支持JAVA、PHP、PERL、支持数据类型支持ODBC,支持SQL查询二、 安装MYSQL的服务器1、 RPM方式MYSQL#RPM –ivh MYSQL-3。23-3.i386.rpm#RPM –ivh MYSQL-client-3.23-33.i386.rpm#RPM-ivh MYSQL-Shared.3.23-33.i386.rpm#Tpm -ivh MYSQL –server.3.23-33.i386.rpm2.编译安装方式#tar -xvzf mysql 3.23.tar.gz# cd mysql-3.23#/configure –prdfix=/usr/local#make#malke install# cd/usr/local/bin/#/mysql-install-db 初始数据库系统。系统库作用:记录服务器的设置参数,存放用户库信息安全选项#safe-mysqld

Ⅲ 如何修改linux系统banner信息

Linux下登录提示是记录在/etc/issue和/etc/motd中,这两者的区别是,前者是在用户登录前就显示,而后者则是在用户登录后显示。我们当然需要更改/etc/issue中的内容。而Linux在重新启动过程中会执行一系列脚本,使更改的Banner恢复脚本定议的内容,用户可以用#注释掉相关脚本,用户也可以在rc.local脚本中添加内容,这样就可以在启动过程中执行。在Arch上rc.local位于/etc/rc.local,而在Slackware中,其位于/etc/rc.d/rc.local。

知道了以上的信息后就不难办了。使用管理员权限修改rc.local文件的内容如下所示:

#!/bin/bash

ipaddr=$(ifconfig | sed -ne 's/ *inet

addr:([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}) *B.*/1/p')

echo $'x1bx5bx48x1bx5bx32x4ax0a''Arch

Linux ['$ipaddr'] (
) (l)' > /etc/issue

以上需要说明的是第二行,是通过正则获取ifconfig命令输出的ip地址,最后一行是输出信息到issue文件。

最后一行中前边的字符串是用来清除终端显示的,而issue文件中转义字符也有不同的含义,可以通过man

agetty 8来获取所有转义字符的含义。

一,ftp服务Linux

Banner修改法:

wu-ftp修改

用十六进制文本编辑器修改/usr/sbin/in.ftpd文件,找到如下几行:

/var/log/lastlog

Could

not write %.100s:%.100s

Version wu-2.6.1-16

改成:

Microsoft FTP

Service(Version.6.0)

或者:

Serv-U FTP Server v6.4 for WinSock ready…

通过上面的方法将自己的WU-FTP修改成SERV-U或IIS自带的FTP,从而达到迷惑黑客的目的。

vsftpd的修改 编辑配置文件 vsftpd.conf 找到这行#ftpd_banner= 将#号删除,把=号后面的修改成你要的名称

我这里修改成了 ftpd_banner=Serv-U FTP Server v6.4 for WinSock ready…

二,Telnet Linux

Banner修改法:

编辑文件/etc/issue.net,找到类似这几行(不同版本的Linux内容不太一样):

Red

Hat Linux release 8.0(Psyche)

Kernel on an m

改成:

Microsoft Windows

Version 5.00(Build 2195)

Welcome to Microsoft Telnet Service

Telnet Server

Build

5.00.99206.1

由于issue.net重启后会自动恢复,为了保护这些伪造的信息,还需要编辑文件/etc/rc.local,

在这些行前加“#”号,注释掉恢复的功能:

#echo””>/etc/issue

#echo”$R”>>/etc/issue

#echo

“Kernel $(uname –r) on $a $SMP$(umame

–m)”>>/etc/issue

#cp-f/etc/issue/etc/issue.net

#echo>>/etc/issue通过上面的方法将自己linux系统下的telnet服务修改成windows下的telnet服务,从而达到迷惑黑客的目的。

三,Apache Linux

Banner修改法:

在安装Apache前,在源文件/src/include目录下找到httpd.h头文件。此文件定义了Apache的版本信息,Apache安装时需要调用它。编辑http.h文件,找到如下几行:

#define

Server_BASEVENDOR “Apache Group”

#define Server_BASEPRODUCT

“Apache”

#define Server_BASEREVISION

“1.3.20”

可以根据自己的意愿改成其他信息,笔者改的是Microsoft-IIS/5.0。

编辑文件/etc/ssh/sshd_config,找到这行:

Banner/etc/issue.net

在此行前加#进行注释就可以不显示SSH的Banner了。通过上面的方法将自己的APACHE

banner修改成windows下的IIS,从而达到迷惑黑客的目的。

四,Sendmail Linux

Banner修改法:

在sendmail.mc文件中去掉$v、$z这两个宏,并包含下面的内容:

define(confSMTP_LOGIN_MSG’,$j

Sendmail

Sencure/Recure/Rabid;$b)

然后生成sendmail.cf文件

#m4/etc/mail/sendmail.mc>/etc/sendmail.cf

如果sendmail.mc中没有include(‘/usr/share/sendmail.cf/m4/cf.m4’)这一行就需要

和Sendmail

提供的预设的配置文件cf.m4一起使用来生成文件sendmail.cf:

#m4 /usr/share/sendmail-cf/m4/cf.m4

/etc/mail/sendmail.mc>/etc/sendmail.cf通过上面的方法有效的对sendmail服务的banner进行修改,从而达到迷惑黑客的目的。

五,修改linux机器的ttl值运行

echo 128 >

/proc/sys/net/ipv4/ip_default_ttl 将数字128写入ip_default_ttl文件,128段通常为windows系统

可以将此语句写入启动,/etc/rc.local 这样开机有自动修改了ttl数值了,保护了linux安全

总结:

经过上述的几个步骤,Linux系统的基本安全性能就得到了很大的增强。我们成功的将黑客阻挡在入侵之外。当然要得到最大化的安全性能,当然还要根据实际需求配置Apache等,由于篇幅所限,这里就不详细介绍了。

Ⅳ 传输协议FTP的工作原理和使用步骤

1、 简介 在绝大多数的LINUX发行版本中都选用的是WashingtonUniversity FTP,它是一个著名的FTP服务器软件,一般简称为wu-ftp。它功能强大,能够很好地运行于众多的UNIX操作系统,例如:IBM AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP服务器,一大半以上采用了它。wu-ftp拥有许多强大的功能,很适于吞吐量较大的FTP服务器的管理要求: · 在用户下载文件的同时对文件做自动的压缩或解压缩操作; · 对不同网络上的机器做不同的存取限制; · 记录文件上载和下载时间; · 显示传输时的相关信息,方便用户及时了解目前的传输动态; · 设置最大连接数,提高了效率,有效地控制了负载。 2、 所需资源 2.2.1 所需包RedHat6.2 服务器安装 2.2.2 所需配置文件/etc/ftpusers /etc/ftpaccess /var/run/ftp.pids /etc/ftpconversions /var/log/xferlog /etc/ftpgroups /etc/ftphosts 2.2.3 相关命令ftpd FTP服务器程序 ftpshut 用于关闭FTP服务器程序 ftpcount 显示目前在线人数 ftpwho 查看目前FTP服务器的连接情况 ckconfig 检查FTP服务器的设置是否正确 ftprestart 重新启动FTP服务 2.2.4 相关目录/home/ftpd/bin 存放一些供FTP用户使用的可执行文件 /home/ftpd/etc 存放一些供FTP用户使用的配置文件/home/ftpd/pub 存放供下载的信息 /home/ftpd/incoming 存放供上载信息的空间 3、 配置方案/etc/ftpaccess 说明: ftp权限配置文件源文件:guestuser weboa# FTP用户class all real,guest,anonymous *class weboa guest *# 格式:class [类名] [real/guest/anonymous] [IP地址] 功能: 这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP 地址进行限制,允许某部分的IP地址或全部的IP地址访问。而在FTP 服务器上的用户基本上可以分为以下三类: real 在该FTP服务器有合法帐号的用户; guest 有记录的匿名用户; anonymous 权限最低的匿名用户 email [email protected] 5# 格式:loginfails [次数] 功能:设定当用户登录到FTP服务器时,允许用户输错密码的次数。 readme README* loginreadme README* cwd=*message /welcome.msg loginmessage .message cwd=*# 格式:message [文件名称] [指令] 功能:当用户执行所指定的指令时,系统将指定的文件内容显示出来。 compress yes all# 格式:compress [yes/no] [类别] 功能:设置哪一个类别的用户可以使用compress(压缩)功能。 tar yes all# 格式:tar [yes/no] [类别] 功能:设置哪一个类别的用户可以使用tar(归档)功能。 chmod no guest,anonymous# 格式:chmod [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用chmod命令更改文件权限。默认是允许。delete yes all# 格式:delete [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用delete命令删除文件。默认是允许。overwrite yes guest# 格式:overwrite [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户覆盖同名文件。默认是允许。rename yes guest# 格式:rename [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用rename命令来为文件改名。默认是允许。 log transfers anonymous,real inbound,outbound# 格式:log transfers [real/guest/anonymous] [inbound/outbound] 功能:设置哪些用户的上载(inbound)和下载(outbound)操作做日志。shutdown /etc/shutmsg# 格式:shutdown [文件名] 功能: FTP服务器关闭的时间可以设置在后面所指定的文件中,当设 置的时间一到,便无法登录FTP服务器了,要恢复的话只有将 这个文件删掉。而这个文件必 须由指令/bin/ftpshut来生成。 passwd-check rfc822 warn# 格式:passwd-check [none/trivial/rfc822] [enforce/warn] 功能:设定对匿名用户anonymous的密码使用方式。 none 表示不做密码验证,任何密码都可以登录; trival 表示只要输入的密码中含有字符"@"就可以登录; rfc822 表示密码一定要符合RFC822中所规定的E-Mail格式才 能登录; enfore 表示输入的密码不符合以上指定的格式就不让登录; warn 表示密码不符合规定时只出现警告信息,仍然能够登录。limit remote 32 Any /etc/ftpd/toomany.msg# 格式:limit [类别] [人数] [时间] [文件名] 功能:这个指令的功能为设置指定的时间内指定的类别允许连接的 指定人数上限。当达到上限的时候,显示指定文件的内容。upload /home/ftpd * noupload /home/ftpd /pub yes anonymous 0644 dirs# 格式:upload [根目录] [上载目录] [yes/no] [用户] [权限] [dirs/nodirs] 功能:对可以上载的目录进行更加详细的设置。 alias incoming /home/ftp/incoming# 格式:alias [目录别名] [目录名] 功能:给指定目录设置一个别名,在切换目录时就可以使用较短的目录别名。 /etc/ftpusers说明:FTP用户黑名单,为了安全考虑,需要禁止以下用户使用FTP源文件:4、 小结 在众多的网络应用中,FTP(File Transfer porotocol)有着非常重要的地位。在Internet中一个十分重要的资源就是软件资源。而各种各样的软件资源大多数都是放在FTP服务器中的。可以说,FTP与WEB服务几乎占据了整个Internet应用的80%以上。 FTP服务可以根据服务对象的不同分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,Anonymous FTP Server,它使用任何人都可以登录到FTP服务器上去获取文件。 如果你在安装LINUX系统的时候,在选择启动进程的时候选择?quot;ftpd"这一项的话,安装完LINUX系统后,它已经将一个默认的FTP服务器安装到系统中去了。我们已经可以利用它来实现系统FTP服务器的功能了。我们只需在此基础上根据我们的需要进行一些个性化设定就可以了。


赞 (0)