[作者]dsj [头衔]论坛坛主 [经验]220862 [等级]大主帅
[发帖]15642 [回帖]1366 [登陆]7956 [发表时间]2003/3/23 21:10:59 [1楼]
|
|
FTP 服务器 在众多的网络应用中,FTP(File Transfer Protocol)有着非常重要的地位。在Internet中一个十分重要的资源就是软件资源。而各种各样的软件资源大多数都是放在FTP服务器中的。可以说,FTP与WEB服务几乎占据了整个Internet应用的80%以上。 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 guest@xxx.net email guest@yyy.net 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 guest@xxx.net email guest@yyy.net:这里仅是一个示例,实际上可以包含多个符合规范的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;
|
我的QQ群:500人财富群11470502;投资群5920530;资源群6648659;交友群5713862;娱乐群6925950。 我的博客:http://104508155.qzone.qq.com/
|
|
|
[作者]dsj [头衔]论坛坛主 [经验]220862 [等级]大主帅
[发帖]15642 [回帖]1366 [登陆]7956 [发表时间]2003/3/23 21:12:13 [2楼]
|
|
|
[作者]dsj [头衔]论坛坛主 [经验]220862 [等级]大主帅
[发帖]15642 [回帖]1366 [登陆]7956 [发表时间]2003/3/23 21:13:10 [3楼]
|
|
DNS 服务器 在用TCP/IP协议族架设的网络中,每一个节点都有一个唯一的IP地址,用来作为它们唯一的标志。然而,如果让使用者来记住这些毫无记忆规律的IP地址将是不可想象的。人们就需要一种有记忆规律的字符串来作为唯一标记节点的名字。 然而,虽然符号名对于人来说是极为方便的,但是在计算机上实现却不是那么方便的。为了解决这个需求,应运而生了一个域名服务系统DNS,它运行在TCP协议之上,负责将字符名——域名转换成实际相对应的IP地址。这个过程就是域名解析,负责域名解析的机器就叫域名服务器。 8.1 域名解析的方法 8.1.1 最早的域名解析方法 最简单的主机名解析方法是,在一个文件中记录所有主机名及与其对应的IP地址,并保证该文件中主机名的唯一性,通过检索文件中的便可以完成主机名的解析。采用这种最简单的解决方法有其历史原因: 在整个70年代,APRANET只是一个小规模的,由类似的数百台主机组成的团体。于是为了解决主机名解析的问题,将连接到ARPANET上每台主机的名字与对应的地址都保存在HOSTS.TXT文件中。这样每增加一台机器,就必须修改HOSTS.TXT文件一次。随着网络的不断发展,网络中的主机数量爆炸性地增加,这种域名解析的方法已经无法适应新的解析需要。 8.1.2 分布式的域名服务器 这种方法,我们已经在基础篇的第六章中有了详细的叙述,在此就不再重复了。在这种分布式的域名服务器体系中,每一台域名服务器(DNS)负责解析属于自己的这一部分主机的域名。 一般说来,如果你所处在公司或组织所拥有的主机并不多,一般是将域名的解析工作交给自己的ISP的域名服务器来完成。而如果你所在组织拥有的主机比较多,我们就可以组建自己的域名服务器负责解析你所在组织的主机。 8.2 域名服务器建立实例 8.2.1 实例环境 假设我们需要建立一台应用于以下情况的一个企业主域名服务器。 1. 拥有一个C类网段地址,为202.101.55.0 2. 企业域名注册为company.com。 3. 域名服务器的IP定为202.101.55.55,主机名为dns.company.com。它同时充当Proxy. 4. 企业网通过路由器与Internet连接。 5. 要解析的服务器有: www.company.com (202.101.55.1) Web服务器 mail.company.com (202.101.55.2) E-Mail服务器 8.2.2 安装前的准备工作 首先要保证在作为系中统有/etc/resolv.conf和/etc/hosts.conf这两个文件。 /etc/resolv.conf文件中内容如下所示: domain compay.comnameserver 202.101.55.55 其中第一行指出对于任何希望连到它上面的主机应该搜寻的域。而第二行指出了在哪个地址可以找到需要的域名服务大。 /etc/hosts.conf的内容如下所示: order hosts,bindmulti on 这里的设置告诉主机名称先在/etc/hosts文件中搜索,然后再查询域名服务器。 8.2.3 定义文件/etc/named.boot 要使LINUX系统完成域名服务器的功能,则需要运行一个named的服务进程。这个服务进程可以在安装LINUX时选中。 named启动时需要读取一个初始化文件——/etc/named.boot,这个文件是named的基本配置文件。它并不包含任何DNS数据,针对前面的假定环境,我们要在这个文件中写入: diretory /etc/named primary company.com db.company primary 0.0.127.IN-ADDR.ARPA db.127.0.0 primary 55.101.202.IN-ADDR.ARPA db.202.101.55 cache . db.cache 下面我们逐行讲解这个文件中的内容: 1) 在第一行中我们指定named从/etc/named目录下读取DNS数据文件。这个目录可以自行指定并创建,指定后将所有的DNS数据文件均存放在这个目录下; 2) 第二行指定named作为company.com的主域名服务器,db.company文件中包含了所有*.my.com形式的域名的解析数据。 3) 第三行则指定named作为127.0.0网段(本地loopback)地址的转换主服务器。其中db.127.0.0文件中包含了所有127.0.0.*形式的地址到域名的转换数据。 4) 第四行指定named作为202.101.55网段地址转换主服务器,db.202.101.55文件中包含了所有以202.101.55.*形式的地址到域名的转换数据。 5) 最后一行指定named从db.cache文件中获得Internet的顶层“根”服务器地址。 要说明的是,这些数据文件的名称均是自行决定的。 8.2.3 建立正向域名转换数据文件db.company 根据/etc/named.boot文件中的定义,我们在/etc/named目录下建立文件db.company,并且在其中写入所有在company.com域内的主机节点。根据前面假定的环境,可以写入: @ IN SOA dns.company.com. root.dns.company.com.( 200002011 ;文件版本号 28800 ;刷新时间(秒) 7200 ;重试时间(秒) 3600000 ;终止时间(秒) 86400) ;TTL生存时间(秒) IN NS dns.company.comwww IN A 202.101.55.1email IN A 202.101.55.2proxy IN CNAME dns 下面我们就逐句地理解这里的配置。 1. SOA是主服务器设定文件中一定要设定的命令,我们通常将它放在文件的第一行。 1) 最前面的符号“@”代表目前所管辖的域。 2) 接着的“IN”代表地址类别,这里就是固定使用“IN”的。 3) 接下来就是命令SOA。 4) 接下来填入域名服务器,记住由于DNS数据文件的特殊格式规定,在最后一定要加上“·”,在这个例子中,我们填入域名服务器:“dns.company.com.” 5) 接下来是域名服务器管理员的E-MAIL地址,但要注意的是,E-Mail地址中的分隔符“@”在这里用“·”来代替,在最后也要加上“。”,在这里,我们相应写入:“root.dns.company.com.” 6) 接下来在括号内填上各种选项: 文件版本号:当你修改这个文件的内容时,也要修改这个版本序列号。以此来区分是否有更新。 更新时间:指定二级服务器向主服务器拷贝数据的更新时间周期。 重试时间:指定二级服务器在更新出现通信故障时的重试时间。 终止时间:指定二级服务器重新执行更新动作后仍然无法完成更新任务而终止更新的时间。 生存时间:指定当域名服务器询问某个域名和其IP地址后,在域名服务器上放置的时间。 注:二级服务器所设定的域名服务器是主服务器的备份主机。 2. 在第二行中,我们用NS命令指定这个域的域名服务器。在这里我们指出这个域的域名服务器是“dns.company.com”。 3. 接下来的两行我们使用A命令来指定域名与IP地址的对应关系。我们将Web服务器的域名www.company.com与其IP地址202.101.55.1对应起来;将E-Mail服务器的域名mail.company.com与其IP地址202.101.55.2对应起来。 4. 最后一行,我们使用了CNAME命令为dns.company.com指定了另一个域名以供使用:proxy.company.com。 8.2.3 建立反向域名转换数据文件db.127.0.0和db.202.101.55 反向域名转换数据文件用来提供IP地址查询相应的DNS主机名,每个网段分别有一个数据文件。 1. 网段127.0.0通常只有一个地址,那就是127.0.0.1 loopback地址。所以我们在db.127.0.0中写入的内容是: @ IN SOA dns.company.com. root.dns.company.com.( 200002011 ;文件版本号 28800 ;刷新时间(秒) 7200 ;重试时间(秒) 3600000 ;终止时间(秒) 86400) ;TTL生存时间(秒) IN NS dns.company.com1 IN PTR localhost 前面两名相信读者已经不会陌生,最后一句我们使用PTR命令让配置文件中的主机可以使用IP地址来知道所对应的域名。 最前面的1代表127.0.0.1,对应的域名就是localhost。 2.网段202.101.55就可能会存在更多的记录,前面假定环境下的设置应是: @ IN SOA dns.company.com. root.dns.company.com.( 200002011 ;文件版本号 28800 ;刷新时间(秒) 7200 ;重试时间(秒) 3600000 ;终止时间(秒) 86400) ;TTL生存时间(秒) IN NS dns.company.com1 IN PTR www2 IN PTR email55 IN PTR dns55 IN PTR proxy 8.2.4 获得db.cache文件 在LINUX系统中通常在提供了一个named.ca的文件,该文件中Internet的顶层域名服务器,但是这个文件通常会发生变化,所以建议最好从Internet上下载最新的版本。该文件可以通过匿名FTP从ftp.rs.internic.net/domain下载,文件名是named.boot。将它拷贝一份为db.cache就可以了。 8.3 测试域名服务器 8.3.1 使用nslookup测试 nslookup命令的功能是查询域名服务器中的数据资料。下例就是使用它来测试域名服务器是否架设成功,其中斜体字代表要输入的内容。 # nslookupDefault server:dns.company.com Address:202.101.55.55 ;能出现这些信息代表成功> wwwserver:dns.company.com Address:202.101.55.1 8.3.2 使用ping测试 还有一种更简单的测试方法,那就是用ping命令,如果成功将显示: # ping www.company.com Ping www.company.com(202.101.55.1);56 data bytes64 bytes from 202.101.55.1:icmp_seq=0 ttl=255 time=1.3ms64 bytes from 202.101.55.1:icmp_seq=1 ttl=255 time=0.6ms64 bytes from 202.101.55.1:icmp_seq=2 ttl=255 time=0.6ms…… 8.4 小技巧 安装好域名服务器后,在内部使用域名进行远程连接时,会发现速度非常慢。其实只要/etc/hosts中加上所有内部的机器的域名就可以了。
|
我的QQ群:500人财富群11470502;投资群5920530;资源群6648659;交友群5713862;娱乐群6925950。 我的博客:http://104508155.qzone.qq.com/
|
|
|
[作者]dsj [头衔]论坛坛主 [经验]220862 [等级]大主帅
[发帖]15642 [回帖]1366 [登陆]7956 [发表时间]2003/3/23 21:14:59 [4楼]
|
|
文件服务器 在一个网络上,可能不只有LINUX系统,还会存在着象Windows NT、Windows95等其它操作系统。如何让这些安装不同操作系统的机器进行文件级的资源共享呢?下面我们就一起来探讨这个问题。 9.1 让LINUX成为文件服务器——安装Samba服务器 9.1.1 什么是Samba Samba可以想象成一个局域网上的文件服务器。它可以为在同一个了网中的客户(如Win95、WinNT等)提供文件服务和打印服务。也就是说,Samba服务器可以让LINUX实现象Novell Netware文件服务器提供的功能。 9.1.2 Samba工作原理 Samba的工作原理是,让NETBIOS(Windows95网络邻居的通讯协议)和SMA(Server Message Block)这两个协议运行于TCP/IP通信协议之上,并且使用Windows 95的NETBEUI协议让LINUX可以在网络邻居上被Windows 95看到。 其中最重要的就是SMB协议(Server Message Block),这是一个用于不同计算机之间共享打印机、串行口和通讯抽象(如命名管道、邮件插槽等)的协议。SMB协议是一个非常重要的协议,在所有 的Microsoft Windows系列操作系统中广为应用。 Samba是SMB服务器在类UNIX系统上的实现。它是开放源代码的GPL自由软件。目前Samba可以在几乎所有的UNIX变种上运行。 9.1.3 安装Samba服务器 在RedHat LINUX操作系统中,只要在安装的时候选择了Samba,那么它就会在安装LINUX的同时安装Samba。如果没有选择的话,也可以在光盘上找到Samba的RPM安装包,使用RPM安装它就可以了。 9.1.4 配置Samba 配置Samba的工作其实就是对它的配置文件smb.conf进行相应的设置。Smb.conf关系着Samba服务器的权限设置,以及共享的目录、打印机和机器所属的工作组等各种细致的选项。 文件smb.conf的语法非常明确。文件被分成段,每一段的名字用一个方括号括起来。在每一段内用“名称=值”的格式来设置参数。最前面加分号表示该句为注释。在后面的讲述中,我们只说明最常用到的最基本的一些部分,而更加深入的设置,请大家阅读这个文件的注释段。 整个配置文件中最基本是三个特殊段。 1. Global段:配置服务器在整个过程中用到的参数,并为其它段提供缺省值。 [global] workgroup=MYGROUP; hosts allow = 192.168.1. 192.168.2. 127. printcap name = /etc/printcap load printers = yeslog file = /var/log/samba/log.%m 1) 第一句workgroup用来指定机器在网络邻居所处的工作组。默认值为MYGROUP,大家可以根据自己的喜爱进行相应的修改。 2) 而hosts allow是一个用来指定在局域网中哪些机器可以使用Samba服务的描述。一般情况,无须设置,所以最前面用一个“;”开始,表示将这句注释掉。 3) 而第三句则是告诉Samba,打印机名称的位置。 4) 第四行load printers = yes则是告诉Samba服务器,允许浏览所有的打印机。 5) 最后一句则是指定了log日志文件的存放地址。 2.Homes段:这个段是用来表示允许客户机连接的用户主目录。在smb.conf文件中没有这个目录的特定内容。当发出服务请求时,就在smb.conf文件的其它部分寻找这种特定的服务。如果没有发现这种服务,并且提供了homes段时,就搜索密码文件去发现用户的主目录。通过分解Homes段,Samba使用户主目录作为共享而使用。下面是这个段的最基本的几个设置。 [homes] comment=Home Directory browseable=no writable=yes 1) 其中comment提定客户机在服务器上可以使用的共享。 2) browseable则设置Samba在网络浏览表是否显示目录,建议改为browseable=yes。 3) 最后一句则是表示是否具有写权限。 3. Printers段:设置打印机的共享状况。样板如下表所示: [printers] comment=All printers browseable=no printable=yes 建议将browseable=no改为browseable=yes。 一般地,在默认的smb.conf文件中已经做了最基本的设置,不加修改就可以应用在多种情况之中。所以建议初学者可以不用修改它。当然如果必要的话,可以参考注释语句进行一些尝试。 也就是说,如果大家不对smb.conf作修改,客户机已经能够使用最基本的Samba服务. 9.1.4 启动Samba服务器 启动Samba服务器的方法有两种。一种是standalone方式,另一种是Inted方式: 启动方式 占有资源 反应速度 Standalone方式 多 快 Inted方式 少 慢 我们建议使用Inted方式启动Samba服务器,要注意的是,我们不能同时采用两种方式运行,否则将造成Samba服务工作不政常。而默认状态下也是使用这种启动方式。 1. 使用Inted方式启动 安装Samba时,会在/etc/services文件中增加类似的以下几行: netbios-ns 137/tcp netbios-ns 137/udp netbios-dgm 138/tcp netbios-dgm 138/udp netbios-ssn 139/tcp netbios-ssn 139/udp 而在/etc/inetd.conf文件中也新增了以下几行: netbios-ssn stream tcp nowait root /usr/sbin/smbd smbdnetbios-ns dgram udp wait root /usr/sbin/nmdb nmdb 如果你想要用下一种方式启动,请在它们前面加上一个注释符号“#”,然后执行inetd命令使修改生效。 2. 使用Standalone方式启动 如果你要使用这种方式启动,请在/etc/rc.d/rc.local文件中加入以下几行: echo “Startting Samba Server……” /usr/local/samba/bin/smbd –D -d1 /usr/local/samba/bin/nmbd –D –d1 –n LINUX 9.1.5 使用Samba服务 以Windows 9x为例,我们只要打开网上邻居,就可以发现一个新的工作组MYGROUP, 下面还有这台LINUX主机。我们就可以使用Samba服务了。 9.2 网络文件系统NFS 请在安装LINUX的时候选中NFS,让LINUX系统将这项服务安装到系统中来。接着我们就可以十分容易地使用它了。 9.2.1 共享LINUX的文件 通过NFS共享LINUX的文件很简单,只要修改/etc/exports文件就可以了。例如,我们想将/home/nfstest这个目录共享给202.101.55.5这台机器,并且赋予它读、写权限,那么只要将如下信息写入/etc/exports这个文件中去就可以了。 /home/nfstest 202.101.55.5(rw) 9.2.2 在LINUX中将共享的文件挂进来 接着,如果我们可以在202.101.55.5这台机器(202.101.55.1)上将/home/nfstest外挂进来。我们只要简单地执行命令: mount –t nfs 202.101.55.1:/home/nfstest /mnt/nfstest 这样就将202.101.55.1上的/home/nfstest目录挂到了202.101.55.5的/mnt/nfstest目录下了。
|
我的QQ群:500人财富群11470502;投资群5920530;资源群6648659;交友群5713862;娱乐群6925950。 我的博客:http://104508155.qzone.qq.com/
|
|
|
[作者]onlyknowabc [头衔] [经验]3 [等级]三等兵
[发帖]3 [回帖]0 [登陆]7 [发表时间]2003/4/25 11:31:25 [5楼]
|
|
|
[作者]taijun [头衔] [经验]45 [等级]三等兵
[发帖]14 [回帖]0 [登陆]17 [发表时间]2003/5/2 17:26:17 [6楼]
|
|
这莫好的东东,对像我这样的新手真是太有用了, 谢谢
|
|
|
|
[作者]davis_lee [头衔] [经验]246 [等级]下士
[发帖]65 [回帖]0 [登陆]27 [发表时间]2003/5/28 23:13:26 [7楼]
|
|
|
[作者]dihuo83 [头衔] [经验]289 [等级]下士
[发帖]65 [回帖]0 [登陆]107 [发表时间]2003/6/15 22:13:00 [8楼]
|
|
|
[作者]Angle [头衔] [经验]108 [等级]一等兵
[发帖]3 [回帖]0 [登陆]2 [发表时间]2003/7/7 1:21:26 [9楼]
|
|
我装的是redhat9.0 遇到了一个很奇怪的问题、 就是可以看到自己共享的目录 但是打不开 我的共享模式是 share 可以帮我看看吗
|
|
|
|
[作者]Angle [头衔] [经验]108 [等级]一等兵
[发帖]3 [回帖]0 [登陆]2 [发表时间]2003/7/7 1:22:52 [10楼]
|
|
提示是找不到共享名 其中 guest a!!! =nobody
|
|
|
|