PART I、网络基础篇第1章 架站之前所需的技能分析 1. 请简述架设网站前,应该具备何种基本技能?基本技能有: 1. 至少需要了解账号管理、文件属性与权限、程序与资源管理、硬盘挂载与软件包的安装,如RPM套件管理程序等,而vi与Shell也是不可忽略的基本技能,更重要的是,日志管理及系统服务的原理(如stand alone与super deamon 服务启动的方式差异等)需要理清,以方便未来架设网站时进行除错; 2. 在网络基础知识上,TCP/IP的概念及路由概念相当重要,此外,DNS的概念也很重要。 3. 在心态调整方面,系统管理员需要的道德意识及使命感要求较高。 2. 如果我有一块硬盘在A主机上安装了Linux之后,拿到另一台配备相同的B主机上进行开机,结果竟然无法顺利开机,你认为可能的原因是什么?由于配备相同,所以排除硬件问题,不过,考虑到IDE数据线与分区代号及/etc/fstab的对应,所以应该是由IDE插槽放置错误所致(Linux系统下,每个IDE插槽对应的分区名称皆不相同)。此外,上次不正常关机也可能造成硬盘损害而无法开机成功! 3. 一般来说,在Linux系统上,用户默认的根目录在哪个目录下?另外,新增一个用户时,该用户默认的根目录内容来自哪个目录?在/etc/default/useradd文件里会规范用户的默认根目录及默认根目录的内容,一般来说,用户默认根目录为/home,至于根目录内的文件则复制来源在/etc/skel里。 4. 磁盘配额(quota)能否针对某个特定目录进行限制?Quota有什么较特殊的使用限制? Quota目前仅能针对整个分区进行限额配置,如果该特定目录是一个分区,则可以进行quota设定,否则无法针对特定目录!此外,Quota除了特定目录及只能识别ext2、ext3等磁盘格式外,也需要核心的支持。 5. 在Linux系统下,要寻找一个文件名为vbird.document的文件,可以使用什么指令?另外,如果要寻找在一天内更动过的文件,又该如何进行?如果是执行文件,可以使用which command来搜寻,如果是文件,就必须使用locate vbird.document或whereis vbird.document或find / -name vbird.document。如果要查找一天内更动过的文件,可以使用find配合参数,如:「find / -ctime 1 」。 6. 在Linux系统中,常见的套件管理程序有RPM与Tarball,请分别说明这两个套件管理程序的优缺点。 • RPM在安装套件时,会将该套件的文件名称、套件功能与信息等记录在/var/lib/rpm目录内,由于有这些套件的基本信息,因此在系统内很容易进行RPM的升级、安装、移除等动作。不过,由于RPM文件之间的相依性较强,因此常会有版本不合或欠缺某样前驱套件的问题。 • 至于Tarball则是源代码,用户可以自行配置套件的编译参数,以符合自己的Linux平台。此外,由于Tarball是源代码,因此需要在你的系统上进行编译,编译过程中需要gcc、make及kernel source等套件,还有你想安装的套件所需的前驱套件也需要先安装,这样才能进行Tarball的安装。注意,几乎每个Tarball以tar程序解压后,在新增目录下均会生成README及INSTALL文件,请务必先查阅后再进行编译工作。 7. 如果我下载了一个文件名为httpd-2.0.52.tar.gz的文件,一般来说,这个文件代表的意义为何?如何让这个文件能够在我的Linux系统上安装?由于后缀名是.tar.gz或.tgz的文件,所以可以认定该文件为一个Tarball文件。至于文件名的配置,httpd为套件名称,2.0.52则通常为该套件的版本名称!那么如何安装?由于该文件为httpd这个套件,且格式为Tarball,所以你必须: 1. 系统上务必具有tar、make、gcc等相关编译包; 2. 使用tar解开httpd-2.0.52.tar.gz后,务必进入该目录内读取REAME或/与INSTALL文件,以了解是否还需要其他的相关套件; 3. 以./configure --help查阅是否有相关可以加入或取消的编译内容; 4. 使用make 读取Makefile来编译程序; 5. 使用make install来安装程序! 8. 我以源代码方式安装一个套件,但是在分析系统时,分析程序一直告诉我找不到cc指令,请问这是什么问题?为何需要cc?另外,我该如何解决这个问题,好让套件可以顺利安装在我的Linux上?如前面几个题目所说,因为是源代码,所以还需要编译程序将该源代码编译为可以在Linux系统上运行的二进制文件,在Linux上默认的编译程序就是gcc编译器。如果你在安装Linux时,使用LinuxInstaller 默认选择的套件,那通常会没有安装gcc及make等套件,此时,请拿出你的原版光盘,以mount指令挂载后,使用RPM 将一个一个相关的套件安装即可。 9. 我发现我的Linux系统怪怪的,似乎有什么不知名的程序在内存中运行,我该如何将这个不知名的程序捕捉出来,并且将它移除?如果要捕捉程序(process),可以使用ps -aux或直接输入top来查询程序的ID(PID),找到PID 号码后,再以kill -9 PID删除该程序即可。 10. 我总是无法编辑某个文件,你认为是什么问题造成的?怎么解决? 无法编辑某个文件,可以先使用file指令查询该文件的格式,例如想查看/etc/shadow的格式,可以输入file /etc/shadow,如果是文本文件,却还是无法编辑,那么最可能发生的就是权限问题。可以使用ls -l filename查看文件权限,再以chmod或chown修订该文件的权限。此外,该文件也可能含有隐藏属性,可以使用lsattr filename查阅,再以chattr修订隐藏属性。 11. 什么是UID与GID?UID有哪些等级?在Linux系统下,用户与群组其实都是以ID(数字)格式来设定的,所以用户与群组其实都是UID或GID(User ID与Group ID),Linux对于文件权限也是使用UID/GID来分辨。不过人类习惯使用文字来记忆,所以才会有/etc/passwd与/etc/group将ID转译成相应的User及Group,这也可以解释为什么将从Internet上下载下来的Tarball解压之后,其文件拥有者与群组往往为数字形式,因为你的Linux系统上的/etc/passwd与/etc/group没有相关的对应文字。UID的等级主要有两种,分别是超级管理员(root),其UID为0;其他非0的UID身份基本上是相同的!不过Linux通常会将小于500的UID保留给系统使用。 12. 用户的根目录参数、UID、GID及其他相关参数,还有密码文件,放置在哪些文件里?放置在/etc/passwd与 /etc/shadow中,当然还有 /etc/login.defs。 13. 你认为一个称职的网管人员应该具备什么能力?能力要求相当高,如(1)操作系统的基础知识(不论是Linux/Unix/MAC/MS);(2)网络基础知识;(3)个别Internet服务的运作知识;(4)身心保持在备战状态;(5)具有相当高的道德感、责任感与使命感。 14. 我要启动一个系统默认的服务,请问可以通过执行或修改哪些目录下的文件来启动? • 如果是stand alone服务,可以通过/etc/rc.d/init.d/*里的文件,如/etc/rc.d/init.d /syslog start; • 如果是Super daemon服务,就必须先到/etc/xinetd.d或/etc/inetd.conf修改相关文件或参数,再以/etc/rc.d/init.d/xinetd restart来启动。 15. 我要关掉cron服务,应该怎么关掉它?如果以正常方法无法关闭这个服务,可以使用什么方法来关闭?因为cron是一个stand alone服务,所以可以使用/etc/rc.d/init.d/cron stop来关闭;如果还是无法正常关闭,可以使用ps -aux | grep cron提出该程序的PID,然后以kill -9 PID关闭。 16. 如果一开机就要执行某个程序,应该将该程序写入哪个文件?可以直接在/etc/rc.d/rc[run-level].d里加入以S开头的文件,不过,更简单的做法是直接将该程序写入/etc/rc.d/rc.local,不过,请注意该程序必须具有可执行权限,且rc.local也必须是可执行的。第2章、简易网络基础架构 1. 请简述OSI网络七层协议每一层的功能; OSI网络七层协议主要又分为两大部分,网络层与用户应用层。至于每一层的相关功能请参考本章表一所示。 2. 在ISP提供的网络服务中,它们提到传输速度为1.5M/382K,请问这个数据的单位为何?由于电子信号的基本单位为bits,所以一般ISP提供的传输速度单位均为bits/second,并非我们常用的文件计数单位Bytes。 3. 什么是MAC(Media Access Control),MAC主要的功能是什么?在网络媒体上,数据要传输时,必须知道下一个节点的地址才能顺利传送,这个节点的地址(如网卡的硬件地址)就是MAC。硬件地址是在网卡出厂时就已经焊死在上面(某些笔记本电脑的MAC则可以经由特殊软件修改),而软件地址则是我们常说的IP,这两个并不相同。MAC与IP互相的对应是以ARP Table进行转译。 4. 请解释什么是物理广播(Physical Broadcast),它与逻辑广播(Logical Broadcast)有什么不同?物理广播主要与网络媒体有关,在同一个网络媒体上同一时间仅能有一台主机使用这个网络共享媒体,而要判断目前有没有其他主机在使用这个网络媒体时,就是利用Physical Broadcast。至于逻辑广播,就是在查询到底网域上有没有我们这台主机想要连接的相关协议或同一网域内的其他主机。它主要与MAC、ARP及软件地址(IP)有关。 5. 什么是包碰撞?为什么会发生包碰撞?当两台主机同时在一个网络媒体上进行数据传输时,两个数据包就会发生碰撞,这就是包碰撞。在网络媒体流量很高、网络媒体的联机长度过长时,都容易发生数据包碰撞。 6. ARP Table的作用为何?如何在我的Linux查看我的ARP表? ARP Tables主要用于对应IP与MAC,当主机将数据包送到下个节点时,必须知道下个节点的MAC,如果不知道MAC,就需要使用逻辑广播来查询IP与MAC的对应。不过,当你的主机内部的ARP table已经记录了IP对应的MAC,那么该数据包则可以立即传送到下个节点,而不需要再次进行逻辑广播。要知道目前的ARP table内有多少记录,可以使用arp -a。 7. 简略说明Netmask的作用与优点。 Netmask可以有效增加网络的效率,这是因为Netmask 可以定义一个网域的大小,那么用在广播的时间就可以大大降低。一般来说,我们如果要将一个大网域再细分为小网域,也需要藉由Netmask进行subnet的切割。 8. 我有一组网域为192.168.0.0/28,请问这个网域的Network, Netmask, Broadcast各为多少?可以使用的IP数量与范围各是多少?因为共有28位是不可动的,所以Netmask 地址的最后一个数字为11110000,也就是(128+64+32+16=240),所以: Network:192.168.0.0 Netmask:255.255.255.240 Broadcast:192.168.0.15 IP:由192.168.0.1 ~ 192.168.0.14 共14个可用IP! 9. 承上题,如果网域是192.168.0.128/29呢?因为有29位不可动,所以最后一个Netmask的地址为11111000,也就是(128+64+32+16+8=248),所以: Network:192.168.0.128 Netmask:255.255.255.248 Broadcast:192.168.0.135 IP:由192.168.0.129 ~ 192.168.0.134 共6个可用的IP! 10. 我要将192.168.100.0/24这个C Class网域分为4个子网域,请问这4个子网域要如何表示?既然要分为4个网域,也就是还需要藉助Netmask的两个位(2的2次方为4啊),所以Netmask会变成255.255.255.192,每个子网域会有256/4=64个IP,而必须扣除Network与Broadcast,所以每个子网域会有62个可用IP!因此,4个子网域的表示方法为: 192.168.100.0/26, 192.168.100.64/26, 192.168.100.128/26, 192.168.100.192/26 。 11. 如何观察Linux主机上的路由信息(route table)? 可以通过输入route来直接查看路由信息,或输入route –n。 12. TCP包上的SYN与ACK标志代表的意义为何? • SYN代表该包为该系列联机的第一个包,即主动联机; • ACK则代表该包为确认包,即回应包。 13. 什么是三次握手?在哪一种包格式上才会有三次握手?使用TCP包才会有三次握手。TCP包的三次握手是一个确认包正确性的重要步骤,通过SYN、SYN/ACK、ACK三个包确认无误后,才能够建立联机。至于UDP包,则没有三次握手。第3章、局域网架构简介 1. 幻想自己是一个私人公司的老板,员工有20人,如果我想让公司的员工都可以连上Internet,并且控管每个员工的对外联机,请问我的硬件联机应该怎么配置?另外,应该申请的线路频宽应该多大?而我的内部网域(IP、Netmask……)又该如何设定?因为只有20个员工,事实上,人员并不多,所以并不需要在内部加设router来隔开不同的网域。不过,由于想要管理员工的上网功能,因此最好以第三章图三的架构,以一台主机内含两块网卡隔开Intranet与Internet 两个网段,便于管理;至于对外联机的频宽方面,如果Linux主机需要进行网络服务功能,那么最好能够有512/512频宽,因为可能会有Client端下载的问题,如果单纯地仅下载(公司没有额外的网络服务),可以考虑使用T1/384之类的频宽,比较省钱;而在内部网域设定上,如同本章节使用的网域192.168.0.0/24来设定即可,如果公司内部尚有移动装置(NoteBook),则可以在Linux上加装DHCP(参考第16章)服务器。 2. 承上题,假如我的私有网域内有较大的网络流量,那么我的网络媒体应该怎么选择?如果私有网域内的流量较大,那么网络媒体需要选择Switch而不要使用Hub!另外,整体包括网线也需要使用能够负载10/100 Mbps的流量才好。第4章、连接Internet 1. 我要如何确定我在Linux系统上的网卡已经被Linux识别并驱动了?网卡能不能被识别可以使用dmesg|grep eth来判断,有没有驱动则可以使用lsmod 看看模块有没有加载核心!最后,以ifconfig eth0 192.168.0.10测试看看! 2. 假设我的网络参数为IP 192.168.100.100、Netmask 255.255.255.0 ,请问我要如何在Linux上设定这些网络参数(未提及的网络参数请自行定义)? 请使用手动与文件设定方法分别说明。 • 手动设定为:ifconfig eth0 192.168.100.100 netmask 255.255.255.0 up • 文件设定为:vi /etc/sysconfig/network-scripts/ifcfg-eth0,内容为: DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.100.100 NETMASK=255.255.255.0 NETWORK=192.168.100.0 BROADCAST=192.168.100.255 要启动则使用ifup eth0即可! 3. 我要将我的Linux主机名称改名,步骤为何?(更改哪个文件?如何启用?) Linux主机名称在/etc/sysconfig/network文件里通过“HOSTNAME=主机名称”来设定,先以vi修改,之后再使用/etc/rc.d/init.d/network restart或直接reboot启动主机名称! 4. /etc/resolv.conf与/etc/hosts的功能为何?以主机名称查找IP的方法,/etc/resolv.conf内填写DNS主机名称,至于/etc/hosts则直接填写主机名称对应的IP即可! 5. 我使用ADSL拨号连接Internet,请问拨号成功之后,我的Linux上会有几个网络接口(假设我只有一个网卡)?因为拨号是使用PPP(点对点)协议,所以拨号成功后会多出一个ppp0接口,此外,系统原本即有eth0及lo这两个接口,所以共有三个接口。 6. 在Linux上进行ADSL拨号应该使用什么软件?请用rp-pppoe,官方网站:http://www.roaringpenguin.com/pppoe/ 7. 一般来说,如果拨号成功,也取得了ppp0接口,但是无法对外联机成功,你认为是哪里出了问题?该如何解决?因为拨号成功,表示物理对外联机没有问题,那么可能的问题应该发生在网关上!确认方法请使用route -n查阅路由信息,然后修订/etc/syscon- fig/network-scripts/ifcfg-eth0。第5章、Linux常用网络指令介绍 1. 我要增加一个路由规则,以eth0连接192.168.100.0/24网域,应该如何输入指令?手动方法为:route add -net 192.l68.100.0 netmask 255.255.255.0 dev eth0。 2. 我的网络停顿很厉害,尤其是连接到tw.yahoo.com时,那么应该如何检查是哪个环节出了问题?使用traceroute寻找到底是哪个环节出问题:traceroute tw.yahoo.com。 3. 我发现我的Linux主机上有个联机很怪异,想将它断线,应该如何进行? 以root身份进行netstat -anp |more,查出该联机的PID,然后以kill -9 PID踢掉该联机。 4. 你如何知道green.ev.ncku.edu.tw这台主机的IP? 方法很多,可以利用host green.ev.ncku.edu.tw或dig green.ev.ncku.edu.tw或nslookup green.ev.ncku.edu.tw等方法找出! 5. 请找出你的机器上最适当的MTU应该是多少?请利用ping -c 3 -M do -s MTU yourIP找出你的IP的MTU数值。 6. 如何在终端机接口上进行WWW浏览?又该如何下载WWW上提供的文件?要浏览可以使用lynx,要下载则使用wget软件。如果想在终端机上看到中文,还可以安装JCMME。 7. 在终端机接口中,如何连接bbs.sayya.org这个BBS? 利用telnet bbs.sayya.org 即可连接上,同样地,要看到中文,还是得安装JCMME。 PART II、简易防火措施篇第7章、限制Linux对外联机的端口 1. 如何观察你Linux主机上已经打开了多少端口?如果仅想单纯了解正在监听中的端口,可以使用netstat -tul,如果还想知道已经建立了多少联机,可以使用netstat -an。 2. 如何观察程序?利用ps -aux或top查看均可。 3. 请问监听的端口与daemon的关系为何?正在监听中的端口均是由某些服务(daemons)所启动,所以要启动端口就得启用某个服务,要了解某个端口是由哪个daemon启动的,利用netstat -tulp来查阅。 4. 请解释三次握手的原理与包传输的方向。三次握手为较可靠的包传输的一种确认方式,因此只有TCP包才能具有三次握手。它利用(1)Client对Server主动联机时带有的SYN标志;(2)Server回应时的SYN/ACK;(3)最终Client确认的ACK标志来确认包的可靠性。更详细的说明请参考第2章。 5. 请问stand alone与super daemon各是什么? Linux系统的服务有独立启动(stand alone)及超级服务(super daemon)两种方式。挂在super daemon下的服务可以经由super daemon控管,以加强安全功能,不过由于还要经过super daemon的管理,所以服务的连接速度上会比stand alone慢一点。详细的说明请参考《鸟哥的Linux私房菜——基础学习篇》一书第21章。 6. 请问你的Linux主机(不论是哪个版本)有关daemon 启动与关闭的脚本与文件放置在哪个目录下?各个daemons的启动与关闭的脚本放置在/etc/rc.d/init.d里,至于super daemon的控管参数文件则在/etc/xinetd.d里! 7. 请将你的Linux主机对外的联机端口全部关闭。请参考本章的做法,利用ntsysv或chkconfig等功能加reboot,或netstat配合kill的方式!第8章、Linux网络套件升级 1. 请依照你的Linux系统进行适合的网络套件升级程序(一步一步写下来),并说明为何选择这样的网络升级程序?本题请参考本章内容,选择APT或其他Linux版本网站提供的在线升级方式进行你的套件升级。第9章、多IP与路由器的架设 1. 请问如何将你的eth0接口改为192.168.100.2在网域192.168.100.0/25之内的网络参数内容?因为192.168.100.0/25的netmask为255.255.255.128,所以可以这样做:ifconfig eth0 192.168.100.2 netmask 255.255.255.128 up。如果尚需其他参数,则需要以文件形式来输入,如vi /etc/sysconfig/network-scripts/ifcfg-eth0,并修改为: DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.100.2 NETMASK=255.255.255.128 NETWORK=192.168.100.0 BROADCAST=192.168.100.127 2. 请手动设定eth0:1这个虚拟接口,使其为网络参数:192.168.200.2,网域在192.168.200.0/24。 ifconfig eth0:1 192.168.200.2 up 3. 如何观察路由表?使用route -n即可查阅。要注意0.0.0.0那个目标(默认网关)。 4. 如何启动Linux的IP Forward功能?直接以echo "1" > /proc/sys/net/ipv4/ip_forward即可。 5. 假设你是一个学校的信息管理员,学校内有200台计算机,奉上面的旨意,必须将200台计算机分为4个子网,请问应该如何布线(请画出示意图)?而这4个子网的网络参数如何选择(请自行选择)?是否需要路由器?如果需要,假设每个路由器仅能有两个网络实体接口,那么该如何布线?(注:不要使用虚拟接口。)我的布线如下图所示: 每个路由器都有两个接口,且4个路由器的右接口都在同一个网段内!那么Router 1怎么跟Router 2的内部网域进行沟通?利用route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.5.2即可。 6. 万一你的网络有点停顿,发现可能是网络上某个节点出了问题,你应该如何确认是哪一台路由器出了问题?使用第5章中提到的traceroute指令来查询。第10章、认识网络安全 1. 我老是发现我的系统怪怪的,似乎有点停顿,怀疑可能是CPU 负荷太大,所以要检查一下系统相关的信息。请问,我该以什么指令检查我的系统相关信息?可以使用top、sar、free、ps -aux、uptime、last等指令查询系统相关信息。 2. 我怀疑我的系统上有过多的具有SUID的文件存在,导致一般用户可以随意取得root权限,请问,我要如何找出这些具有SUID权限的文件?因为SUID是4000这个权限,所以可以这样做: find / -perm +4000 3. 我由国内一些ftp网站下载了Red Hat公司发布的套件,我想安装它,但又不知道该套件文件是否被修改过!请问我该如何确定这个套件的可用性?利用最简易的MD5 编码来测试,例如md5sum套件名称,再比对与原始套件发布的MD5 数据是否相同。 4. 良好的密码规划是防备主机的第一要务,请问Linux系统中,密码相关的文件与规则设定在哪些文件里?密码的设定规则在/etc/login.defs里!密码文件在/etc/shadow内! 5. 简易说明当一台主机被入侵后,应该如何处理?找出问题、重新安装、漏洞修补、数据还原!请参考本章最后的修补工作内容。第11章、简易防火墙架设 1.为什么我架设了防火墙,我的主机还是可能中毒?防火墙不是万灵丹,它还是可能被病毒或木马程序所入侵!此外,如果你的主机本身已经提供了多个网络服务,则当该网络服务的套件有漏洞时,防火墙仍然无法克服该服务的漏洞。因此仍然需要持续进行主机的监视工作! 2. 请说明为何架设了防火墙,我的主机还是可能被入侵?入侵的依据可能是什么?因为防火墙仅抵挡某些不受欢迎的包,如果你开放WWW服务,则要求主机端口80的包可直接进入你的主机,万一WWW套件有漏洞,那么就可能被入侵了!所以套件的更新很重要。 3. 我们知道核心为2.4的Linux使用的防火墙机制为iptables,请问,如何知道我的Linux核心版本?利用uname -r 可以查到! 4. 请列出iptables 默认的两个table,以及各个table里的链与各个链所代表的意义; filter为默认的Table,里面默认的链有: • INPUT:来自外部,想要进入主机的包; • OUTPUT:来自主机,想要离开主机的包; • FORWARD:主机内部网域与外部网域的包(不论进出),但该包不会进入主机。还有nat这个table: • PREROUTING:进行路由之前的包传送过程; • OUTPUT:离开主机的包传送过程; • POSTROUTING:经过路由之后才进行的过滤规则。 5. 什么是iptables的默认政策(Policy)?当包的所有属性都不在防火墙规则中时,这个包能否顺利通过防火墙,则以Policy 作为这个包的最终动作! 6. 假设今天我的Linux仅作为Client之用,并没有对Internet 提供任何服务,那么你的防火墙规划应该如何设定?既然没有对Internet提供任何服务,那么(1)请将所有的对外端口先关闭(2)防火墙规则中,最重要的是INPUT的Policy 一定要DROP,然后将iptables -A INPUT -m state --state RELATED -j ACCEPT即可。 7. 我要将来自192.168.1.50这个IP来源,只要向我的21~23端口发出请求的包,都将它抵挡,应该如何输入iptables指令? iptables -A INPUT -p tcp -s 192.168.1.50 --dport 21:23 -j DROP 8. 我要将我自己主机ping的响应功能取消,应该如何输入iptables指令?因为ping能否响应用的是icmp的type 8(请参考第2章内的ICMP相关内容),所以我可以这样做: iptables -I INPUT -p icmp --icmp-type 8 -j DROP 9. 请说明为何这个指令是错误的iptables -A INPUT -p udp --syn -s 192.168.0.20 -j DROP。只有TCP包才会具有SYN标志,UDP并没有SYN标志,所以上面的指令是错误的! 10. DNS的要求是必需的,那么我该如何设定我的主机可以接受请求DNS的响应呢?因为DNS的来源是端口53,因此要接受来自端口53的包: iptables -A INPUT -p udp --sport 53 -j ACCEPT iptables -A INPUT -p tcp --sport 53 -j ACCEPT 11. 如何取消我的系统上的iptables? 先要清除规则,才能将iptables 移除!不过,我们主要将规则清除即可。 iptables -F; iptables -X; iptables -Z iptables -t nat -F; iptables -t nat -X; iptables -t nat -Z 12. 如何保存当前的防火墙机制,以及如何将上次保存的机制回复到当前系统中?请利用iptables-save及iptables-restore这两个指令,配合命令重导向即可。第12章、申请合法的主机名称 1. 请简易说明 /etc/hosts的用途。这个文件早期用于进行主机名称与IP的解析,目前常用在内部网域的名称解析上,可以加快内部网域的反查! 2. 请说明合法授权的主机名称需要做什么?如果想要合法授权,就需要向上层DNS主机注册,而且还要上层DNS主机管理员愿意将域名的解析权限授权给你。 3. 什么是动态DNS系统?(仅说明Client端)因为我们的Client拨号时,得到的IP不是固定的,所以无法以DNS系统进行固定IP对应主机名称的工作,此时就需要动态DNS系统。以DNS主机提供的动态更新主机名称对应IP的机制,可以让我们的不同IP对应到同一个主机名称! 4. 如果你使用adsl拨号上网设定服务器,那么该申请哪类主机名称?为什么?因为我是以ADSL拨号上网,所以IP是不固定的,此时需要申请动态DNS主机的主机名称,例如adsldns.org以及no-ip.org等! PART III、服务器架设篇第13章、简易Telnet与SSH主机设定 1. Telnet与SSH都是远程联机服务器,为何我们都推荐使用SSH而避免使用Telnet?原因何在?因为Telnet除了使用明码传送数据外,本身telnet 就是很容易被入侵的一个服务器,所以当然比较危险。至于SSH,其实也不是很安全!由中国台湾计算机危机处理小组的文件可以明显发现,openssl + openSSH也是常有漏洞发布!不过,比起telnet来说,确实会安全一些! 2. 请尝试说明SSH在Server与Client端联机时的包加密机制。利用key pair实现加密机制:Server提供Public Key给Client端计算Private key,以提供包传送时的加密、解密! 3. 请问SSH的配置文件是哪个?如果我要修改让root无法使用SSH联机进入我的SSH主机,应该如何设定?另外,如果要让badbird这个用户无法登入SSH主机,该如何设定? SSH配置文件名为sshd_config,通常放置在/etc/ssh/sshd_config内;如果不想让root 登入,可以修改sshd_config内的参数成为PermitRootLogin no,并重新启动SSH来设定!如果要让badbird用户无法登入,同样在sshd_config里面设定为:「DenyUsers badbird」即可! 4. 在Linux上,默认的Telnet与SSH服务器使用的埠口(端口 number)各为多少? telnet与SSH的埠口分别是:23与22!请参考/etc/services喔! 5. 如果发现我无法在Client端使用SSH程序登入我的Linux主机,但是Linux主机却一切正常,可能的原因为何?(防火墙、known_hosts……)无法登入的原因可能有很多,最好先查询 /var/log/messages里的错误信息来判断,当然,还有其他可能原因为: 1. 被防火墙挡住了,请以iptables -L -n来查看,当然也要查看/etc/hosts.deny; 2. 可能由于主机重新开机过,public key改变了,请修改你的~/ssh/known_ hosts里面的主机IP; 3. 可能由于/etc/ssh/sshd_config里面的设定问题,导致你这个用户无法使用; 4. 在/etc/passwd里,你的user不具有可以登入的shell; 5. 其他因素(如账号密码过期等等) 6. 既然ssh是比较安全的数据包传送方式,那么就可以在Internet上开放我的Linux主机的SSH服务了吗?请说明你选择的答案的原因。最好不要对Internet开放你的SSH服务,因为SSH的加密函数库使用的是openssl,一般Linux版本使用的SSH是openssh,这两个套件事实上仍被发布过不少漏洞,因此,最好不要对Internet开放,毕竟SSH对于主机的使用权限是很高的!第14章、简易NAT服务器 1. 请简单说明NAT主机的用途与运作原理。 NAT主机的最大用途在于包伪装,可以做为内部Client主机对外的联机之用(类似IP分享器),当然,也可以做为区域内主机(DMZ)的设定。至于其运作原理则主要以iptables的过滤机制有关,利用iptables将通过的包进行Source IP或destination IP的伪装! 2. 假设我是你公司的上层主管,我知道我们单位内共有100台计算机(Windows 操作系统),其中共分为两大部门,这两大部门的数据是互相独立的,并且两大部门各自拥有一台Linux主机负责文件共享工作(就是未来会谈到的SAMBA主机)。不过,我们公司仅有一条对外的ADSL双向512专线。现在,我命令你规划全公司100台计算机都可以连上Internet,而且只多给你一台Linux主机,并且原有的Linux主机功能(就是SAMBA)还存在。请问: 1. 公司的网络规划示意图为何? 2. 多出来的那一台Linux主机用途为 ADSL连接与内部私有网络的连接,该Linux的网络参数为何? 3. 两台Linux SAMBA主机的网络参数为何? 4. 两个部门的网络参数请自行设定。 1. 公司的网络规划示意图如下: 2. 两边的LAN并没有互相物理连接,此外,“微型电脑”为本来的Linux主机,而新增的一台Linux主机则是标为“服务器”的那一台! 3. 多出来的那台Linux主机用途为ADSL连接与内部私有网络的连接,该Linux的网络参数:IP为192.168.0.254(对内),对外为拨号产生的接口,启动NAT功能。 4. 两台Linux SAMBA主机的网络参数为:部门A:IP为192.168.1.254(对内卡)以及192.168.0.1(对外卡),新增route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.0.2;部门B:IP为192.168.2.254 (对内卡)以及192.168.0.2(对外卡),新增route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1。两台主机的网关都是192.168.0.254。 5. 两个部门的网络参数:部门A,Network:192.168.1.0/24,Gateway:192.168.1.254;部门B,Network:192.168.2.0/24,Gateway:192.168.2.254。第15章、简易NFS服务器设定 1. NFS的主要配置文件为何?在该文件内主要配备项为何?主要的配置文件为 /etc/exports,至于其配置项在每一行中则为: 1. 共享目录 2. 针对此共享目录开放的主机或IP或网域 3. 针对这台主机开放的权限参数 2. 在NFS主要配置文件中仅有少许参数说明,至于默认的参数说明则没有在该文件中出现,请问,如果要查阅更详细的共享文件属性,要看哪个文件?要查阅/var/lib/nfs/xtab文件。 3. 如果已经启动了nfs服务器,但是又修改过主要配置文件,请问可以使用哪个指令重新挂载共享目录与Client端权限的设定值?通过使用exportfs,可以加 -a或 -rv这两个参数重新挂载,如exportfs –rv。 4. 在Client端如果要挂载NFS提供共享文件,可以使用哪个指令?就是mount!如果卸载,是umount。 5. 在NFS主要配置文件中,可以通过哪个参数来控制不让Client端以root身份使用你所共享的目录与文件?可以在/etc/exports中的参数项设定root_squash来控制压缩root身份。 6. 我在Client端挂载了NFS Server的某个目录在我的/home/data下,当我执行其中某个程序时,却发现我的系统被破坏了?你认为可能的原因为何?该如何克服这样的问题,尤其是当我的Client端主机其实是多人共享环境,怕其他用户也发生类似的问题?可能由于你挂载进来的NFS Server的分区中具有SUID文件属性,而你不小心使用了该执行文件,因此可能发生系统被破坏的问题。可以将挂载进来的NFS目录的SUID 功能取消!例如: mount -t nfs -o nosuid,ro server:/directory /your/directory 第16章、简易DHCP 服务器设定 1. DHCP的主要用途为何? DHCP主机的主要用途是自动分配网络参数给Client端计算机,以降低网域中可能发生的IP冲突问题,并避免网管人员到处检查错误。 2. DHCP主要的两种IP分配模式为何?主要的两种分配模式分别为Dynamic IP与Static IP,Static IP 透过MAC的比对,而Dynamic IP 则是直接取用网域中尚未被用到的IP进行Client端的分配。 3. 在有DHCP主机的网域中,且Client端也使用DHCP规划客户端的网络参数,那么请问,在该网域中,Client端如何取得IP? 1. 首先,Client端会发出一个DHCP请求包; 2. Server端接收到请求后,会主动响应信息给Client; 3. Client 若接受该DHCP主机提供的参数,则主机会记录下租约信息,至于Client端,则开始以主机提供的参数设定其网络。 4. DHCP如何发送Static IP?可以使用何种指令取得该信息? DHCP主要利用网卡的硬件地址,即网卡卡号,也就是MAC进行Client端的比对,至于主动取得Client端的方式,可以透过ping及arp获得。 5. 在DHCP的租约文件,即/var/lib/dhcp/dhcpd.leases中,记录了什么信息? 这个文件主要记录了Client端连上Server端的记录数据,它会被DHCP主机用来判定与Client端的租约行为。 6. DHCP的登录文件放于何处?就是最重要的/var/log/messages文件(默认情况下)。第17章、简易DNS服务器设定 1.为何要有DNS系统?最主要的功能在于Hostname对应IP的查询,可以让我们人类以计算机主机名称连上Internet,而不必背诵IP。 2. Unix Like系统中,主要使用哪个套件作为DNS主机的架设,同时,它又是使用哪个daemon启动DNS系统?在Unix Like系统中,使用BIND这个套件作为DNS的架设,至于daemon 则是使用named这个daemon! 3. 最早的Internet 其实是为了政府人员可以连上网络以进行资源共享,另外,则是电子邮件的使用。而在早期使用的重要文件只有/etc/hosts,请问这个hosts文件的内容含有什么项?这个文件的格式为: <主机名称> <主机别名(aliase)>,而这个文件里放置了至少一行,也就是: 127.0.0.1 localhost localhost.localdomain 另外,也可以将经常连接的主机IP与HOSTNAME的对应写进来。 4. 请说明DNS的三种类型与相关内容。 DNS主机主要分为master,slave与cache-only 三种类型!在master中,master主机里即有设定DNS数据文件,例如在/var/named里的正反解文件。至于slave的DNS主机则主要进行master主机的数据备份,同时也提供Internet上的查询功能。使用master/slave的最大优点在于单点维护能力!修改master 即可让slave的数据同时更新,这样可减少人力的浪费。至于cache-only,仅进行快速缓存记录,本身并无数据库文件! 5. 正解文件(forward)、反解文件(reverse)与内部循环使用的文件(loopback)主要的记录功能为何? • 正解文件用于设定hostname对应到IP的记录,主要的记录有A、NS、SOA、MX、CNAME等; • 反解文件主要设定IP对应到Hostname的记录,主要的记录为SOA、NS与PTR等。 • 内部循环则是localhost与127.0.0.1的对应。 6. 在主要的DNS 配置文件 /etc/named.conf中,有一个较为特殊的文件,它的类型为hint,请问这个文件的功能为何?这个文件主要是由rs.internic.net下载下来的,主要记录了root(.)这个zone的IP。可以让我们的DNS Server在找不到数据库时,到这个root查询数据! 7. 在Client端搜寻HOSTNAME对应IP的查询时,最重要的文件及该文件的主要用途为何? • /etc/nsswitch.conf:可以用来设定查询主机名称的顺序!例如先查询/etc/hosts再查询DNS系统; • /etc/hosts:最早的名称解析器; • /etc/resolv.conf:这就是DNS系统的resolver(解析器)。 8. 一般来说,在Client端用于查询HOSTNAME的指令大多是什么? • nslookup:可以用来收集一台主机的相关信息; • dig:可以用来收集详细的主机信息; • whois:可以用来收集详尽的DNS主机信息。 host 则较为简单。 9. 请问named重要的信息登录放在哪个文件中?在/var/log/messages中。第18章、简易WWW服务器设定 1. 请问LAMP这个服务器代表什么意思?这个名词代表Linux+ Apache + MySQL + PHP这个WWW 服务器的组成! 2. Apache的配置文件文件名一般为何? Apache的配置文件文件名为httpd.conf,不过,由于httpd.conf内容参数可以使用 include "额外设定文件名",所以也可能具有其他额外配置文件。 3. 在Apache的配置文件中,哪个参数用来设定主网页?设定主网页的参数为DocumentRoot,后面接的是主网页放置的目录。 4. 哪个指令用来重新启动与关闭Apache? (请以Tarball安装方法说明)其实不论是RPM还是Tarball,都是使用apachectl这个文件来启动apache,不过RPM已经将该文件整合到/etc/rc.d/init.d/httpd里而已。 5.当我使用ps -aux时,发现很多httpd……的程序,这是正常的吗?最多可以有几个程序是由哪个文件的哪个参数所确定的?这是正常的,主要由httpd.conf里设定的下面两个参数来确定: MinSpareServers MaxSpareServers 6. 承上题,这些程序(process)的owner与group是谁?该查看哪个配置文件的哪个参数?同样查看httpd.conf里的User与Group这两个设定值。 7. 如果今天我以http://your.ip结果却发现浏览器出现类似FTP的画面(会列出该目录下的所有文件),这是什么原因造成的?该如何避免?这是由于在httpd.conf里,针对该目录的设定参数Options中设定了Indexes这个值,导致当找不到主页时(通常是index.html),就会将该目录下的所有文件显示出来!解决的方法就是拿到Options里的Indexes设定值即可。 8. 在Apache里,.htaccess这个文件的功能为何?可以用来取代httpd.conf里的设定参数,创造属于用户自己的Apache 风格。第19章、简易SAMBA 服务器设定 1. 一般来说,SAMBA使用的配置文件放置在哪里?文件名为何?使用的文件名为smb.conf,通常放置在/etc/samba/smb.conf里,不过,最好使用rpm -qc packagename来查询! 2. 哪个指令可以用来判断smb.conf这个配置文件的正确性?当我们修改完smb.conf之后,记得要以testparm进行samba的确认! 3. 哪个指令可以用来查看SAMBA主机共享了什么目录?利用smbclient 即可:smbclient -L NetBiosName -U username。 4. smbmount的功能为何?在Linux系统上,将Windows的网络邻居或Linux的SAMBA提供共享的资源挂载到自己的系统下。 5. 我今天使用smbpasswd新增一位用户badbird,让它可以登入我的Linux SAMBA主机,但是无论如何就是无法新增。你认为原因可能是什么?由于Samba用户的信息必须存在于/etc/passwd里,既然无法新增,应该先确认badbird这个用户已经存在于Linux系统中!如果还是无法新增,则需要查阅smb.conf的设定,看/etc/samba/smbpasswd这个密码文件是否存在。第20章、简易Mail Server架设——Sendmail设定 1. 我在使用Sendmail寄信时,却发生下面这个问题,请问可能的原因为何? 可能的原因有两个: • 你的Client端计算机的IP或网域地址被/etc/mail/access挡住,或/etc/mail/access 没有打开你的RELAY权力; • 你进行了SMTP邮件认证的设定,但是忘记在MUA中设定账号与密码项!如果不是这两个原因,那么可能的问题就多了,请详细检查你的网络配置。 2. 请列出4个Mail Server的相关组件及其功能为何? • Mail Client:邮件客户端,其实就是使用邮件的那位用户所在的计算机; • Mail User Agent:为一个应用软件,主要的功能就是收受邮件主机的电子邮件,以及提供用户浏览与编写邮件的功能; • Mail Transfer Agent:为在计算机与本地端Mail server或Internet上的Mail server 传送信息与邮件的主机; • Mail Dilivery Agent:主要的功能就是将MTA收受的本机信件放置到本机账户下的收件箱中(Mailbox)。 3. POP3与SMTP的功能为何? • SMTP为用于MUA或MTA与MTA之间的传输协议,通常使用端口25,只要主机支持SMTP,并且其他relay的条件能配合,就可以进行邮件传递! • POP3 可以支持用户经由MUA 到MTA下载邮件,同时可将邮件从主机上删除! 4. 请简单说明DNS里MX标志与Mail的关系? MX recode可以让邮件服务器经由MX及A(address)这个记录进行mail gateway与mail route的功能,能够完成的功能相当多。 5. 今天我突然兴起,想修改我的sendmail,请问,sendmail的配置文件在哪里?而我要以什么程序修改sendmail? Sendmail的配置文件为sendmail.cf,这个文件通常放置在/etc/sendmail.cf或/etc/mail/sendmail.cf中。你可以手动编辑这个文件,不过不建议这样做,可以使用m4这个程序进行macro动作,进一步完成sendmail.cf的修改。使用m4时,需要先建立m4脚本,再以m4转换才能形成sendmail.cf。 6. 什么是mailling list?在sendmail下有什么方法可以不藉由其他软件实现mailling list的功能? Mailling list 就是在用户向一个账号寄邮件时,该账号会主动将该邮件传送到所有的用户!有点类似目前的电子报。在sendmail下,我们可以通过aliases(需配合newaliases)以及 ~/.forward来实现。 7. 如何查看邮件队列的内容,以及邮件队列内容放置在何方?使用mailq 即可知道当前邮件队列的内容,而邮件队列虽然可以通过sendmail.cf来修改,不过,默认情况下,都是以/var/spool/mqueue为邮件队列目录。 8. 若我的sendmail主机有很多名称,我想让这些名称都可以接收邮件,应该修改什么文件?可以修改/etc/mail/local-host-names。 9. 什么是Open Relay? 所谓的Open Relay 就是,不论发信端来自何处,你的Open Relay主机均可以帮发信端将信件发送出去,这个称为Open Relay。如果你的mail server 具有open relay功能,那么很容易遭到垃圾邮件的填充,不但造成网络频宽耗损,也容易让你的主机列入黑名单!第21章、简易Mail Server架设——Postfix 设定 1. 请问Cyrus SASL 在1.5.xx及2.xx 版本中,用来作为SMTP的认证机制有何不同?并请说明不同的版本与Postfix的搭配情况。一般而言,SASL 1.5适用于postfix 1.xx 版本,至于SASL 2.x 版则适用于postfix 2.xx 版。由于SASL 2.x主要使用saslauthd这个daemon做为身份认证方式,而SASL 1.5 则使用的是pam与pwcheck这两个机制,两个版本的认证机制并不相同。所以使用Postfix来设定SMTP的身份认证时,请务必记得版本的差异! 2. 如果要让Postfix可以收发来自非本机的外部信件,你可以修改main.cf里面的什么参数?需要在main.cf里修改的变量主要有: 1. 当Client来自信任网域,也就是IP符合$mynetworks的设定值时; 2. 当Client来自信任的机器,也就是主机名称符合 $relay_domains的设定项时; 3. 当Client来自不信任的网域,但是目的主机端符合$relay_domains的设定时。 3. 如何查看你的当前Postfix 服务器的所有设定参数?使用什么指令?利用postconf -n 可以查看当前main.cf里设定的参数,而如果要看所有的参数,则直接使用postconf。 4. 在Postfix中,由于已经具有邮件过滤机制,所以不需要使用procmail。请问,我该如何启用信件的Header 过滤机制?同时,如何设定规则,使得192.168.100.100这个主机的来信及只要邮件的标头为Your account的信件就予以丢弃?要启用信件的Header 过滤机制,可以在main.cf里启用这个设定值: header_checks = regexp:/完整路径/文件名 body_checks = regexp:/完整路径/文件名至于文件内容,可以这样做(注:因为要查阅的是标头,所以需要header_checks 后所接的文件名): /^Subject.*your/ account/ REJECT 第22章、简易FTP Server 架设——Wu FTP 设定 1. FTP在建立联机及数据传输时,会建立哪些联机?需建立两种联机,分别是command与data transfer的联机,就是命令信道与数据传输信道。一般来说,就是端口21(ftp)与端口20(ftp-data)。 2. FTP主动式与被动式联机有何不同?主动式联机时,command 联机是由Client端主动连接到主机端,但是ftp-data 则是由主机端主动联机到Client端。至于被动式联机,则不论command 还是ftp-data的联机,主机端都是监听客户端的请求。 3. 有哪些动作可以让你的FTP主机更安全? 有很多方法,在设定上有这些方法: • 让guest与anonymous的根目录限制在固定目录中(chroot或restricted); • 使用TCP_Wrappers启动FTP,并以它来控制可联机的IP; • 拒绝guest与anonymous使用change、delete、rename等指令; • 拒绝root登入或其他系统账号登入; • 拒绝大部分的上传行为。 4. 我们知道ftp 会启用两个端口,请问这两个端口在哪里规范?而且,一般正规的端口是几号?是在/etc/services里规范,此外,正规的端口在command是21而data是20。 5. Wu FTP的主要配置文件在哪里? /etc/ftpaccess 6. 在Wu FTP的配置文件中,log transfer是做什么用的?在用户进行数据传输时,log transfer可以将传输的文件大小、内容等记录到 /var/log/xferlog里。 7. 在Wu FTP的配置文件中,被动端口是做什么用的?我们知道FTP 有主动联机与被动联机两种方式,如果FTP主机允许被动联机,那么Client端联机时,主机端将会随机取大于1024的端口进行data transfer,为了避免随机取端口的问题,被动端口可以指定固定的几个小范围的端口,这样比较安全。 8. 哪个文件可以用来抵挡类似root这种系统账号的登入FTP? /etc/ftpusers!(其实是利用pam模块来实现) 9. 在FTP的Server与Client端进行数据传输时,有哪两种模式?为何这两种模式影响数据的传输?数据的传输有ASCII与Binary 两种方式,在进行ASCII传送方式时,被传送的文件将会以文字模式进行传送行为,因此,文件的属性会被修改,可能造成执行文件最后却无法执行等问题!一般来说,ASCII 通常仅用在文本文件与一些源代码文件的传送。第23章、简易FTP Server 架设——Pro FTPD 1. 如何建立一个用户,它可以使用FTP功能,但是无法以telnet或SSH登入系统?请使用proftpd的设定项来设定。因为无法使用telnet/SSH,这表示它可能不具有正常的shell,因此你可以将该用户在/etc/passwd里最后一个shell 参数改成 /bin/false,然后在proftpd.conf里设定RequireValidShell off即可。 2. 我明明在台湾,我的主机时区(/etc/sysconfig/clock)明明在台湾,为何登入proftpd之后,显示的系统时间就是慢了8小时?请问为什么?如何解决?这是由于proftpd 默认使用GMT 时间,因此,你必须重新设定proftpd,使得时间使用本地时间!修改proftpd.conf里的参数为TimesGMT off。 3. 如果出现无法登入,或与proftpd的FTP 功能相关的错误时,要如何排错? • 最先应该查询是否被防火墙挡住了(同时观察Server/Client端); • 克服防火墙问题后,再查询FTP 端口是否启动; • 再检阅 /var/log/messages里的错误信息; • 最后据以修订proftpd.conf的设定参数。第25章、简易Proxy Server 架设 1. 请说明为何Proxy 可以提升网络的WWW 浏览速度?这不但由于Proxy 可以通过上层Proxy 达到分流功能,使得网络传输更具效率,还由于Proxy 会将数据快速缓存在自己的硬盘内,以方便下次的查询,因此对于局域网的浏览速度是有帮助的! 2. 万一squid 发生了问题,请问我该如何找出问题所在?最主要还是在于找出问题,所以需要由suqid的登录文件查起,当然,硬盘的优劣以及squid所取得PID的owner与group都是需要注意的! 3. 请说明Proxy 服务器的功能为何? Proxy 服务器的功能在于代理来自Client的上网请求,并向目的端主机送出Client端的请求,以协助Client端取得所需的浏览网页。此外,并可将网页数据进行缓存功能。 4. 试说明为何Proxy 服务器可以提升网域内的网络安全性?由于Proxy 服务器架设之后,会让网域仅有一个Proxy主机的出口,即单点对外的服务器,这可以强化网络的管理。第26章、简易NIS Server 架设 1. 请简单说明NIS Server的功能与工作流程。当你有多台具有相同账号的Linux主机时,即可利用NIS提供的服务,利用一台NIS主机掌控所有的Linux主机登入时所需查阅的账号与密码验证。流程如下: • NIS Server 将自己系统内的/etc/passwd、/etc/group、/etc/hosts等制作为DBM的数据库格式文件。 • NIS Client 若有用户的登入请求时,会前往NIS Server 搜寻数据库里的数据做为验证之用。 • 每次更动NIS Server上的用户数据时,则NIS Server 需要重新制作DBM 数据库文件。 2. 请简单说明NIS Server/Client的架构。 NIS master/client的特色为: • NIS Server的master先将自己的账号、密码相关文件制作为数据库文件; • NIS Server的master 将自己的数据库文件传送到slave上; • NIS Server的slave 接收来自信任NIS Server master主机的数据后,更新自己的数据库,使自己的数据库与master主机的数据同步; • 网域中的所有NIS Client查询NIS Server 时,会找寻最先响应的那台NIS主机的数据库内容。也就是说,架设slave NIS server可以分担区域内NIS的工作! 3. NIS启动之前需要先启动哪个服务,否则就无法启动成功?因为NIS是RPC Server的一种,所以必须启动portmap这个daemon。 4. 我的NIS网域名称为bird,另外,我主机的IP与主机名称为192.168.5.1/ bird.nis.org,请问这些信息需要设定在NIS Server的哪些文件之内?网域名称可以直接手动输入nisdomainname bird,也可以写入 /etc/sysconfig/ network里“NISDOMAIN=bird”; IP与主机名称需要写入/etc/hosts里。 5. /etc/nsswitch.conf的功能为何?如果我想先查询本地的密码文件,再查询NIS,需要如何设定?该文件的功能很多,在DNS 方面,可以用来决定正、反解的顺序,至于密码则可以用来判断何者为先!如果需要先查本机再查NIS的密码,需要的参数: passwd: files nis nisplus shadow: files nis nisplus 6. NIS Server 将密码等文件做成数据库以供NIS client查询,那么请问使用什么动作后,可以将密码文件转成NIS的数据库格式文件? /usr/lib/yp/ypinit -m 7. 如果我想增加网域中一个新的账号newaccount,并且这个newaccount可以让NIS Client查询到它的账号与密码,需要进行哪些步骤? 1. 先登入NIS Server以useradd newaccount及passwd newaccount新增账号; 2. 制作密码数据库:/usr/lib/yp/ypinit –m; 3. 重新启动:/etc/rc.d/init.d/ypserv restart ; /etc/rc.d/init.d/yppasswdd restart。 8. 实例题: 下面是我的网域参数特征。利用以下参数来设定NIS架构,请一步一步写下你的设定。 network/netmask:192.168.1.0/255.255.255.0 NIS server : 192.168.1.100 (hostname: server.nis.test) NIS cient: 192.168.1.200 (hostname: client1.nis.test) NIS domain name: nis.test 请自行参考本章内容设定。 9. 承上题:如果我的网域太大,所以有一台NIS slave主机,这台主机的IP为192.168.1.50,请问该如何设定这台主机?请参考http://www.linux-nis.org/nis-howto/HOWTO/index.html 第27章、简易NTP 服务器设定 1. 什么是GMT(格林威治)时间与UTC时间?由于地球是圆的,所以在同一时间点上,地球共可分为24个时区,其中,我们以欧洲的格林威治时间为一个对照依据,这个即是GMT 时间。台湾时间比GMT 时间快了8 小时。至于UTC 时间则是由原子钟计算的时间,这个时间相当准确,主要仍以格林威治时间为时区。 2. Linux系统的所有时区文件放置哪一个目录下?所有的时区文件放置于/usr/share/zoneinfo下,至于系统时区的设定文件则在/etc/sysconfig/clock与 /etc/localtime。 3. 我的Linux主机本来放置在日本东京,现在想将它拿到台湾,不过因为日本与台湾有一个小时的时差,所以我的时间需要经过调整。不过,因为我的BIOS Time主要是依据UTC时间来设定的,所以似乎只要更动时区参数即可。请问我该如何设定时区,好让我的Linux主机能够显示正确的时间? 将 /usr/share/zoneinfo/Asia/Taipei这个文件复制为 /etc/localtime。 4. 当前Linux系统上的时间服务器主要是以NTP为主,请问这个daemon的主要配置文件放在哪里,而在该配置文件中,针对上层time server的设定参数为何?而那个driftfile 参数是做什么用的?在/etc/ntp.conf这个文件中,上层time server的设定参数为server。那个driftfile 则是用来作为时间差额的计算,该参数后接的是一个完整路径的文件名,该文件里的数值单位为百万分之一(ppm)。 5. 请问ntptrace的功能为何?可以用来追踪上层time server的联机时间与当前时间! 6. 我以date 更新了我Linux上的时间后,该如何将时间数据写入BIOS内?必须利用hwclock程序来写入,利用hwclock -w写入BIOS。 7. 在Linux上如何进行网络校时?最简单的方法即是使用ntpdate time.servers.ip; hwclock –w。
鸟哥的私房菜
最新推荐文章于 2024-08-24 15:46:50 发布