文档库 最新最全的文档下载
当前位置:文档库 › Linux网络安全性

Linux网络安全性

Linux网络安全性
Linux网络安全性

第七章网络安全性

7.1 网络安全简介

连接网络的主机,特别是连接因特网的主机,比没有连接入网络的主机会暴露出更多的安全问题。安全问题。网络安全性高可以降低连接网络的风险,但就其性质而言,网络访问和计算机安全性是矛盾的。网络是一条数据高速公路,它专门用来增加对计算机系统的访问,而安全性却需要控制访问。提供网络安全性是在公开访问与控制访问之间的一种折中。

我们可以将网络想象成高速公路,它就像高速公路一样为所有的访问者——无论是受欢应的访问者还是不受欢应的黑客(hacker,在网络上非法入侵别人机器的人)——提供相等的访问权。通常,我们是通过锁门来为财产提供安全性的,而不是封锁接到。同样,网络安全性一般是指对单台主机提供何时的安全性,而不是直接在网络上提供安全性。

在很多小城镇中,人们相互之间都互相认识,因而房门往往是不锁的。但在大城市中,房门安装了笨重的门闩和链条。在短短的十几年中,因特网已从一个只有数十个用户的“小镇”发展到具有数百万用户的“大城市”。就像大城市使邻居之间变得陌生一样,因特网的飞速发展减少了网络邻居之间的信任度。对计算机安全性要求的增长是一个负效应,但这种发展并不是一件坏事情。一个大城市可以提供更大的选择余地和更多的服务,同样,扩展后的网络也可以提供日益增加的服务。对大多数人来说,安全只是访问网络时需要考虑的一小部分。

随着网络的发展,其越来越社会化,网络的非法入侵事件也有增无减。但是,这些入侵的十几程度常常被大大的夸大了。对侵入迹象的反应过度会阻碍对网络的正常利用,因此一定要对症下药。有关网络安全性的最好建议是尊重常规,在RFC1233中很好的阐述了这一原则:

“尊重常规是用来确定安全策略的最何时的准则。精心设计的安全性方案和机制,诚然是令人佩服的,也确实可以充分发挥作用,但应兼顾控制的简单性,即实施其方案时,在经济和时间上的投资也必须予以充分考虑”。

7.1.1 网络安全的重要性

1996年初,五角大楼宣布其计算机系统在1995年遭到215万次非法入侵。更令人不安的是大多数非法入侵未被察觉。这些非法入侵给国家安全带来的影响程度还未确定,但是已发现的非法入侵多数是针对计算机系统所存放的敏感信息,其中有三分之二的非法入侵是成功的,黑客盗窃、修改或破坏了系统上的数据。

同时,我们也应该以严肃的态度来考虑企业间谍无处不在这个问题。有很多公司并没有充分的准备来对付非法入侵者,甚至没有意识到它们的存在,有些公司还没有看到这些威胁对它们的影响。事实上,计算机在线社会是人类生存的真实社会的仿制品,在电子空间中有许多不道德的人不断侵犯各种计算机系统上的安全系统,还有一些并非不道德的人出于某种心理在电子空间徘徊并和用户开一些玩笑来嘲笑用户的安全性。

事实上,网络从其出现的一开始就受到黑客们的攻击,下面是历史上著名的几次网络事故:

l1988年9月,著名的蠕虫程序(worm)被传播到因特网上,造成因特网的瘫痪,使许多网络不能连接到因特网上。

l1991年5月,在Biscay海湾发生了一起由于网络被非法入侵而造成的沉船事故。这是由于欧洲气象预报中心的计算机系统被网络黑客侵入,造成气象预报卫星不能正常工作,导致一场暴风雨的预报失误而酿成的悲剧。

l1993年6月,美国一家医院连接到网络上的一些化验报告,其数据被黑客侵入后将阴性改为阳性,许多被化验者因此误认为自己患上了癌症。

在过去的十几年中,网络黑客们一直在通过计算机的漏洞对计算机系统进行攻击,而且这种攻击方法变得越来越复杂。

1988年,大部分入侵者的方法仅是靠猜测口令,利用系统的配置不当、以及系统上软件本身的漏洞。到了1998年,这些方法仍被使用,但又增加了新的手段。有些入侵者甚至通过读取操作系统源代码的方法来获取系统的漏洞,并以此展开攻击。一些网络黑客编写的攻击站点的工具软件,在因特网上也可以容易的得到,这就给网络安全带来了更严峻的挑战。

正是由于这些在线犯罪,FBI的国家计算机犯罪小组建议采用防火墙作为防止计算机犯罪的措施。虽然NCCS还有其它安全措施,但是普遍认为采用防火墙是防止Intranet被入侵的最好方法。

其他被推荐的措施有:

l对非法访问的登录进行横幅警告。显示在登录屏幕上,警告那些非法用户,它们正在进入一个受保护的系统。

l键盘级监控。这个安全措施十几上是捕捉在某台工作站上的键盘敲击并记录在文件中。这些文件经管理员查看后确定是否有非正常方式,如从一台工作站上出现多次登录失败等。

l捕捉、跟踪来自电话公司的服务。这种服务允许用户的公司截取进来的电话并跟踪到出发点,并找出和排除非法的远程访问。

l呼叫者ID。这种服务(现在家庭用户中也很流行)识别进入系统的号码和姓名,能够在一开始就识别并排除非法的远程访问。

l电话截取。这种服务(与呼叫者ID有关)允许某些电话号码被阻止接通到电话系统。例如。假设调制解调器(远程访问系统)接收到一个来自某大学宿舍的一个数字电话,可以截取这个电话号码(可以自己打个电话到学校机关)。

l数据加密措施。可以用加密和解密软件来“搅乱”数据,使多数黑客没有兴趣登录到系统。

l防火墙。所有这些安全措施中,防火墙是最具有防护性的。因为它可以根据需要设计并安装在系统中的最重要部位。如果将防火墙与其他一些安全措施相结合,会得到一个对公司的数据和Intranet最佳的安全措施。

7.1.2 信息系统安全的脆弱性

黑客攻击网络已有十几年的历史。它们的攻击方法包括:猎取访问路线、猎取口令、强行闯入、改变与建立UAF(用户授权文件)记录,偷取额外特权、引入“特洛伊木马”软件掩盖其真实企图、引入命令过程或程序“蠕虫”把自己几声在特权用户上、清理磁盘、使用一个节点作为网关(代理)到其他节点上以及通过隐蔽信道进行非法活动等。

黑客使用很多工具进行攻击,例如Rootkit工具、特洛伊木马和轨迹跟踪等。SATAN 工具专门用来查找和分析一个网络安全的薄弱环节。Aita Vista工具可以用来查找一个网络的脆弱部分或者黑客敏感的信息。

在因特网上有名的黑客网址有:

https://www.wendangku.net/doc/556420726.html,

https://www.wendangku.net/doc/556420726.html,

https://www.wendangku.net/doc/556420726.html,/warez.html

https://www.wendangku.net/doc/556420726.html,

https://www.wendangku.net/doc/556420726.html,/home/claw/hackers.html

https://www.wendangku.net/doc/556420726.html,/yakboy/42ff.html

https://www.wendangku.net/doc/556420726.html,/silicon/void-f.html

黑客在网络上经常采用的攻击手段是:利用UNIX操作系统提供的telnet、ftp和remote exec守护进程等缺省帐户进行攻击。另外,黑客还可以采用UNIX操作系统提供的命令finger 与rusers等收集的信息不断提高自己的攻击能力;利用sendmail漏洞,采用debug工具、wizard工具、pipe机制、假名及Ident守护进程进行攻击;采用ftp的匿名访问进行攻击;利用NFS的漏洞进行攻击;利用CGI程序的漏洞进行攻击;通过rsh、rlogin、rexec守护进程以及X Windows等方法进行攻击。

网络黑客之所以能够得逞,是因为信息系统本身存在一些安全方面的脆弱性。

下面是信息系统在安全方面存在的一些问题:

1.操作系统安全的脆弱性

l操作系统的体系结构造成操作系统本身的不安全,这是计算机系统不安全的根本原因。操作系统的程序可以动态链接,包括I/O的驱动程序与系统服务,都可以用打补丁的方式进行动态链接。Linux操作系统的许多版本升级开发都是采用打补丁的方式进行的。这种方法厂商可以使用,黑客同样也可以使用。这种动态链接是计算机病毒产生的好环境。一个靠升级与打补丁开发的操作系统不可能从根本上解决安全问题,但操作系统支持程序动态链接与数据动态交换又是现代系统继承和系统扩展的必备功能,因此这是互相矛盾的。

l操作系统支持在网络上传输文件,包括可执行的映象文件,即在网络上加载程序。这样也破坏了系统的安全性。

l操作系统不安全的另一个原因在于它可以创建进程,甚至支持在网络的节点上创建和激活远程进程,更重要的是被创建的进程可以继承创建进程的权限。这一点与上一点(可以在网络上加载程序)结合起来就构成了可以在远端服务器上安装“间谍”软件的条件。若再加上把这种间谍软件以补丁的方式“打”在一个合法的用户上,尤其“打”在一个特权用户上,间谍软件就可以使系统进程与作业的监视程序都检测不到它的存在。

l操作系统通常都提供守护进程。这种软件实质上是一些系统简称,它们总在等待一些条件的出现。一旦有满足需要的条件出现,程序便继续运行下去。这样的软件都是黑客可以利用的。这里应该说明的是:关键不在于有没有守护进程,而在于这种守护进程在UNIX、Windows NT操作系统上是否具有与操作系统核心层软件同等的权力。

l操作系统提供远程过程调用(RPC)服务,RPC服务本身也存在一些可以被非法用户利用的漏洞。

l操作系统提供debug(调试器)程序。许多研制系统软件的人员,它们的基本技能就是开发补丁程序和系统调试器。掌握了这两种技术,它们就有条件从事黑客可以从事的事情。

l操作系统安排的无口令入口是为系统开发人员提供的便捷入口,但它也是黑客的通道。另外,有些操作系统还有隐蔽的通道。

2.计算机网络安全的脆弱性

Iternet/Intranet使用的TCP/IP协议以及FTP、E-mail、RPC和NFS等都包含许多不安全的因素,存在许多漏洞。

许多人都知道,1988年Robert Morries在VAX机上用C语言编写了一个通过GUESS 软件,根据搜索的用户名字来猜测机器密码口令的程序。结果是该程序自1988年11月开始在网络上传播依赖,几乎每年都给因特网上的系统造成一亿美元的损失。

黑客通常采用源端口、源路由、SOCKS、TCP序列预测或者使用远程过程访问(RPC)进行直接扫描等方法对防火墙进行攻击。

3.数据库管理系统安全的脆弱性

数据库管理系统的安全必须与操作系统的安全相匹配。由于数据库的安全管理同样是建立在分级管理的基础之上的,因此DBMS的安全也是脆弱的。

4.缺少安全管理

世界上现有的信息系统绝大多数都缺少安全管理员,缺少信息系统安全管理的技术规范,缺少定期的安全测试与检查,更缺少安全监控。

我国许多企业的信息系统已经使用了许多年,但计算机的系统管理员与用户的注册还出于缺省配置的状态。

从某种意义上讲,缺少安全管理是造成系统不安全的最直接因素。因此,如果要提高整个系统的安全性,首要的任务就是找一位专门管理系统的人员,由他来维护和监督系统的安全。

7.2 Linux网络不安全的因素

大部分计算机安全问题是由于管理不当,而不是由于系统软件的漏洞。严谨的管理将会大大减少系统被非法入侵的可能性。

下面是一些常见的安全漏洞。

1.特权软件的安全漏洞

l IFS

一种攻击的方法是通过IFS(Input Files Separator,输入字段分隔符) shell变量来实现的。该变量用于决定传给shell字符串的分隔符。例如,一个程序调用函数system()或popen()执行一个shell命令,那么该命令首先由shell来分析,如果执行的用户可以控制IFS环境变量,就可能会导致不可预测的结果。

这是一个典型例子:如果程序执行如下的代码:

system(“/bin/ls –l”);

如果IFS变量被设置为包含”/”字符,而一个恶意的程序被命名为bin并且放在用户的path变量那,则该命令会被解释成bin ls –l,它执行程序bin并带有两个参数ls和-l。为了防止这种情况的发生,一个程序应该尽量不要使用system()、popen()、execlp()、和execvp()这些依赖外部环境的函数来运行其他程序,而应该使用execle()这样自行传递环境变量的函数。

下面是一个设置IFS变量的命令行指令:

%setenv IFS /#C shell

$IFS=/#B shell

$export $IFS

HOME

另一个攻击方法是通过使用HOME环境变量。

通常,csh和ksh在路径名称中用字符”~”来代替HOME变量。因此,如果一个入侵者能改变HOME变量的值,就能利用一个使用字符”~”作为HOME命令的shell文件来达到

目的。

例如,如果一个shell文件用~/。rhosts或者$HOME/。rhosts指向用户指定的文件,就有可能被人通过在执行命令前重新设置HOME环境变量的方法来进行破坏活动。

l PATH

使用PATH攻击方法的特征是,利用PATH环境变量中文件路径的值和顺序。不合理的路径顺序会导致意外的结果——如果执行的命令不是以绝对路径的方式执行。例如,用下面的方式指定PATH:

PATH=。/:/usr/bin:/bin:/sbin

如果有人在当前路径创建了一个名为ls的文件,它就会比/bin/ls先执行。如果该文件包括如下内容:

#! /bin/sh

/bin/cp /bin/sh /tmp/。secret 2>/dev/null

rm –f $0

exec /bin/ls “$1”

该代码会暗中创建一个/bin/sh的拷贝,它在执行时会以执行该文件的用户的身份被执行。此外,它消除证据,使用户在执行该命令时感觉不到是在执行另外一个程序。

l缓冲区溢出

由于不好的编程习惯,也会导致软件本身的安全漏洞。在这个方面最典型的例子是Morris蠕虫攻击程序。该漏洞是由于系统调用gets()(系统调用fgets()没有这个问题)时不检查参数的长度而造成的。这使得在用户的控制下缓冲区会溢出。因此,在正常情况下,程序在遇到缓冲区溢出时会停止运行。而如果用户对操作系统很熟悉,就可以使程序在遇到缓冲区溢出时转而运行另一个程序。

设想如下情况,一个特权程序(suid)在遇到缓冲区溢出后转而执行一个shell,那么这时的普通用户就变成得来root用户。因此,缓冲区溢出问题是非常严重的。据统计,有70%以上的成功的非法入侵是通过缓冲区溢出来实现的。另外还有几个系统调用也存在同样的漏洞,如scanf()、sscanf()、fscanf()和sprintf()。

l umask值

一个程序员经常犯的错误是,umask(缺省的文件保护掩码)的设置不正确。许多程序没有检查umask(的值,而且经常忘记指定新建文件的保护掩码值。程序创建了一个新文件,却忘记改变其保护模式而使之安全。黑客们经常可以利用这一点,更改可写的文件从而获取特权。

因此,在创建一个新文件之前,一定要先用Linux提供的系统调用umask()设定一个正确的umask值。

l状态返回值

另一个程序员经常犯的错误是程序不检查每个系统调用的返回值。在程序设计时程序员往往会认为某些系统调用总是正确执行的。但是,如果一个黑客可以控制他的运行环境,那么他就可以设法使一个在程序中被认为是永远正确的系统调用产生错误。这会使用户的程序产生不可预测的结果。

l捕捉信号

一般,程序员编写的程序不捕捉它可以接收的信号,这一点也常常被黑客们所利用。

例如,一个黑客将其umask设置为一个适当的值,然后向一个没有正确捕捉信号的特权程序发送SIGQUIT信号——该信号导致该程序产生core文件。此时,该core文件的所有者是执行该程序的UID,但是它的保护掩码是umask设定的,黑客可以读取这个文件。黑客就可以进一步利用gdb等工具来读这个core文件,从而可能获取系统上的重要信息。

l队列边界检查

这个漏洞与前面讲述的“缓冲区溢出”问题是密切相关的。

典型的情况是,程序中使用了固定长度的数组变量,而在执行时却不检查其中的数据是否超过数组边界,从而导致程序出现不可预测的结果。

2.特洛伊木马程序

特洛伊木马程序与一般用户想要执行的程序从外观上(如文件名)看很相似,例如编辑器、登录程序或者游戏程序。这种程序与一般用户想要执行的程序表面上很相似,但是却完成其他的操作,例如删除文件、窃取密码和格式化磁盘等。等到用户发现,却为时已晚。

特洛伊木马可以出现在很多地方。它们可以出现在被编译过的程序中,也可以出现在又系统管理员执行的系统命令文件中。有的特洛伊木马程序还可作为消息(例如电子邮件或发给终端的消息)的一部分发送。一些邮件头(mail headers)允许用户退到外壳(shell)并执行命令,该特性能在邮件被阅读的时候激活。给终端发送特定的消息能在终端上存储一个命令序列,然后该命令序列被执行,就好像在终端上直接从键盘输入一样。编辑器初始化文件(如vi对应的.exrc文件)也是经常出现特洛伊木马的地方。

特洛伊木马程序非常普遍。黑客们经常以多种方式改变系统,以便在最初的攻击活动被发现后,还可以进入系统。这也使一个被攻破的系统很难恢复。因此为了找出特洛伊木马,有必要搜索整个系统。

3.网络监听及数据截取

计算机网络安全中的一个重大问题是计算机之间传输的数据可以很容易的被截取。在过去大型主机的时代,这不成为威胁,因为在那种系统上数据的传输处于系统的控制之下。但由于异种机的互联,敏感数据的传输会处于系统的控制之外,有许多现成的软件可以监视网络上传输的数据。尤其脆弱的是总线型网络(例如以太网),这种网络上发送给每个特定机器的数据都可以被网络上的任何机器截取到。

这意味着任何数据都可以被截取并用于不同的目的,不仅仅包括敏感数据,还有信息交换(例如登录顺序,包括口令)。数据截取并不一定要从网络本身截取。通过在网络软件上或应用程序上安装特洛伊木马,就能截取数据并保存到磁盘上以备后用。

4.软件之间的相互作用和设置

计算机安全受到威胁的根本原因是计算机系统的运行的软件日益增长的复杂性。任何一个人都不可能编写整个系统,因此也无法预测系统那每个部分之间的相互作用。一个例子是/bin/login的一个问题,它接收其他一些程序的非法参数,从而可以使普通用户成为超级用户。

5.研究源代码的漏洞

许多入侵者是通过研究一些程序的源代码而成功的攻击系统的。通常,这种源代码可以免费下载得到,这使得许多人可以研究它,并找出里面的潜在漏洞。过去这种攻击方法还很少见,而如今却非常普遍。从某种意义上讲,这也是一种好事。因为它可以促进程序员改正软件错误,也使人们了解一些软件编程的方法。

7.3 Linux程序员安全

Linux系统为程序员提供了许多子程序,这些子程序可存取各种安全属性。有些是信息子程序,返回文件属性、实际的和有效的UID、GID等信息。有些子程序可改变文件属、UID、GID等;有些处理口令文件和小组文件,还有些完成加密和解密。

本节主要讨论有关系统子程序,标准C函数库库子程序的安全,如何写安全的C程序

并从root的角度介绍程序设计(仅能被root调用的子程序)

7.3.1 系统子程序

下面是和网络安全有关的一些系统子程序。

1.I/O子程序

(1)creat():建立一个新文件或重写一个暂存文件。

需要两个参数:文件名和存取许可值(8进方式)。如:

/* 建立存取许可方式为0666的文件 */

creat("/usr/pat/read_write",0666)

调用此子程序的进程必须要有建立的文件的所在目录的写和执行许可,置给creat()的许可方式变量将被umask()设置的文件建立屏蔽值所修改,新文件的所有者和小组由有效的UID和GID决定。

返回值为新建文件的文件描述符。

(2)fstat():见后面的stat()

(3)open():在C程序内部打开文件。

需要两个参数:文件路径名和打开方式(I,O,I&O)。

如果调用此子程序的进程没有对于要打开的文件的正确存取许可(包括文件路径上所有目录分量的搜索许可),将会引起执行失败。如果此子程序被调用去打开不存在的文件,除非设置了O_CREAT标志,调用将不成功。此时,新文件的存取许可作为第三个参数(可被用户的umask修改)。

当文件被进程打开后再改变该文件或该文件所在目录的存取许可,不影响对该文件的I/O操作。

(4)read():从已由open()打开并用作输入的文件中读信息。

它并不关心该文件的存取许可。一旦文件作为输入打开,即可从该文件中读取信息。

(5)write():输出信息到已由open()打开并用作输出的文件中。

同read()一样,它也不关心该文件的存取许可。

2.进程控制

(1)exec()族:包括execl(),execv(),execle(),execve(),execlp()和execvp()。

可将一可执行模快拷贝到调用进程占有的存贮空间。正被调用进程执行的程序将不复存在,新程序取代其位置。

这是UNIX系统中一个程序被执行的唯一方式:用将执行的程序复盖原有的程序。

安全注意事项:

l实际的和有效的UID和GID被传递给由exec()调入的不具有SUID和SGID许可的程序。

l如果由exec()调入的程序有SUID和SGID许可,则有效的UID和GID将设置给该程序的所有者或小组。

l文件建立屏蔽值将传递给新程序。

l除设了对exec()关闭标志的文件外,所有打开的文件都传递给新程序。用fcntl()子程序可设置对exec()的关闭标志。

(2)fork():用来建立新进程。其建立的子进程是与调用fork()的进程(父进程)完全相同的拷贝(除了进程号外)

安全注意事项:

l子进程将继承父进程的实际和有效的UID和GID。

l子进程继承文件方式建立屏蔽值。

l所有打开的文件传给子进程。

(3)signal():允许进程处理可能发生的意外事件和中断。

需要两个参数:信号编号和信号发生时要调用的子程序。

信号编号定义在signal.h中。

信号发生时要调用的子程序可由用户编写,也可用系统给的值,如:SIG_IGN,则信号将被忽略,SIG_DFL则信号将按系统的缺省方式处理。

如许多与安全有关的程序禁止终端发中断信息(BREAK和DELETE),以免自己被用户终端终止运行。

有些信号使UNIX系统的产生进程的核心转储(进程接收到信号时所占内存的内容,有时含有重要信息),此系统子程序可用于禁止核心转储。

3.文件属性

(1)access():检测指定文件的存取能力是否符合指定的存取类型。

需要两个参数:文件名和要检测的存取类型(整数)。

存取类型定义如表7-1:

表7-1 acess()存取类型定义

0检查文件是否存在

1检查是否可执行(搜索)

2检查是否可写

3检查是否可写和执行

4检查是否可读

5检查是否可读和执行

6检查是否可读可写可执行

这些数字的意义和chmod命令中规定许可方式的数字意义相同。

此子程序使用实际的UID和GID检测文件的存取能力(一般有效的UID和GID 用于检查文件存取能力)。

返回值为0表示许可,-1表示不许可。

(2)chmod():将指定文件或目录的存取许可方式改成新的许可方式。

需要两个参数:文件名和新的存取许可方式。

(3)chown():同时改变指定文件的所有者和小组的UID和GID。

注意,chown()函数与shell中的chown命令的功能不同。

由于此子程序可以同时改变文件的所有者和组,故必须要取消所操作文件的SUID和SGID许可,以防止用户建立SUID和SGID程序,然后运行chown()调用去获得别人的权限。

(4)stat():返回文件的状态(属性)。

需要两个参数:文件路径名和一个结构指针,该结构指针被用来指向状态信息的存放的位置。

结构定义见表7-2:

表7- 2 结构定义

st_mode文件类型和存取许可方式

st_ino Inode节点号

st_dev文件所在设备的ID

st_rdev特别文件的ID

st_nlink文件链接数

st_uid文件所有者的UID

st_gid文件组的GID

st_size按字节计数的文件大小

st_atime最后存取时间(读)

st_mtime最后修改时间(写)和最后状态的改变

st_ctime最后的状态修改时间

返回值为0表示成功,1表示失败

(5)umask():将调用进程及其子进程的文件建立屏蔽值设置为指定的存取许可。

需要一个参数:新的文件建立屏值。

4.UID和GID的处理

(1)getuid():返回进程的实际UID。

(2)getgid():返回进程的实际GID。

以上两个子程序可用于确定是谁在运行进程。

(3)geteuid():返回进程的有效UID。

(4)getegid():返回进程的有效GID。

以上两个子程序在一个程序不得不确定它是否在运行某用户而不是运行它本来的用户的SUID程序时非常有用,可调用它们来检查确认本程序的确是以该用户的SUID许可在运行。

(5)setuid():用于改变有效的UID。

对于一般用户,此子程序仅对要在有效和实际的UID之间变换的SUID程序才有用(从原有效UID变换为实际UID),以保护进程不受到安全危害。实际上该进程不再是SUID方式运行。

(6)setgid():用于改变有效的GID。

7.3.2 标准C函数库

下面是一些经常使用的与安全有关的标准C函数。

1.标准I/O

这些函数被用来进行基本的I/O操作。

(1)fopen():打开一个文件供读或写,安全方面的考虑同open()一样。

(2)fread(),getc(),fgetc(),gets(),scanf()和fscanf():从已由fopen()打开供读的文件中读取信息。它们并不关心文件的存取许可。这一点同read()系统调用非常的类似,请读者注意。

(3)fwrite()、put()、fputc()、puts、fputs()、printf()、fprintf():写信息到已由fopen()打开供写的文件中。

它们也不关心文件的存取许可。同write()。

(4)getpass():从终端上读至多8个字符长的口令,不回显用户输入的字符。

需要一个参数:提示信息。

该子程序将提示信息显示在终端上,禁止字符回显功能,从/dev/tty读取口令,然后再恢复字符回显功能,返回刚敲入的口令的指针。

(5)popen():将在“运行shell”那节中介绍。

2./etc/passwd处理

有一组子程序可对/etc/passwd文件进行方便的存取,可对文件读取到入口项或写新的入口项或更新等等。

(1)getpwuid():从/etc/passwd文件中获取指定的UID的入口项。

(2)getpwnam():对于指定的登录名,在/etc/passwd文件检索入口项。

以上两个子程序返回一指向passwd结构的指针,该结构定义在/usr/include/pwd。h中,

定义如下:

struct passwd

char * pw_name; /* 登录名 */

char * pw_passwd; /* 加密后的口令 */

uid_t pw_uid; /* UID */

gid_t pw_gid; /* GID */

char * pw_age; /* 代理信息 */

char * pw_comment; /* 注释 */

char * pw_gecos;

char * pw_dir; /* 主目录 */

char * pw_shell; /* 使用的shell */

};

(3)getpwent(),setpwent(),endpwent():对口令文件作后续处理。

首次调用getpwent(),打开/etc/passwd并返回指向文件中第一个入口项的指针,保持调用之间文件的打开状态。

再调用getpwent()可顺序地返回口令文件中的各入口项。

调用setpwent()把口令文件的指针重新置为文件的开始处。

使用完口令文件后调用endpwent()关闭口令文件。

(4)putpwent():修改或增加/etc/passwd文件中的入口项。

此子程序将入口项写到一个指定的文件中,一般是一个临时文件,直接写口令文件是很危险的。最好在执行前做文件封锁,使两个程序不能同时写一个文件。算法如下:l建立一个独立的临时文件,即/etc/passnnn,nnn是PID号。

l建立新产生的临时文件和标准临时文件/etc/ptmp的链,若建链失败,则为有人正在使用/etc/ptmp,等待直到/etc/ptmp可用为止或退出。

l将/etc/passwd拷贝到/etc/ptmp,可对此文件做任何修改。

l将/etc/passwd移到备份文件/etc/opasswd。

l建立/etc/ptmp和/etc/passwd的链。

l断开/etc/passnnn与/etc/ptmp的链。

注意:临时文件应建立在/etc目录,才能保证文件处于同一文件系统中,建链才能成功,且临时文件不会不安全。此外,若新文件已存在,即便建链的是root用户,也将失败,从而保证了一旦临时文件成功地建链后没有人能再插进来干扰。当然,使用临时文件的程序应确保清除所有临时文件,正确地捕捉信号。

3./etc/group的处理

有一组类似于前面的子程序处理/etc/group的信息,使用时必须用#include语句将/usr/include/grp.h文件加入到自己的程序中。该文件定义了group 结构,将由getgrnam(),getgrgid(),getgrent()返回group结构指针。

(1)getgrnam():在/etc/group文件中搜索指定的小组名,然后返回指向小组入口项的指针。

(2)getgrgid():类似于前一子程序,不同的是搜索指定的GID。

(3)getgrent():返回group文件中的下一个入口项。

(4)setgrent():将group文件的文件指针恢复到文件的起点。

(5)endgrent():用于完成工作后,关闭group文件。

(6)getuid():返回调用进程的实际UID。

(7)getpruid():以getuid()返回的实际UID为参数,确定与实际UID相应的登录名,

或指定一UID为参数。

(8)getlogin():返回在终端上登录的用户的指针。

系统依次检查STDIN,STDOUT,STDERR是否与终端相联,与终端相联的标准输入用于确定终端名,终端名用于查找列于/etc/utmp文件中的用户,该文件由login维护,由who程序用来确认用户。

(9)cuserid():首先调用getlogin(),若getlogin()返回NULL指针,再调用etpwuid(getuid())。

以下为shell命令:

(10)logname:列出登录进终端的用户名。

(11)who am i:显示出运行这条命令的用户的登录名。

(12)id:显示实际的UID和GID(若有效的UID和GID和实际的不同时也显示有效的(UID和GID)和相应的登录名)。

4.加密子程序

1977年1月,NBS宣布一个用于美国联邦政府ADP系统的网络的标准加密法:数据加密标准即DES用于非机密应用方面。DES一次处理64BITS的块,56位的加密键。

(1)setkey(),encrypt():提供用户对DES的存取。

此两子程序都取64BITS长的字符数组,数组中的每个元素代表一个位,为0或1。setkey()设置将按DES处理的加密键,忽略每第8位构成一个56位的加密键。encrypt()然后加密或解密给定的64BITS长的一块,加密或解密取决于该子程序的第二个变元,0:加密1:解密。

(2)crypt():是UNIX系统中的口令加密程序,也被/usr/lib/makekey命令调用。

crypt()子程序与crypt命令无关,它与/usr/lib/makekey一样取8个字符长的关键词,2个salt字符。关键词送给setkey(),salt字符用于混合encrypt() 中的DES算法,最终调用encrypt()重复25次加密一个相同的字符串。

返回加密后的字符串指针。

5.运行shell

下面这两个函数被用来在程序中运行shell命令:

(1)system():运行/bin/sh执行其参数指定的命令,当指定命令完成时返回。

(2)popen():类似于system(),不同的是命令运行时,其标准输入或输出联到由popen()返回的文件指针。

二者都调用fork(),exec(),popen()还调用pipe(),完成各自的工作,因而fork()和exec()的安全方面的考虑开始起作用。

7.3.3 书写安全的C程序

一般有两方面的安全问题,在写程序时必须考虑:

1.确保自己建立的任何临时文件不含有机密数据,如果有机密数据,设置临时文件仅对自己可读/写。确保建立临时文件的目录仅对自己可写。

2.确保自己要运行的任何命令(通过system(),popen(),execlp(),execvp()运行的命令)的确是自己要运行的命令,而不是其它什么命令,尤其是自己的程序为SUID或SGID许可时要小心。

第一方面比较简单,在程序开始前调用umask(077)。若要使文件对其他人可读,可再调chmod(),也可用下述语名建立一个"不可见"的临时文件。

creat("/tmp/xxx",0);

file=open("/tmp/xxx",O_RDWR);

unlink("/tmp/xxx");

文件/tmp/xxx建立后,打开,然后断开链,但是分配给该文件的存储器并未删除,直到最终指向该文件的文件通道被关闭时才被删除。打开该文件的进程和它的任何子进程都可存取这个临时文件,而其它进程不能存取该文件,因为它在/tmp中的目录项已被unlink()删除。

第二方面比较复杂而微妙,由于system(),popen(),execlp(),execvp()执行时,若不给出执行命令的全路径,就能"骗"用户的程序去执行不同的命令。因为系统子程序是根据PATH 变量确定哪种顺序搜索哪些目录,以寻找指定的命令,这称为SUID陷井。最安全的办法是在调用system()前将有效UID改变成实际UID,另一种比较好的方法是以全路径名命令作为参数。execl(),execv(),execle(),execve()都要求全路径名作为参数。有关SUID陷井的另一方式是在程序中设置PATH,由于system()和popen()都启动shell,故可使用shell句法。如:

system("PATH=/bin:/usr/bin cd");

这样允许用户运行系统命令而不必知道要执行的命令在哪个目录中,但这种方法不能用于execlp(),execvp()中,因为它们不能启动shell执行调用序列传递的命令字符串。

再强调一次:在通过自己的程序运行另一个程序前,应将有效UID改为实际的UID,等另一个程序退出后,再将有效UID改回原来的有效UID

7.3.4 SUID/SGID程序指导准则

以下是书写SUID和SFID程序时应该注意的安全准则:

1.不要写SUID/SGID程序,大多数时候无此必要。

2.设置SGID许可,不要设置SUID许可。应独自建立一个新的小组。

3.不要用exec()执行任何程序。记住exec()也被system()和popen()调用。

l若要调用exec()(或system(),popen()),应事先用setgid()(getgid())将有效GID 置加实际GID。

l若不能用setgid(),则调用system()或popen()时,应设置IFS:

popen("IFS=\t\n;export IFS;/bin/ls","r");

l使用要执行的命令的全路径名。

l若不能使用全路径名,则应在命令前先设置PATH:

popen("IFS=\t\n;export IFS;PATH=/bin:/usr/bin;/bin/ls","r");

l不要将用户规定的参数传给system()或popen();若无法避免则应检查变元字符串中是否有特殊的shell字符。

l若用户有个大程序,调用exec()执行许多其它程序,这种情况下不要将大程序设置为SGID许可。可以写一个(或多个)更小,更简单的SGID程序执行必须具有SGID许可的任务,然后由大程序执行这些小SGID程序。

4.若用户必须使用SUID而不是SGID,以相同的顺序记住(2),(3)项内容,并相应调整。不要设置root的SUID许可。选一个其它户头。

5.若用户想给予其他人执行自己的shell程序的许可,但又不想让他们能读该程序,可将程序设置为仅执行许可,并只能通过自己的shell程序来运行。

6.编译,安装SUID/SGID程序时应按下面的方法:

(1)确保所有的SUID(SGID)程序是对于小组和其他用户都是不可写的,存取权限的限制低于4755(2755)将带来麻烦。只能更严格。4111(2111)将使其他人无法寻找程序中的安全漏洞。

(2)警惕外来的编码和make/install方法。

某些make/install方法不加选择地建立SUID/SGID程序。这会极大的威胁系统的安全,因此,在安装外来的编码时,应该:

l检查违背上述指导原则的SUID/SGID许可的编码。

l检查makefile文件中可能建立SUID/SGID文件的命令。

7.3.5 r oot程序的设计

有若干个子程序可以从有效UID为0的进程中调用。许多前面提到的子程序,当从root 进程中调用时,将完成和原来不同的处理。主要是忽略了许可权限的检查。由root用户运行的程序当然是root进程(SUID除外),因有效UID用于确定文件的存取权限,所以从具有root的程序中,调用fork()产生的进程,也是root进程。

1.setuid():从root进程调用setuid()时,其处理有所不同,setuid()将把有效的和实际的UID都置为指定的值。这个值可以是任何整型数。而对非root 进程则仅能以实际UID 或本进程原来有效的UID为变量值调用setuid()。

2.setgid():在系统进程中调用setgid()时,与setuid()类似,将实际和有效的GID都改变成其参数指定的值。

调用以上两个子程序时,应当注意下面几点:

l调用一次setuid()(setgid())将同时设置有效和实际UID(GID),独立分别设置有效或实际UID(GID)固然很好,但无法做到这点。

l setuid()(setgid())可将有效和实际UID(GID)设置成任何整型数,其数值不必一定与/etc/passwd(/etc/group)中用户(小组)相关联。一旦程序以一个用户的UID了setuid(),该程序就不再做为root运行,也不可能再获root特权。

3.chown():当root进程运行chown()时,chown()将不删除文件的SUID和/或SGID 许可,但当非root进程运行chown()时,chown()将取消文件的SUID和/或SGID许可。

4.chroot():改变进程对根目录的概念,调用chroot()后,进程就不能把当前工作目录改变到新的根目录以上的任一目录,所有以/开始的路径搜索,都从新的根目录开始。

5.mknod():用于建立一个文件,类似于creat(),差别是mknod()不返回所打开文件的文件描述符,并且能建立任何类型的文件(普通文件,特殊文件,目录文件)。若从非root 进程调用mknod()将执行失败,只有建立FIFO特别文件(有名管道文件)时例外,其它任何情况下,必须从root进程调用mknod()。由creat()仅能建立普通文件,mknod()是建立目录文件的唯一途径,因而仅有root能建立目录,这就是为什么mkdir命令具有SUID许可并属root所有。一般不从程序中调用mknod()。通常用/etc/mknod命令建立特别设备文件而这些文件一般不能在使用着时建立和删除,mkdir命令用于建立目录。当用mknod()建立特别文件时,应当注意确从所建的特别文件不允许存取内存,磁盘,终端和其它设备。

6.unlink():用于删除文件。参数是要删除文件的路径名指针。当指定了目录时,必须从root进程调用unlink(),这是必须从root进程调用unlink()的唯一情况,这就是为什么rmdir命令具有root的SGID许可的原因。

7.mount(),umount():由root进程调用,分别用于安装和拆卸文件系统。这两个子程序也被mount和umount命令调用,其参数基本和命令的参数相同。调用mount(),需要给出一个特别文件和一个目录的指针,特别文件上的文件系统就将安装在该目录下,调用时还要给出一个标识选项,指定被安装的文件系统要被读/写(0)还是仅读(1)。umount()的参数是要一个要拆卸的特别文件的指针。

7.4 小结

在本章中我们简要介绍了有关网络安全性的一些知识。网络安全性是一个很大的主题,我们在这里只能介绍一些基本的知识,如果想对此作更加深入的了解,请参阅有关网络安全性的其它资料。

Linux系统操作员复习题

Linux操作员认证模拟 题 题目注销虚拟控制台的命令 答案 a 选项A [Ctrl]-[D] 选项B [Ctrl]-[C] 选项C [Ctrl]-[V] 选项D [Ctrl]-[A] 题目要关闭虚拟控制台时在shell 提示下键入()命令 答案 b 选项A quit 选项B exit 选项C halt 选项D close 题目哪个不是ls命令的选项()答案 c 选项A a 选项B l 选项C w 选项D r 题目与head命令相反的命令是()答案 b 选项A cat 选项B tail 选项C locate 选项D cd 题目下列哪一个命令是用来查找指定字串()答案 a 选项A grep 选项B clear 选项C tail 选项D ls 题目在字符界面环境下注销控制 台,可用() 答案 c 选项A exit或quit 选项B quit或ctrl+D 选项C exit或ctrl+D 选项D 以上都可 题目在RedHat Linux安装的界面 上,可选择的安装方式有() 答案 c 选项A 功能键安装与图形模式安装 选项B 功能键安装与文本模式安装 选项C 文本模式安装与图形模式安 装 选项D 题目使用命令chmod的数字设置, 可以改变() 答案 c 选项A 文件的访问特权 选项B 目录的访问特权 选项C 文件/目录的访问特权 选项D 题目主机通过局域网直接接入 Internet,应该配置() 答案 d 选项A IP地址 选项B 子网掩码 选项C 默认网关和DNS服务器的IP 地址 选项D 以上选项都是 题目RedHat Linux安装过程中, 如果以图形化模式安装可按( )键 答案 a 选项A 按回车键 选项B 输入:"linux text" 选项C 输入:"linux askmethod" 选项D 按:"F5" 题目RedHat Linux的安装过程 中磁盘分区选项中不包括() 答案 b 选项A 自动分区 选项B 选择分区 选项C Disk Druid来手工分区 选项D 题目安装程序提供了两个引导装 载程序() 答案 c 选项A GROUP和LLTO 选项B DIR和COID 选项C GRUB和LILO 选项D 题目命令cp与DOS下什么命令 等同() 答案 b 选项A CUP 选项B COPY 选项C CCP 选项D CORP 题目cat命令经常和什么命令搭配 答案 d 选项A much 选项B very 选项C easy 选项D more 题目cat命令是下面哪一个单词的 缩写() 答案 b 选项A CONT 选项B CONCATENATE 选项C COPY 选项D CID 题目clear命令的作用() 答案 a 选项A 清除终端窗口 选项B 关闭终端窗口 选项C 打开终端窗口 选项D 调整窗口大小 题目面那一组命令是用于压缩或 解压缩文件() 答案 b 选项A compress,uncompress 选项B gzip,gunzip 选项C ppt,ftp 选项D haccp,file 题目下面那一组命令是用于压缩 或解压缩数据() 答案 a

Linux操作系统网络配置命令

vi /etc/sysconfig/network-scripts/ifcfg-eth0 命令配置IP vi进入后,按i变成编辑模式,屏幕下方有个INSERT字样,这时跟windows 的记事本一样了,改吧。内容见下 改完后按ESC键,再输入冒号x——:x保存退出。 service network restart 你的IP就出来了。 DEVICE=eth0 BOOTPROTO=none IPADDR=192.168.0.1 GATEWAY=192.168.0.254 ONBOOT=yes TYPE=Ethernet 1、ifconfig 可以使用ifconfig命令来配置并查看网络接口的配置情况。 例如: (1)配置eth0的IP地址,同时激活该设备。 #ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up (2)配置eth0别名设备eth0:1的IP地址,并添加路由。 #ifconfig eth0 192.168.1.3 #route add –host 192.168.1.3 dev eth0:1 (3)激活设备。 #ifconfig eth0 up (4)禁用设备。 #ifconfig eth0 down (5)查看指定的网络接口的配置。 #ifconfig eth0 (6)查看所有的网络接口配置。

#ifconfig 2、route 可以使用route命令来配置并查看内核路由表的配置情况。 例如: (1)添加到主机的路由。 #route add –host 192.168.1.2 dev eth0:0 #route add –host 10.20.30.148 gw 10.20.30.40 (2)添加到网络的路由。 #route add –net 10.20.30.40 netmask 255.255.255.248 eth0 #route add –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 #route add –net 192.168.1.0/24 eth1 (3)添加默认网关。 #route add default gw 192.168.1.1 (4)查看内核路由表的配置。 #route (5)删除路由。 #route del –host 192.168.1.2 dev eth0:0 #route del –host 10.20.30.148 gw 10.20.30.40 #route del –net 10.20.30.40 netmask 255.255.255.248 eth0 #route del –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 #route del –net 192.168.1.0/24 eth1

linux网络操作系统和实训课后习题答案解析(1)

练习题 一、选择题 1. Linux 最早是由计算机爱好者 B 开发的。 A. Richard Petersen B. Linus Torvalds C. Rob Pick D. Linux Sarwar 2. 下列 C 是自由软件。 A. Windows XP B. UNIX C. Linux D. Windows 2000 3. 下列 B 不是Linux 的特点。 A. 多任务 B. 单用户 C. 设备独立性 D. 开放性 4. Linux 的内核版本2.3.20 是 A 的版本。 A. 不稳定 B. 稳定的 C. 第三次修订 D. 第二次修订 二、填空题 1. GUN 的含义是:GNU's Not UNIX。 2. Linux 一般有 3 个主要部分:内核(kernel)、命令解释层(Shell 或其他操作环境)、 实用工具。 三、简答题(略) 1. 简述Red Hat Linux 系统的特点。 2. 简述一些较为知名的Linux 发行版本。 练习题 一、选择题 1. Linux 安装过程中的硬盘分区工具是 D 。 A. PQmagic B. FDISK C. FIPS D. Disk Druid 2. Linux 的根分区系统类型是 C 。 A. FATl6 B. FAT32 C. ext3 D. NTFS 二、填空题 1. 安装Linux 最少需要两个分区,分别是 swap 交换分区和/(根)分区。 2. Linux 默认的系统管理员账号是 root 。 3. X-Window System 由三部分构成:X Server、X Client 和通信通道。 三、简答题(略) 1. Linux 有哪些安装方式 2. 安装Red Hat Linux 系统要做哪些准备工作 3. 安装Red Hat Linux 系统的基本磁盘分区有哪些 4. Red Hat Linux 系统支持的文件类型有哪些 练习题 一、选择题 1. C 命令能用来查找在文件TESTFILE 中包含四个字符的行 A. grep’’TESTFILE B. grep’….’TESTFILE C. grep’^$’TESTFILE D. grep’^….$’TESTFILE 2. B 命令用来显示/home 及其子目录下的文件名。 A. ls -a /home B. ls -R /home C. ls -l /home D. ls -d /home 3. 如果忘记了ls 命令的用法,可以采用 C 命令获得帮助 A. ls B. help ls C. man ls D. get ls 4. 查看系统当中所有进程的命令是 D 。 A. ps all B. ps aix C. ps auf D. ps aux

实验四 Linux输入输出管理

实验四、Linux输入输出管理 一、实验目的 通过实验理解Linux的标准输入输出设备,了解Linux的窗口管理器,体验Linux系统下的USB 存储设备管理,掌握Linux的输入输出重定向和管道操作。 二、实验内容与步骤 预习背景知识,理清相关概念。 1、熟悉GNOME 开机启动,登录Red Hat Linux系统; GNOME桌面最强大的功能就是能够自由配置,并且执行任务有多种方式。GNOME桌面的组件可共同使用。通常,可以用几种不同的方式执行相同的操作。例如,既可以从面板启动应用程序,也可以从菜单或桌面启动应用程序。 GNOME桌面包含专用的首选项工具。每一个工具控制GNOME桌面行为的一个特定部分。要启动首选项工具,请从“主菜单”中选择“首选项”。从子菜单中选择要配置的项目。 在GNOME环境中执行下面的步骤。 (1)练习使用GNOME面板 GNOME面板左下方有若干个图标。移动鼠标光标停留在这些图标上一到两秒钟, 可看到关于它们的操作提示。请将观察结果记录在表4-1中。 (2)显示面板主菜单 GNOME面板左端有一个带箭头的主菜单按钮。单击并记录主菜单标题,填入表4-2。 (3)打开和最小化/最大化一个视窗 单击面板上的文字处理器图标,打开一个文字处理视窗。在打开文字处理视窗之后,可以单击右上角的按钮选择最小化、最大化或者还原。 (4)改变视窗的大小 把鼠标光标移动到视窗的任何一边,可以看到一个箭头标志。当该标志出现的时候按下鼠标左键不放,然后拖动视窗的边界可以迸行缩放。 (5)移动视窗 单击视窗的标题栏保持不放。拖动视窗到一个新的位置。 (6)处理重叠视窗 在文字处理视窗打开的情况下,打开新的视窗会重叠或者覆盖住文字处理视窗。新打开的视窗现在成为前端视窗或者说是当前进程。为了把文字处理视窗从底层带到顶层来,可单击能够看见的视窗的任何部分。如果看不到,则可单击前面视窗的左上角符号,打开“窗口菜单”,从中选择需要的视窗。 (7)关闭视窗 单击视窗右上角“关闭窗口”按钮,可关闭当前视窗。 (8)处理工作区按钮 ●在工作空间1~4中分别打开不同的任务视窗。 ●单击各个工作区按钮,在4个视窗中切换。 ●关闭每一个视窗中正在运行的应用程序。 2、加载USB存储设备 USB存储设备可以通过终端命令加载。 (1)插人USB存储设备,稍过片刻,打开终端,输入: [root@localhost ~] # fdisk -1

《LINUX网络操作系统》试题及其答案

《LINUX网络操作系统》试题及其答 案 最新资料,word文档,可以自编辑!!精品文档下载【本页是封面,下载后可以删除!】广州工程技术职业学院信息工程院《LINUX操作系统》期末考试复习题理论部分: 一、单项选择题:1.Linux的创始人是谁A、Turbolinux B、AT&T Bell Laboratry C、University of Helsinki D、Linus Torvalds 2.在Linux 中,命令解释器是哪个A、管道B、分级文件系统C、字符型处理器D、shell 3.Linux安装程序提供了两个引导装载程序( C ) A、GROUP和LLTO B、DIR和COID C、GRUB和LILO D、以上都不是4.如果当前目录是/home/sea/china,那么“china”的父目录是哪个目录A、

/home/sea B、/home/C、/D、/sea 5.在Linux中,要删除abc目录及其全部内容的命令为:A、rm abc B、rm -r abc C、rmdir abc D、rmdir -r abc 6.在Linux环境下,能实现域名解析的功能软件模块是:A、apache B、dhcpd C、BIND D、SQUID 7.创建的辅助DNS服务器无法获得主DNS区域信息,哪种方法可以解决A、重新启动主DNS服务器B、手动从主DNS服务器复制区域文件到辅助DNS服务器C、重新启动辅助DNS服务器D、在主DNS服务器中利用allow-transfer命令设置“允许区域复制” 8.假定kernel支持vfat分区,下面哪一个操作是将/dev/hda1,一个Windows 分区加载到/win目录? A、mount -t windows /win /dev/hda1 B、mount -fs=msdos /dev/hda1 /win C、mount -s win/dev/hda1 /win D、mount –t vfat/dev/hda1

Linux网络操作系统试卷试题下载-样卷doc

Linux 网络操作系统试卷试题下载-样卷.doc 学年第一学期期末考试 《Linux 网络操作系统》试题(B) (适用班级:计网0431、计网0432、计网0433、计网0434) (注意:必须将所有题目的答案填在答题纸上,否则不得分。) 一、单项选择题:(每题1分,共20分) 1. 下列服务器软件中哪些不属于MTA ( ) A 、 sendmail B 、postfix C 、qmail D 、imap 2. 是Internet 中主机的:( ) A 、用户名 B 、密码 C 、别名 D 、IP 地址 D 、FQDN 3.负责电子邮件传输的应用层协议是( ) A 、SMTP B 、PPP C 、IP D 、FTP 4. 下面哪个配置选项在Squid 的配置文件中用于设置管理员的E-mail 地址:( ) A 、cache_effective_user B 、cache_mem C 、cache_effective_group D 、cache_mgr E 、cache_dir 5. Apache 主配置文件位于Linux 哪个目录 A 、/etc/httpd B 、/etc/conf C 、/etc/httpd/conf D 、/etc/conf/httpd 6. BIND 主配置文件位于Linux 哪个目录( ) A 、/etc B 、/etc/named C 、/etc/conf D 、/etc/conf/namd 7. Linux 最多可以设置几个DNS 服务器( ) A 、1 B 、2 C 、3 D 、10 8. 请选出创建用户ID 是200,组ID 是1000,用户主目录为/home/user01的新用户user01的正确命令. ( ) A 、adduser -u:200 -g:1000 -h:/home/user01 user01 B 、adduser -u=200 -g=1000 -d=/home/user01 user01 C 、useradd -u 200 -g 1000 -d /home/user01 user01 D 、useradd -u 200 -g 1000 -h /home/user01 user01 9. 如果想加载一个/dev/hdb1的Windows95分区到/mnt/win95目录,需要运行哪个命令( ) A 、 mount -t hpfs /mnt/win95 /mnt/hdb1 B 、 mount -t hpfs /dev/hdb1 /mnt/win95 C 、 mount -t vfat /dev/hdb1 /mnt/win95 D 、 mount -t vfat /mnt/win95 /dev/hdb1 10. 下面哪个命令用来启动X window ( ) A 、startX B 、 runx C 、 startx D 、 xwin 11. 按实现原理的不同将防火墙分为( )三类。 A 、包过滤防火墙、代理服务器型网关防火墙和状态检测防火墙 B 、包过滤防火墙、应用层网关防火墙和代理防火墙 C 、包过滤防火墙、代理防火墙和软件防火墙 D 、状态检测防火墙、代理防火墙和动态包过滤防火墙 12. 如何快速切换到用户John 的主目录下( ) A 、cd @John B 、cd #John C 、cd &John D 、cd ~John 13. 系统交换分区的类型代号是:( ) A 、82 B 、 83 C 、0b D 、17 14. 在Linux 操作系统中,命令“chmod -777 /home/abc ”的作用是:() A 、把所有的文件拷贝到公共目录abc 中 B 、修改abc 目录的访问权限为可读、可写、可执行 C 、设置用户的初始目录为/home/abc D 、修改abc 目录的访问权限为所有用户只读 15. 在Linux 操作系统中把外部设备当作文件进行统一管理,外部设备文件通常放在:( ) A 、 /dev B 、/lib C 、/etc D 、 /bin 16. 一台PC 机的基本配置为:主频933、硬盘存储容量40G 、内存128M ,显存8M 。在安装linux 系统时,交换分区大小应为:( ) A 、8M B 、64M C 、128M D 、256M 17. RedHat 下硬盘分区,最多可以有( )个主分区和扩展分区 班级 姓名 学号

Linux输入输出重定向的原理和实现

Linux I/O重定向的原理和实现 在Unix系统中,每个进程都有STDIN、STDOUT和STDERR这3种标准I/O,它们是程序最通用的输入输出方式。几乎所有语言都有相应的标准I/O函数,比如,C语言可以通过scanf从终端输入字符,通过printf向终端输出字符。熟悉Shell的朋友都知道,我们可以方便地对Shell命令进行I/O重定向,比如find -name "*.java" >testfile.txt 把当前目录下的Java文件列表重定向到testfile.txt。多数情况下,我们只需要了解I/O重定向的使用就够了,但是如果要编程实现类似Shell的I/O重定向以及管道功能,那么就需要清楚它的原理和实现。 下面本文就以Linux系统为具体例子,介绍I/O重定向的原理和实现(文中实验环境为Ubuntu 12.04,内核版本3.2.0-59)。 文件描述符表 理解I/O重定向的原理需要从Linux内核为进程所维护的关键数据结构入手。对Linux 进程来讲,每个打开的文件都是通过文件描述符(File Descriptor)来标识的,内核为每个进程维护了一个文件描述符表,这个表以FD为索引,再进一步指向文件的详细信息。在进程创建时,内核为进程默认创建了0、1、2三个特殊的FD,这就是STDIN、STDOUT和STDERR,如下图所示意: 所谓的I/O重定向也就是让已创建的FD指向其他文件。比如,下面是对STDOUT重定向到testfile.txt前后内核文件描述符表变化的示意图 重定向前:

重定向后: 在I/O重定向的过程中,不变的是FD 0/1/2代表STDIN/STDOUT/STDERR,变化的是文件描述符表中FD 0/1/2对应的具体文件,应用程序只关心前者。本质上这和接口的原理是相通的,通过一个间接层把功能的使用者和提供者解耦。 下面我们通过strace命令跟踪一下echo命令的系统调用: dagang@ubuntu12:~$ strace echo hello 2>&1 >/dev/null | grep write write(1, "hello\n", 6) = 6 我们可以看到write(1, "hello\n", 6) 这样一个系统调用,它的第一个参数1就是代表的STDOUT的FD,这说明对于echo程序,它只管(通过标准I/O函数从STDOUT)向FD 1写入,而不关心它们FD 1到底对应的是哪个文件。 Shell正是通过I/O重定向和管道这种特殊的文件把多个程序的STDIN和STDOUT串联在一起组成更复杂功能的,下面是Shell中通过管道的示意图: 下面我们用一个实际的例子来体验一下: dagang@ubuntu12:~$ sleep 30 | sleep 40 & [1] 5584 dagang@ubuntu12:~$ pgrep -l sleep 5583 sleep 5584 sleep dagang@ubuntu12:~$ ll /proc/5583/fd total 0 lrwx------ 1 dagang dagang 64 Feb 27 13:41 0 -> /dev/pts/3 l-wx------ 1 dagang dagang 64 Feb 27 13:41 1 -> pipe:[246469] lrwx------ 1 dagang dagang 64 Feb 27 13:41 2 -> /dev/pts/3 dagang@ubuntu12:~$ ll /proc/5584/fd

实验六 Linux软件包管理与基本网络配置

实验六Linux软件包管理与基本网络配置 一. 一.实验目的: 1.1.学会find命令的使用方法; 2.2.学习利用rpm和tar命令实现软件包的管理; 3.3.掌握如何在Linux下的TCP/IP网络的设置; 4.4.学会使用命令检测网络配置; 5.5.学会启用和禁用系统服务。 二. 二.实验内容: 1.1.利用find命令查找满足条件的文件; 2.2.利用rpm和tar命令管理软件包; 3.3.使用ifconfig命令配置网络接口; 4.4.使用route命令加默认网关; 5.5.使用hostname命令设置主机名; 6.6.修改/etc/hosts实现Linux的静态地址解析; 7.7.修改/etc/resolv.conf配置Linux的DNS客户端; 8.8.使用ping、netstat命令检测配置; 9.9.设置系统启动时自动配置网络参数; 10.10.用service命令和ntsysv命令控制守护进程。 三. 三.实验练习: 任务一 rpm软件包的管理 本部分实验内容按照课本P171-P178页的各个小的实验内容进行练习。 任务二 find命令的使用 1.1.在/var/lib目录下查找所有文件其所有者是games用户的文件。 $ find /var/lib –user games 2> /dev/null 2.2.在/var目录下查找所有文件其所有者是root用户的文件。 $ find /var –user root –group mail 2>/dev/mull 3.3.查找所有文件其所有者不是root,bin和student用户并用长格式显示(如ls –l 的显示结果)。$ find / -not –user root –not –user bin –not –user student –ls 2> /dev/null or $find / ! –user root ! –user bin ! –user student –exec ls –ld {} \; 2> /dev/null 4.4.查找/usr/bin目录下所有大小超过一百万byte的文件并用长格式显示(如ls –l 的显示结果)。$ find /usr/bin –size +1000000c –ls 2> /dev/null 5.5.对/etc/mail目录下的所有文件使用file命令。 $find /etc/maill –exec file {} \; 2 > /dev/null

《Linux网络操作系统配置与管理》试卷D[3页]

《Linux 管理与服务器配置》试卷D 第1页,共3页 密 密 封 线 内 不 得 答 题 XXXXX 职业技术学院2018年7月考试 《Linux 网络操作系统配置与管理》试卷D (考时:90分钟) 适用专业: 课程代号: 一、填空题(每空2分,共30分) 1. GNOME 桌面环境包括顶部工具栏、 和桌面。 2. 使用通配符 每次可以匹配一个字符。 3. Linux 内核引导时,从文件 中读取要加载的文件系统。 4. 若要改变一个文件的所有者,可通过 命令来实现。 5. 在RHEL7中设定限制用户使用磁盘空间的软件工具包是 。 6. 结束后台进程的命令是 。 7. 把文件file1和file2合并成file3的命令是 。 8. 当umask=027时,创建的目录的初始权限为___________。 9. 在使用手工的方法配置网络时,可通过修改 文件来改变主机名。 10. 命令“rpm -qa |grep vsftpd”的作用是 。 11. 挂载NFS 服务器192.168.1.12的共享目录/tmp 到本地目录/mnt/share 的命令是: 。 12. 在RHEL7系统中,启动DHCP 服务的命令是: 。 13. 在设置Apache 服务器时,一般将服务的默认端口绑定到系统的 端口上。 14. 登录IP 为192.168.89.64的FTP 服务器的命令是 。 15. Postfix 服务器的主配置文件的名称是 。 二、选择题(下列各题的四个选项中,请将正确选项的序号填入。每小题2分,共30分) 1. 下面说法错误的是( ) A .Linux 操作系统不限制应用程序可用内存的大小 B .Linux 操作系统是免费软件,可以通过网络下载 C .Linux 操作系统部分符合UNIX 标准,可以将Linux 上完成的程序经过重新修改后移植到UNIX 主机上运行。 D .Linux 操作系统支持多用户,在同一时间可以有多个用户使用主机 2. RHEL7系统中重启系统的命令是( ) A .systemctl halt B .shutdown C .systemctl reboot D .init 0 3. 使用命令chmod 的数字设置,可以改变( ) A .文件的访问特权 B .目录的访问特权 C .文件/目录的访问特权 D .以上说法都不对 4. 下面哪些命令可以显示一个文件的具体内容( ) A .vim B .cat C .head D .more 5. 要删除用户user 并同时删除该用户的主目录,可以使用命令( ) A .userdel user B .deluser user C .userdel -r user D .deluser -r user

Linux网络操作系统试卷试题下载-样卷doc

Linux 网络操作系统试卷试题下载-样卷.doc https://www.wendangku.net/doc/556420726.html, 2006~2007学年第一学期期末考试 《Linux 网络操作系统》试题(B) (适用班级:计网0431、计网0432、计网0433、计网0434) (注意:必须将所有题目的答案填在答题纸上,否则不得分。) 一、单项选择题:(每题1分,共20分) 1.下列服务器软件中哪些不属于MTA ?( ) A 、 sendmail B 、postfix C 、qmail D 、imap 2. https://www.wendangku.net/doc/556420726.html, 是Internet 中主机的:( ) A 、用户名 B 、密码 C 、别名 D 、IP 地址 D 、FQDN 3. 负责电子邮件传输的应用层协议是( ) A 、SMTP B 、PPP C 、IP D 、FTP 4.下面哪个配置选项在Squid 的配置文件中用于设置管理员的E-mail 地址:( ) A 、cache_effective_user B 、cache_mem C 、cache_effective_group D 、cache_mgr E 、cache_dir 5.Apache 主配置文件httpd.conf 位于Linux 哪个目录? A 、/etc/httpd B 、/etc/conf C 、/etc/httpd/conf D 、/etc/conf/httpd 6.BIND 主配置文件named.conf 位于Linux 哪个目录?( ) A 、/etc B 、/etc/named C 、/etc/conf D 、/etc/conf/namd 7.Linux 最多可以设置几个DNS 服务器?( ) A 、1 B 、2 C 、3 D 、10 8.请选出创建用户ID 是200,组ID 是1000,用户主目录为/home/user01的新用户user01的正确命令. ( ) A 、adduser -u:200 -g:1000 -h:/home/user01 user01 B 、adduser -u=200 -g=1000 -d=/home/user01 user01 C 、useradd -u 200 -g 1000 -d /home/user01 user01 D 、useradd -u 200 -g 1000 -h /home/user01 user01 9.如果想加载一个/dev/hdb1的Windows95分区到/mnt/win95目录,需要运行哪个命令( ) A 、 mount -t hpfs /mnt/win95 /mnt/hdb1 B 、 mount -t hpfs /dev/hdb1 /mnt/win95 C 、 mount -t vfat /dev/hdb1 /mnt/win95 D 、 mount -t vfat /mnt/win95 /dev/hdb1 10. 下面哪个命令用来启动X window ( ) A 、startX B 、 runx C 、 startx D 、 xwin 11. 按实现原理的不同将防火墙分为( )三类。 A 、包过滤防火墙、代理服务器型网关防火墙和状态检测防火墙 B 、包过滤防火墙、应用层网关防火墙和代理防火墙 C 、包过滤防火墙、代理防火墙和软件防火墙 D 、状态检测防火墙、代理防火墙和动态包过滤防火墙 12. 如何快速切换到用户John 的主目录下?( ) A 、cd @John B 、cd #John C 、cd &John D 、cd ~John 13. 系统交换分区的类型代号是:( ) A 、82 B 、 83 C 、0b D 、17 14. 在Linux 操作系统中,命令“chmod -777 /home/abc ”的作用是:() A 、把所有的文件拷贝到公共目录abc 中 B 、修改abc 目录的访问权限为可读、可写、可执行 C 、设置用户的初始目录为/home/abc D 、修改abc 目录的访问权限为所有用户只读 15. 在Linux 操作系统中把外部设备当作文件进行统一管理,外部设备文件通常放在:( ) A 、 /dev B 、/lib C 、/etc D 、 /bin 16. 一台PC 机的基本配置为:主频933、硬盘存储容量40G 、内存128M ,显存8M 。在安装linux 系统时,交换分区大小应为:( ) A 、8M B 、64M C 、128M D 、256M 班级 姓名 学号

《Linux网络操作系统项目教程(RHEL7.4--CentOS-7.4)(第3版))》习题及答案

《Linux网络操作系统项目教程 (RHEL7.4/CentOS 7.4)(第3版)》 课后习题答案 1.11 练习题 一、填空题 1.GNU的含义是。 2.Linux一般有3个主要部分:、、。 3.目前被称为纯种的UNIX指的就是以及这两套操作系统。 4.Linux是基于的软件模式进行发布的,它是GNU项目制定的通用公共许可证,英文是。 5.史托曼成立了自由软件基金会,它的英文是。 6.POSIX是的缩写,重点在规范核心与应用程序之间的接口,这是由美国电气与电子工程师学会(IEEE)所发布的一项标准。 7.当前的Linux常见的应用可分为与两个方面。 8.Linux的版本分为和两种。 9.安装Linux最少需要两个分区,分别是。 10.Linux默认的系统管理员账号是。 1. GNU's Not Unix的递归缩写(GNU计划一个自由软件组织) 2. 内核(kernel)、命令解释层(Shell或其他操作环境)、实用工具 3. System V BSD 4. Copyleft(无版权)General Public License,GPL) 5. FSF,Free Software Foundation 6. 便携式操作系统接口(Portable Operating System Interface) 7. 企业应用个人应用 8. 内核版本发行版本 9. swap交换分区/(根)分区 10. root 二、选择题 1.Linux最早是由计算机爱好者()开发的。

A.Richard Petersen B.Linus Torvalds C.Rob Pick D.Linux Sarwar 2.下列中()是自由软件。 A.Windows XP B.UNIX C.Linux D.Windows 2008 3.下列中()不是Linux的特点。 A.多任务B.单用户C.设备独立性D.开放性4.Linux的内核版本2.3.20是()的版本。 A.不稳定B.稳定的C.第三次修订D.第二次修订5.Linux安装过程中的硬盘分区工具是()。 A.PQmagic B.FDISK C.FIPS D.Disk Druid 6.Linux的根分区系统类型可以设置成()。 A.FATl6 B.FAT32 C.ext4 D.NTFS 1.B 2.C 3.B 4.A 5. D 6. C 三、简答题(部分) 1.简述Linux的体系结构。 2.使用虚拟机安装Linux系统时,为什么要先选择稍后安装操作系统,而不是去选择RHEL 7系统镜像光盘? 答:在配置界面中若直接选择了RHEL 7系统镜像,则VMware Workstation虚拟机会使用内置的安装向导自动进行安装,最终安装出来的系统跟我们后续进行实验所需的系统环境会不一样。 3.简述RPM与Yum软件仓库的作用。 答:RPM是为了简化安装的复杂度,而Yum软件仓库是为了解决软件包之间的依赖关系。 4.安装Red Hat Linux系统的基本磁盘分区有哪些? 5.Red Hat Linux系统支持的文件类型有哪些? 6.丢失root口令如何解决? 7.RHEL 7系统采用了systemd作为初始化进程,那么如何查看某个服务的运行状态? 答:执行命令“systemctl status 服务名.service”可查看服务的运行状态,其中服务名后的.service可以省略。

完整word版Linux网络操作系统项目教程RHEL74 CentOS 74第3版习题及答案

网络操作系统项目教程《Linux 》)(第3版)(RHEL7.4/CentOS 7.4 课后习题答案练习题1.11 一、填空题。1.GNU的含义是。、、2.Linux一般有3个主要部分: 这两套操作系统。以及3.目前被称为纯种的UNIX指的就是 项目制定的通用公共许可的软件模式进行发布的,它是GNU.Linux是基于4。证,英文是 。5.史托曼成立了自由软件基金会,它的英文是 的缩写,重点在规范核心与应用程序之间的接口,这是由美国电.POSIX是6 IEEE)所发布的一项标准。气与电子工程师学会(两个方面。与7.当前的Linux常见的 应用可分为 两种。Linux的版本分为和8.。9.安装Linux最少需要两个分区,分别是 。10.Linux默认的系统管理员账号是 1. GNU's Not Unix的递归缩写(GNU计划一个自由软件组织) 2. 内核(kernel)、命令解释层(Shell或其他操作环境)、实用工具 3. System V BSD 4. Copyleft(无版权)General Public License,GPL) 5. FSF,Free Software Foundation 6. 便携式操作系统接口(Portable Operating System Interface) 7. 企业应用个人应用 8. 内核版本发行版本 9. swap交换分区/(根)分区 10. root 二、选择题 )开发的。最早是由计算机爱好者(Linux.1. A.Richard Petersen B.Linus Torvalds C.Rob Pick D.Linux Sarwar 2.下列中()是自由软件。 A.Windows XP B.UNIX C.Linux D.Windows 2008 的特点。)不是Linux3.下列中( D .开放性.单用户B C.设备独立性A.多任务 )的版本。4.Linux的内核版本2.3.20是(D .第二次修订A.不稳定B.稳定的C.第三次修订

Linux基础操作练习题

Linux基础操作练习题 姓名:古慧班级:09软件学号:20090300430117 二、问答题 1.使用什么命令在Linux文件系统的不同目录之间切换,如何显示当前所有的目录? 答:在Linux文件系统的不同目录之间切换的命令是cd, 显示当前所有的目录的命令是pwd。 2.使用什么命令列出当前目录中的文件和子目录名? 答:使用ls 命令将列出当前目录中的文件和子目录名。 使用dir或vdir命令也可以列出目录中的文件清单。使用上与ls命令类似。 3.使用什么命令把两个文件合并成一个文件? 答:cat命令可用来进行文件的合并、建立、覆盖或者添加内容等操作。 4.有哪些命令可用来查看文件的内容,这些命令有什么不同? 答:cat命令用来把文件内容显示到屏幕上,还用来进行文件的合并、建立、覆盖或者添加内容等操作。 more命令可以在浏览文件的时候前后翻页,在阅读长文本时特别有用。 less命令比more命令功能更强,是许多程序(比如man命令等)使用的缺省的阅读命令。less 的输出结果可以向前或向后翻页,但是 more 仅能向前 翻页。 head和tail命令用来阅读文件的开头或者结尾的部分。加上参数-n x 可以指定查看x 行。 5.新建、移动、删除和复制文件使用什么命令? 答:Cat、touch命令可用来建立文件。 rm命令可以用来删除文件和目录。 mv命令用于文件改名,也可以用来在文件系统内移动文件或者子目录。 cp命令用来对文件进行复制操作。 6. 新建、移动、删除和复制目录使用什么命令? 答:mkdir命令用于建立子目录。此命令可以一次建立多个子目录。 mv命令用于文件改名,也可以用来在文件系统内移动文件或者子目录。 rm命令可以用来删除文件和目录。 rmdir命令用来删除空子目录。 cp命令用来对子目录进行复制操作。 7.使用什么命令统计文件中的信息? 答:命令file用来确定文件的类型。使用此命令时,可以指定一个或多个文件名。 wc命令可以统计指定文件中的字节数、字数、行数, 并将统计结果显示在屏幕上。 8.标准输入和标准输出指什么?输出重定向和输入重定向指什么? 答:标准输入文件(stdin),通常对应终端的键盘; 标准输出文件(stdout),这个文件都对应终端的屏幕。 进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

linux的网络接口以及详细配置讲解

Linux 网络接口2012-06-21 10:29:45 分类:LINUX 在 Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间。与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于 /etc/sysconfig/netwrok-scripts/ 目录下。虽然在不同的系统之间,这些文件的类型和数量并不一定相同,但大致来讲,都包含以下几类与网络相关的配置文件: 1.网络接口配置文件 2.网络接口控制脚本 3.与网络相关的函数库文件(function files) 各种的网络设备都需要用到这些文件保证设备的正常动作 本章将深入探讨这些文件的用途,以及使用它们的方式。 Linux 网络接口 网络接口配置文件 在 Linux 中,网络接口配置文件用于控制系统中的软件网络接口,并通过接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如此对这些接口进行配置。 在 Linux 中,网络接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。接口配置文件的名称通常类似于 ifcfg-,其中 与配置文件所控制的设备的名称相关。 在所有的网络接口中,我们日常中最常用到的接口类型就是以太网接口。

以太网接口 在所有的网络配置文件中,最常用的就是 ifcfg-eth0,因为它是系统中第一块网卡的配置文件。如果系统中有多块网卡,ifcfg-eth 后面的数字就会依次递增。正因为每个设备都有对应的一个配置文件,因此管理员也能够单独地控制每一个设备。 以下是一个 ifcfg-eth0 配置文件的示例,在配置中已经为网卡设置好了 IP 地址。 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes NETWORK=10.0.1.0 NETMASK=255.255.255.0 IPADDR=10.0.1.27 USERCTL=no // 是否允许非root用户控制网卡 在接口配置文件中,选项之间存在着一些关联,如果不像上例中那样使用固定 IP,使用 DHCP 获取 IP 地址的配置文件又会不一样。以下就是将网卡配置成通过 DHCP 获取 IP 地址的配置: DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes 使用网络管理工具(system-config-network) 对网络接口文件进行更改是比较方便的一种方式,但通过学习手动更改配置文件,能够更好的在各种 Linux 发行版中执行网络配置的工作。 有关网络管理工具的使用方法,可以参考下一章翻译文档 - 《Fedora/Linux 网络配置工具》 下面是以太网接口配置文件中常用的一些选项:

《LINUX网络操作系统》试题及其答案

广州工程技术职业学院 信息工程(系)院(2009--2010 学年第 2 学期) 《LINUX操作系统》期末考试复习题 理论部分: 一、单项选择题: 1.Linux 的创始人是谁(D ) A、Turbolinux B 、AT&T Bell Laboratry C、University of Helsinki D、Linus Torvalds 2.在Linux 中,命令解释器是哪个(D ) A、管道 B、分级文件系统 C、字符型处理器 D shell 3.Linux 安装程序提供了两个引导装载程序( C ) A、GROU和LLTO B、DIR和COID C GRU岳口LILO D、以 上都不是 4.如果当前目录是/home/sea/china ,那么“ china ”的父目录是哪个目录( A )

A、/home/sea B 、/home/ C 、/ D 、/sea 5.在Linux 中,要删除abc 目录及其全部内容的命令为:(B ) A、rm abc B、rm -r abc C 、rmdir abc D 、rmdir -r abc 6.在Linux 环境下,能实现域名解析的功能软件模块是:(C ) A、apache B 、dhcpd C、BIND D 、SQUID 7. 创建的辅助DNS服务器无法获得主DNS区域信息,哪种方法可以 解决( D ) A、重新启动主DNS服务器 B手动从主DNS服务器复制区域文件到辅助DN&艮务器 C重新启动辅助DN&艮务器 D在主DNS服务器中利用allow-transfer 命令设置“允许区域复制” 8. 假定kernel 支持vfat 分区,下面哪一个操作是将/dev/hda1 ,一 个Windows分区加载到/win目录(D )

相关文档