理论教育 Linux服务器配置与管理

Linux服务器配置与管理

时间:2023-12-04 理论教育 版权反馈
【摘要】:成千上万的专家及爱好者通过Internet在不断地完善并维护它,可以说,Linux是计算机爱好者自己的操作系统。RedHat Linux AS 5保留了以前版本中的字符模式安装界面,并同时具有“豪华”的GUI图形化界面。在开始安装时RedHat Linux会对安装光盘介质进行检测,以防止在安装过程中因光盘无法读取等情况造成安装失败,非常实用。RedHat Linux提供了两种分区方式———自动分区和使用自定义分区结构。

Linux服务器配置与管理

学习情境1 RedHat Linux基础操作

学习情境1.1 RedHat Linux基本应用操作

1.1.1 学习要点

೉ 知识点:掌握Linux系统安装的基本方法,掌握常用目录与文件操作命令,掌握配置网络的相关命令

೉ 技能点:能正确运用ssh登陆Linux服务器,能解决root用户密码丢失问题

1.1.2 任务描述

虚拟机vmware下安装Linux系统,要求系统的根分区大小为7G,swap分区1G,做双系统引导,要求Windows引导菜单标题为Windows,Linux引导菜单标题为Linux。

设置主机名为station20,网络的IP地址是172.17.4.232,子网掩码为255.255.255.0,网关地址是172.17.4.254,DNS客户端为61.128.192.68,保证本机能正常接入因特网。

1.1.3 相关知识

1.Linux起源

Linux是UNIX克隆(UNIX clone)或UNIX风格(UNIX aLike)的操作系统(OS),它在源代码级上兼容绝大部分UNIX标准(指的是IEEE POSIX System V、BSD),是一个支持多用户、多进程、多线程、实时性较好的功能强大而稳定的操作系统。它可以运行在x86 PC、Sun Sparc、Digital Alpha、680x0、Power PC、MIP S等平台上,是目前运行硬件平台最多的操作系统。

Linux最大的特点在于它是GNU(简单地说,GNU是一种自由软件体系)的一员,遵循公共版权许可证(GPL),秉承“自由的思想,开放的源码”的原则。成千上万的专家及爱好者通过Internet在不断地完善并维护它,可以说,Linux是计算机爱好者自己的操作系统。

Linux诞生于1990年,Linus Torvalds,芬兰赫尔辛基大学的一名学生———Linus,用汇编语言写了一个在80386保护模式下处理多任务切换的程序,后来从Minix(Andy Tanenbaum教授所写的很小的UNIX操作系统,主要用于操作系统教学)得到灵感,进一步产生了自认为狂妄的想法———写一个比Minix更出色的Minix,于是便开始写了一些硬件的设备驱动程序,一个小的文件系统。这样,0.0.1版本的Linux就诞生了,但是它只具有操作系统内核的雏形,甚至不能运行,必须在有Minix的机器上编译以后才能运行。这时候Linus已经完全着迷而不想停止,决定抛开Minix,于是在1991年10月5日发布了Linux 0.0.2版本。在这个版本中已经可以运行bash(the GNU Bourne Again Shell———一种用户与操作系统内核通信的软件)和gcc (GNU C编译器)。从一开始,Linus就决定自由扩散Linux,包括源代码。

随即,Linux引起了黑客们(hacker)的注意,通过计算机网络加入了Linux的内核开发,Linux倾向于成为一个黑客的系统———直到今天,Linux内核的开发被认为是真正的编程。由于一批高水平黑客的加入,使Linux发展迅猛,到1993年底1994年初,Linux 1.0终于诞生了。Linux 1.0已经是一个功能完备的操作系统,而且它的内核写得紧凑高效,可以充分发挥硬件的性能,在4 MB内存的80386机器上也表现得非常好,至今人们还在津津乐道。不过自从2.1.xx系列的内核出现以来,Linux开始走高端的路子———硬件的发展实在太快了,但是Linux不会失去它的本色。Linux具有良好的兼容性和可移植性,大约在1.3版本之后,开始向其他硬件平台上移植,包括当前最快的CPU,所以不要总把Linux与低档硬件平台联系到一起,Linux发展到今天,这一直是一个误区,它只是将硬件的性能充分发挥出来而已,Linux必将从低端应用横扫到高端应用。

2.系统安装

(1)安装前的注意事项。

硬件支持:Linux目前支持几乎所有的处理器(CPU)。另外要提一下,如果你手头的Linux版本较早的话,可能只支持很少的显卡、声卡类型,而一般现在所使用的版本,如本文后例的RedHat AS 5,就不需担心这些了。

关于安装方式:RedHat Linux可以有两种方式进行安装。一种是硬盘安装,即从网上直接下载Linux的ISO映像文件。另一种最方便的就是光盘安装(一般是1DVD)。RedHat Linux AS 5保留了以前版本中的字符模式安装界面,并同时具有“豪华”的GUI图形化界面。在开始安装时RedHat Linux会对安装光盘介质进行检测,以防止在安装过程中因光盘无法读取等情况造成安装失败,非常实用。如图1.1.1所示即为图形化安装界面:

图1.1.1 系统安装选项

安装有三个选项

①默认采用图形界面方式,直接回车。

②用字符界面方式安装,键如Linux text,回车。

③用F1~F5功能键实现更多信息的选择。

(2)实际安装过程。

无论是从硬盘安装还是光盘安装,最终都会进入如下的安装过程。全图形化界面,我们可以很快上手。

第一步:选择安装语言:RedHat支持世界上几乎所有国家的语言,当然包括中文。这一步比较简单,直接选中简体中文一项点“next”即可(如图1.1.2所示)。选择为简体中文后,剩下的安装步骤即为全中文,在安装结束后,Linux的界面也将默认为简体中文!

图1.1.2 选择系统默认语言

第二步:选择键盘类型。在这一步里是要我们选择在系统上使用的键盘布局类型,一般点选其默认美国英语式即可,如图1.1.3所示。

图1.1.3 键盘配置

第三步:安装序列号,直接跳过。如图1.1.4所示。

图1.1.4 序列号

第四步:确定磁盘分区方式。RedHat Linux提供了两种分区方式———自动分区和使用自定义分区结构(如图1.1.5所示)。

图1.1.5 确定磁盘分区方式

其中自动分区选择,如果你是新购的计算机,硬盘上没有任何操作系统,建议使用此选项,它会自动根据磁盘和内存的大小,分配磁盘空间和swap空间。一定注意硬盘没有安装过任何操作系统,因为它会自动删除原先硬盘上的数据并格式化成为Linux的分区文件系统(ext2、ext3等格式)!

而自定义分区结构就更好一些。如果你的系统已安装过Windows系列的操作系统,就可以用这种方式进行手动分区。利用自定义分区结构可以很方便地对磁盘分区进行删除、添加和修改。

第五步:开始磁盘分区。这是Linux安装过程中最重要的一步。Linux有自己的文件系统格式(RedHat Linux默认为EXT3),而且其分区在Windows操作系统下无法识别,所以要为Linux单独开辟一个(或若干个)分区,如图1.1.6所示。

图1.1.6 磁盘分区

系统当前的硬盘分区情况以树状的层次结构列出目录,最上面的一级是硬盘,如果存在多个硬盘,分别以hda、hdb、sda、sdb…表示;依次按硬盘上的主分区、扩展分区、逻辑分区的顺序排列。这里,hd表示ide接口类型的硬盘,a表示第一个硬盘。hda表示ide接口的第一个硬盘,hda1表示这个硬盘的第一个分区。sd表示scsi接口类型的硬盘。这些硬件设备都作为特殊文件来标识,称为块文件,存放在/dev目录下。

分区列表底部的一排按钮用来控制分区的行为,用途如下:

新建:在空闲分区上申请一个新分区,选择后出现一个对话框,按要求输入所需的项;

编辑:选中分区后单击该按钮,用来修改当前分区表中已创建好的分区的某些属性;

删除:用来删除所选的分区;

重设:取消所做的修改,将分区信息恢复到用户设置之前的布局。

从图中看出hda1是Windows系统的vfat分区类型,hda2是扩展分区。

新建分区:选中空闲空间部分,再单击新建按钮,如图1.1.7所示。

图1.1.7 添加分区操作

这里有四个重要的参数需要仔细设定:它们是挂载点、文件系统类型、分区大小以及驱动器。

以下对四个参数作个简单说明:

①挂载点:它指定了该分区对应Linux文件系统的哪个目录。意思就是将不同的物理磁盘上的分区映射到不同的目录,这样可以实现将不同的服务程序放在不同的物理磁盘上,当其中一个分区损坏不会影响到其他的分区数据,如图1.1.8所示。

图1.1.8 挂载点操作

输入将创建的分区在整个目录树中的位置,可以从下拉菜单中选择正确的挂载点。如果创建的是根分区,输入“/”;如果是交换分区,不需要输入装入点。

②文件系统类型:可选择的类型有ext2、ext3、swap、vfat等。前两个是系统默认类型,swap是建立虚拟内存空间,如图1.1.9所示。

图1.1.9 文件系统类型操作

ext2文件系统应该说是Linux正宗的文件系统,早期的Linux都是用ext2。ext3文件系统是由ext2发展而来的。swap交换分区相当于Windows系统下的虚拟内存的功能,通常情况下,swap空间应大于或等于物理内存的大小,最小不应小于64M,通常swap空间的大小应是物理内存的2~2.5倍。

③驱动器:即是指计算机中有多个物理磁盘,可以很方便的选择你要进行分区操作的那个物理磁盘,类似于“FDISK”分区中的操作,如图1.1.10所示。

图1.1.10 允许的驱动器

图中允许的驱动器设备是hda。

④大小:以MB为单位。这里主要提一下swap分区大小,一般设为物理内存的两倍,如果你的物理内存大于1GB,SWAP分区建议设置为2GB,如图1.1.11所示。

图1.1.11 分区大小操作

图中”/”分区大小设置为6GB大小,点击确定按钮,新分区被添加,分区名为hda5,如图1.1.12所示。

图1.1.12 添加的分区名称及信息

添加swap分区,选中空闲空间部分,再单击新建按钮,如图1.1.13所示。

图1.1.13 创建swap分区

点击确定,返回分区操作的主界面,可以看到名为hda6的swap交换分区,如图1.1.14所示。

图1.1.14 添加的分区名称及信息

点击下一步,继续安装,进入引导装载程序。

第六步:配置引导装载程序。当你机子还有Windows系统存在时,就要注意在这里配置一下了。如图1.1.15所示,框内部分即为你机器里安装的所有系统列表,如果没有发现其他系统而你又确实安装过,可以点“添加”进行加入,不然计算机将会默认启动Linux,你先前的操作系统将无法启动!点“编辑”可以设定某个系统的启动等待时间。

图1.1.15 引导装载程序

这里系统的启动菜单选项有两个,一个是Other标记,设备是hda1,就是Windows系统,另外一个就是Linux,设备是hda5,就是前面的做好的”/”分区。

选中Other标签,进行编辑,如图1.1.16所示。

图1.1.16 开机菜单编辑

比如修改为windowsxp标记,并且为默认引导目标,如图1.1.17所示。

图1.1.17 开机菜单编辑结果

点击确定按钮,回到开机管理的主界面,发现默认的引导程序是windowsxp,如图1.1.18所示。

图1.1.18 引导装载程序编辑后结果

引导装载程序:在开机选择系统进入时,会要求输入口令,保证系统安全。鼠标点击使用引导装载程序口令复选框,弹出如图1.1.19所示的设置,可以不用设置。

图1.1.19 引导装载程序口令设置

配置高级引导装载程序选项:在装Linux之前,有些系统自己带有开机管理程序,比如市面上的还原卡,本身自带开机启动菜单功能,如果还是把引导程序装在/dev/hda上,将不起作用,所以要把引导程序装在Linux分区上,这里就是hda5分区。点击配置高级引导装载程序复选框按钮,进行下一步操作,如图1.1.20所示。

图1.1.20 高级引导装载程序设置

这里假如有还原卡,则高级引导装载程序不应该在/dev/had主引导记录,应该选择/dev/hda5引导分区的第一个扇区。

第七步:网络配置。如果通过局域网或是宽带上网,就需要填写IP和网关。到这一步,安装程序会自动检测计算机的所有网络设备,故要进行配置,直接点选安装程序检测到的本机网络设备,再点“编辑”即可进行配置。如图1.1.21所示,可以选择DHCP动态分配和手动配置两种方式,请根据你的网络类型而确定此步的设置。如果你是拨号上网的话,就直接选下一步。

图1.1.21 网络配置

点击编辑按钮,对网卡设备eth0手动设置IP地址,如图1.1.22所示。

图1.1.22 手动设置网卡的IP地址

这里手动设置IP地址为172.17.4.232/24,因为我们现有的交换机、路由器设备都不支持IPv6功能,所以可以不勾选允许IPv6复选框。

点击确定按钮,返回网络设置主界面,可以对主机名,网关,DNS进行设置,如图1.1.23所示。

图1.1.23 主机名、网关、DNS的设置

这里,主机名由默认的localhost改变为station16,网关:172.17.4.254,DNS:61.128.192.68(重庆电信的DNS服务器地址)。

第八步:选择系统默认时区选择,如图1.1.24所示。

图1.1.24 时区选择

用鼠标的吸附功能在世界地图上根据自己所在位置选择亚洲/上海或者亚洲/重庆。全球标准时间(UTC)指的是由世界时间标准设定的时间,原先也被称为格林威治标准时间或者GMT

第九步:设置根口令,如图1.1.25所示。

图1.1.25 设置根口令

设置根用户root的口令,口令输入两次。

第十步:定制组件选择。因为是对网络服务器进行安装与配置,所以对软件开发和网络服务器进行勾选。这里的定制可以选择现在定制,稍候定制是在系统装完后在控制台上进行组件操作,如图1.1.26所示。

图1.1.26 定制组件选择

单击下一步,对欲安装的软件组进行选择,即定制Linux程序组。从上往下有“桌面”、“应用程序”、“网络组件”等详尽的分类,当选定某一个组件后,点击“细节”可以查看此组件所包含的子组件数(前面也有数字提示),如图1.1.27所示。

图1.1.27 组件选择

第十一步:开始安装。经过前面十步,现在终于可以开始安装了,如图1.1.28所示。

图1.1.28 开始安装说明

Linux比起Windows操作系统的安装来说,要慢得多,根据机器的硬件配置情况,此过程会持续40分钟左右(如图1.1.29所示)。

图1.1.29 开始安装

安装完成后,出现重新引导系统的画面,如图1.1.30所示。

图1.1.30 重新引导系统

第十二步:系统的登陆选项设置,如图1.1.31所示。

图1.1.31 系统登陆的欢迎界面

其中因为要对网络服务器进行配置,所以防火墙先设置为禁用。完成服务配置后,可以把防火墙启用,如图1.1.32所示。

图1.1.32 防火墙设置

SELinux是系统安全的一个选项功能,先选择禁用,如图1.1.33所示。

图1.1.33 SELinux安全选项设置

其它如Kdump、日期和时间等设置可以为默认,完成后就可以重新启动系统,如图1.1.34所示。

图1.1.34 重新启动系统

3.系统登陆

(1)控制台登陆

系统引导后,在控制台上的默认是图形界面方式,如图1.1.35所示是输入系统登陆用户名,这里输入根用户root。

图1.1.35 系统登陆用户名

然后系统要求输入用户口令,如图1.1.36所示。

图1.1.36 登陆口令

①系统组件的添加删除功能

Root用户登陆后,如果要进行系统组件的添加删除,点击开始上的应用程序→添加/删除软件,如图1.1.37所示。

图1.1.37 添加/删除软件包的功能选择

出现软件包选项的细节,可以对软件包进行添加/删除,如图1.1.38所示。

图1.1.38 软件包的添加/删除

②图形与字符界面的切换

如果已经启动了X-Window,则可以使用Ctrl+Alt+F1(F2、F3、F4、F5、F6均可以)进入字符状态,按Ctrl+Alt+F7回到X-Window(Window后面不带s,这是区别于微软Windows的其中一点)!如图1.1.39所示。

一般新安装的Linux有六个虚拟控制台,可以用Alt+F1至Alt+F6来访问。如果用户已经启动了X-Window,可以使用Ctrl+Alt+F1至F6来切换到所需的虚拟控制台。虚拟控制台最大的好处是当一个进程出错锁住输入时可以切换到其他虚拟控制台来终止这个进程。

图1.1.39 字符界面登陆

③字符界面登陆

如果想启动后不让系统在图形下登陆,直接进入字符状态,则可以通过修改/etc/inittab文件实现,方法如下(KDE下操作):

用右键点击开启终端,编辑/etc/inittab文件,看到如下内容:

#vim/etc/inittab

#inittab This file describes how the INIT process should set up

#the system in a certain run-level.

#Author:Miquel van Smoorenburg,

#Modified for RHS Linux by Marc Ewing and Donnie Barnes

#Default runlevel.The runlevels used by RHS are:

#0-halt(Do NOT set initdefault to this)

#1-Single usermode

#2-Multiuser,without NFS(The same as 3,if you do not have networking)

#3-Fullmultiusermode

#4-unused

#5-X11

#6-reboot(Do NOT set initdefault to this)

id:5:initdefault:

将上面最后一行的“id:5:initdefault:”改成“id:3:initdefault:”并保存,就能让系统不在图形下登陆,对其他几个数字也作一下介绍:

0:停机(不要设置为启动默认级别)

1:单用户模式

2:多用户,无NFS(如果您没有配置网络,该级别与3一样)

3:完全多用户模式

4:不使用

5:X11图形模式

6:重启(不要设置为启动默认级别)

在字符界面下输入startx,可以从字符界面进入图形界面

④双系统的开机菜单编辑

编辑/boot/grub/grub.conf开机管理配置文件

#vim/boot/grub/grub.conf

#Note that you do not have to rerun grub aftermaking changes to this file

#NOTICE:You do not have a/boot partition.Thismeans that

# all kernel and initrd paths are relative to/,eg.

# root(hd0,4)

# kernel/boot/vmlinuz-version ro root=/dev/hda5

# initrd/boot/initrd-version.img

#boot=/dev/hda

default=1//默认启动第num+1行选项,也就说default=0,则默认启动菜单第1行的操作系统。

timeout=5//设置在5秒之后引导默认的操作系统,如果设成-1,则GRUB会一直等待直到用户选择一个选项为止。

splashimage=(hd0,4)/boot/grub/splash.xpm.gz//指定启动菜单的背景文件(xpm图像或其gzip)压缩文件。

hiddenmenu//菜单启动方式选择被隐蔽。

title Red Hat Enterprise Linux Server(2.6.18-92.el5)//后面的字符就是在菜单项上所看见的选项。

root(hd0,4)//设置Grub的根设备(root)为Linux内核所在分区。hd0是指第一个硬盘(主硬盘)),(hd0,4)是指第一个硬盘的第五个分区kernel/boot/vmlinuz-2.6.18-92.el5 ro(ro是readonly只读的意思)root=LABEL=/rhgb quiet//指出Linux内核文件的路径在/boot/vmlinuz-2.6.8-92中,root=LABEL=/是指把标记为/的分区作为根挂载点。

initrd/boot/initrd-2.6.18-92.el5.img//加载镜像文件,ramdisk是一种基于内存的虚拟文件系统,通常用于放置内核的中间数据。而initrd全称为“boot loader initialized RAM disk”,也就是由启动加载器所初始化的RamDisk设备,它的作用是完善内核的模块机制。只有把ext3的支持作为模块编译并且打开scsi支持时才需要initrd-2.6.18-92.el5.img。

title windowsxp

rootnoverify(hd0,0)//设置Grub的根设备(root)为Windows系统所在分区,但不加载文件系统。root(hd0,0)是指第一个硬盘上的第一个分区。

chainloader+1//调用Windows分区的引导器引导Windows系统。

这里可以编辑title的启动菜单的标记,启动默认选项的时间。

(2)Windows终端登陆:

从教学服务器下载Windows下ssh软件包ssh secure sehll软件安装,Edit→Setting如图1.1.40所示。

图1.1.40 ssh设置

填写欲连接的Linux主机的IP地址与用户,如图1.1.41所示。

图1.1.41 ssh连接参数

4.系统常用命令

文件和目录操作的基本命令提示符,命令使用技巧

(1)pwd命令

使用格式:pwd

pwd命令代表“printworking directory”(打印工作目录)。当键入pwd时,Linux系统显示你的当前位置。

例如:

[root@station16 apache]#pwd

/tmp/apache

表明你当前正处在/tmp/apache目录中。

(2)cd命令

使用格式:cd[目录名]

cd命令来改变工作目录。

例如:

cd或cd~ 返回到当前用户的主工作目录

cd /  回到系统根目录

cd /root  到根用户主目录;必须是根用户才能访问该目录

cd /home  到home目录,用户主目录默认在Home下

cd .  返回上级目录

cd /dir1/subdirfoo  使用绝对路径到指定目录/dir1/subdirfoo

cd ././dir3/dir2  使用相对路径到上两级后的dir3/dir2目录中去

(3)ls命令

使用格式:ls[选项]..[文件]..

显示指定目录的内容。ls命令有许多可用的选项。要看到ls命令的所有选项,你可以通过在shell提示符下键入man ls来阅读其说明书页。下面是一个与ls一起使用的一些常用选项的简短列表。

-a显示所有档案及目录(ls默认将文件名或目录名称开头为“.”的视为隐藏,不会列出)。

-l除文件名称外,亦将档案型态、权限、拥有者、档案大小等信息详细列出。

-r将档案以相反次序显示(原定依英文字母次序)。

-t将档案依建立时间之先后次序列。

-A同-a,但不列出“.”(目前目录)及“.”(父目录)。

-F在列出的文件名称后加一符号,例如可执行文件则加“∗”,目录则加“/”。

-R若目录下有档案,则以下之档案亦皆依序列出。

-i输出文件的索引节点信息。

例1.列出目前工作目录下所有名称是s开头的档案,愈新的排愈后面:

ls-ltr s∗

例2.将/bin目录以下所有目录及档案详细资料列出:

ls-lR/bin

例3.列出目前工作目录下所有档案及目录;目录于名称后加“/”,可执行档于名称后加“∗”:

ls-AF

ls会将不同类型的文件和目录按照不同的颜色显示:

蓝色→目录

绿色→可执行文件

红色→压缩文件

浅蓝色→链接文件

灰色→其他文件

(4)locate命令

搜寻文件或目录的位置。

使用格式:locate<文件名或目录名>

例:locate finger

/usr/bin/finger

/usr/lib/gnupg/gpgkeys_finger

/usr/lib/kde3/kio_finger.la

/usr/lib/kde3/kio_finger.so

/usr/local/dialup_admin/bin/snmpfinger

/usr/local/dialup_admin/htdocs/user_finger.php3

/usr/sbin/safe_finger

/usr/share/apps/kio_finger

/usr/share/apps/kio_finger/kio_finger.css

/usr/share/apps/kio_finger/kio_finger.pl

/usr/share/doc/HTML/en/kioslave/finger.docbook

/usr/share/doc/seLinux-policy-2.4.6/html/services_finger.html

/usr/share/doc/stunnel-4.15/sfinger.xinetd

/usr/share/doc/stunnel-4.15/stunnel-sfinger.conf

/usr/share/locale/zh_CN/LC_MESSAGES/kio_finger.mo

/usr/share/locale/zh_TW/LC_MESSAGES/kio_finger.mo

/usr/share/man/man1/finger.1.gz

/usr/share/man/man3/gnutls_fingerprint.3.gz

/usr/share/man/man3/gnutls_openpgp_key_get_fingerprint.3.gz

/usr/share/man/man3/gnutls_x509_crt_get_fingerprint.3.gz

/usr/share/nmap/nmap-os-fingerprints

/usr/share/services/finger.protocol

/usr/share/zsh/4.2.6/functions/_finger

会发现与finger相关的文件全部都被找出来

(5)clear命令

clear命令用于清除终端窗口。

(6)cat命令

把档案串连接后传到基本输出(萤幕或加>fileName到另一个档案)使用格式:cat[选项][文件]...

将[文件]或标准输入组合输出到标准输出。

-A,—show-all 等价于-vET

-b,—number-nonblank  对非空输出行编号

-e  等价于-vE

-E,—show-ends  在每行结束处显示

-n,—number  对输出的所有行编号

-s,—squeeze-blank    不输出多行空行

-t             与-vT等价

-T,—show-tabs      将跳格字符显示为^I

-u  (被忽略)

-v,—show-nonprinting   使用^和M-引用,除了LFD和TAB之外

—help           显示此帮助信息并退出

—version          输出版本信息并退出

例1.查看文件1内容

#cat 1

1

例2.查看文件2内容

#cat 2

2

例3.查看文件1与文件2内容

#cat 12

1

2

例4.将文件1与2合并到文件3

#cat 1 2 > 3

#cat 3

1

2

(7)head命令

查看文件的开头部分。

使用格式:head[-行数]<filename>

默认阅读文件的前十行。可以通过指定一个数字选项来改变要显示的行数,如:

head-20<filename>

(8)tail命令

查看文件的末尾部分。

使用格式:tail[-f][-行数]<文件名>

默认阅读文件的最后十行。可以通过指定一个数字选项来改变要显示的行数,使用-f选项,会把打开文件中的新变化消息显示到屏幕上。例如,要即时观察/var/log/messages的变化,以根用户身份在shell提示下键入以下命令:

tail-f/var/log/messages

(9)grep命令

grep命令在指定文件中查找指定的字符串。

使用格式:grep[options]PATTERN[FILE..]

例1.在/etc/passwd文件查找“root”

#grep root/etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

找到有两行与条件相符合。

(10)cp命令

cp(copy)文件或目录复制命令,就如同DOS下的copy命令一样。

使用格式:cp[选项]源文件或目录目标文件或目录

该命令的各选项含义如下:

-a该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

-d拷贝时保留链接。

-f删除已经存在的目标文件而不提示。

-i和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

-p此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

-r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

-l不作拷贝,只是链接文件。

例1.拷贝当前目录下的所有文件及子目录到/Linux目录

#cp./Linux-rf

(11)mv命令

移动文件或目录。

使用格式:mv[选项]..[-T]源目的

或:mv[选项]..源..目录

或:mv[选项]..-t目录源..

将<源>名称重命名为<目的地>名称,或将<源>文件移动至<目录>。

-b或—backup 若需覆盖文件,则覆盖前先行备份。

-f或—force   若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录。

-i或—interactive   覆盖前先询问用户。

-S<附加字尾>或

—suffix=<附加字尾>   与-b参数一并使用,可指定备份文件所要附加的字尾。

-u或—update   在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。

-v或—verbose   执行时显示详细的信息。

-V=<方法>或

—version-control=<方法> 与-b参数一并使用,可指定备份的方法。

—help   显示帮助。

—version   显示版本信息。

如果想把当前目录中的文件移到下一级目录中,键入以下命令:

mv sneakers.txt tigger

使用绝对路径,如:

mv sneakers.txt/home/newuser/sneakers.txt

(12)mkdir命令

建立目录。

使用格式:mkdir[选项]目录...

若目录不是已经存在则创建目录。

-Z,—context=CONTEXT(SELinux)set security context to CONTEXT

长选项必须用的参数在使用短选项时也是必须的。

-m,—mode 对新建目录设置存取权限,作用与chmad命令相同。

-p,—parents  需要时创建上层目录,如目录早已存在则不当成错误。

-v,—verbose  每次创建新目录都显示信息。

—help  显示此帮助信息并退出。

—version  输出版本信息并退出,例如在系统中建立datal子目录。

例1.建立/tmp/1/2/3子目录

[root@station16/]#mkdir–p/tmp/1/2/3

(13)rm命令

删除文件和目录。

使用格式:rm[参数]<[路径]文件名或目录名>

-i互动。提示你确认删除。

-f强制。不提示地删除文件。

-v详细。显示文件的删除进度。

-r递归。删除指定目录,其下可以有内容。

要使用rm命令来删除文件piglet.txt,键入:

rm piglet.txt

另一个比使用rm更安全的删除目录的命令是rmdir命令,只能删空目录。

(14)passwd命令

功能:设置修改用户的密码属性。

格式:passwd用户名

说明:修改用户的密码需要两次输入密码确认。密码是保证系统安全的一个重要措施,在设置密码时,不要使用过于简单的密码。密码的长度应在8位或8位以上,由数字和英文组合而成。用户的密码也可以自己更改,这时使用不带用户名的passwd命令。

#passwd

5.网络配置

(1)使用配置文件配置网络

相关配置文件

/ect/hosts 配置主机名和IP地址的对应。

/etc/sysconfig/network 配置主机名和网关

/etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-eth0第一块网卡配置文件,ifcfg-eth 1第二块网卡配置文件名,eth0、eth1是网络接口名。

网卡配置:

设主机名为test,eth0的IP地址192.168.168.1/24,网关地址192.168.168.250,则/etc/sy⁃sconfig/network文件内容如下:

NETWORKING=yes//启动网络功能

HOSTNAME=test//主机名

GATEWAY=192.168.168.250//网关地址

eth0对应的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0内容如下:

DEVICE=eth0//网卡设备名为eth0

BOOTPROTO=static//静态分配IP地址

IPADDR=192.168.168.1//IP地址是192.168.168.1

NETMASK=255.255.255.0//子网掩码是255.255.255.0

TYPE=Ethernet//网络类型是以太网

ONBOOT=yes//系统启动时激活该网卡

如果使用新的IP地址激活网卡,可用下列命令重新启动网络服务

#service network restart

(2)使用Ifconfig配置网络

使用格式:ifconfig-interface[options]address

主要参数:

-interface:指定的网络接口名,如eth0和eth1。

up:激活指定的网络接口卡。

down:关闭指定的网络接口。

broadcast address:设置接口的广播地址。

pointopoint:启用点对点方式。

address:设置指定接口设备的IP地址。

netmask address:设置接口的子网掩码。

如果调用ifconfig命令时后面只跟上端口设备名,那么它将显示这个端口的配置情况;如果不带任何参数,ifconfig命令将显示至今为止所配置的接口的所有信息;如果带上-a选项,那么还可以显示当前不活跃的接口。

①检查以太网接口eth0

#ifconfig eth0

得到如下的输出,如表1.1.1所示。

表1.1.1 ifconfig输出结果

②配置网卡

#ifconfig eth0 172.17.4.233 netmask 255.255.255.0 broadcast 172.17.4.255

赋给eth0接口IP地址172.17.4.233,并且马上激活它,机器重新启动以后将会丢失。

如果要暂停某个网络接口的工作,可以使用down参数:

#ifconfig eth0 down

6.恢复LINUX的root密码

①用上下键选中启动Linux的那一项,按e键出现grub画面时,如图1.1.42所示。

图1.1.42 grub启动菜单选项

②再次用上下键选中你平时启动Linux的那一项,然后按e键,如图1.1.43所示。

图1.1.43 启动菜单选项编辑

③修改当前命令行,加入–s参数(单用户模式),如图1.1.44所示。

图1.1.44 修改启动参数

④回车返回,然后按b键启动,即可直接进入Linux命令行。

⑤用passwd命令可以修改root用户密码,如图1.1.45所示。

图1.1.45 修改root超级用户密码

⑥#reboot//重启系统。

1.1.4 任务实施

在虚拟机vmware下安装Linux系统,要求系统的根分区大小为7G,swap分区1G,做双系统引导,要求Windows引导菜单标题为Windows,Linux引导菜单标题为Linux。

设置主机名设为station20,网络的IP地址是172.17.4.232,子网掩码为255.255.255.0,网关地址是172.17.4.254,DNS客户端为61.128.192.68,保证本机能正常接入因特网。

任务步骤:

1.vmware虚拟机设置

先用虚拟光驱挂载RedHat安装镜像文件,再对虚拟机进行光驱盘符选择,如图1.1.46所示。

图1.1.46 vmware光驱盘符选择

启动虚拟机,按F2进入cmos启动,选择光盘启动,如图1.1.47所示。

图1.1.47 启动方式选择

2.分区设置

选择创建自定义的分区结构,新建/分区,对根分区选择7G的规定大小,如图1.1.48所示。

图1.1.48 创建/根分区

创建swap交换分区,大小1G,如图1.1.49所示。

图1.1.49 创建swap交换分区

3.grub菜单编辑

编辑启动菜单标题,如图1.1.50所示。

图1.1.50 启动菜单标题编辑

4.网络设置

在网络设备中手动配置IP地址,如图1.1.51所示。

图1.1.51 设置网络IP地址

再进行其他设置,如图1.1.52所示。

图1.1.52 主机名、网关、DNS设置

1.1.5 考核要点

(如表1.1.2所示)

表1.1.2 Linux基本应用操作考核要点

1.1.6 能力拓展

试题一

在Linux中系统的配置文件存放在(1)目录下。

(1)A./bin B./etc C./dev D./root

在Linux中,下列(2)可以获得任何Linux命令的在线帮助。

(2)A.#help<command> B.#show<command>

C.#man<command> D.#ls<command>

在Linux中,(3)命令可用来显示当前用户的工作目录。

(3)A.#where B.#md C.#pwd D.#rd

在Linux操作系统中把外部设备当做文件统一管理,外部设备文件通常放在(4)目录中。

(4)A./dev B./lib C./etc D./bin

下列(5)命令可以更改一个文件的权限设置。

(5)A.attrib B.file C.chmod D.change

Linux系统在默认情况下将创建的普通文件的权限设置为(6)。

(6)A.-rw—r—r— B.-r—r—r—

C.-rw-rw-rwx D.-rwxrwxrw-

在Linux系统中,用户组加密后的口令存储在(7)文件中。

(7)A./etc/passwd B./etc/shadow C./etc/group D./etc/shells

在Linux系统中,利用(8)命令可以分页显示文件的内容。

(8)A.list B.cat C.more D.cp

用Linuxls-al命令列出下面的文件列表,(9)是块设备文件。

(9)A.drwx———1 hel users 1024 Sep 10 08:10 aaa

B.-rw———2 hel-s users 56 Sep 09 11:05 bbb

C.brw———2 hel-s users 56 Sep 09 11:05 ccc

D.lrwx———1 hel users 2024 Sep 12 08:12 ddd

在Linux操作系统中,存放有主机名及对应IP地址的文件是(10)。

(10)A./etc/hostname B./etc/hosts C./etc/resolv.conf D./etc/networks

Linux交换分区的作用是(11)。

(11)A.保存系统软件 B.保存访问过的网页文件

C.虚拟内存空间 D.作为用户的主目录

Linux操作系统中,cd./..命令的作用是(12)。

(12)A.转到当前目录的上级目录 B.转到根目录

C.转到/root目录 D.转到当前目录的上两级目录

(13)命令可实现重新启动Linux操作系统。

(13)A.init 0 B.halt C.shutdown–r D.shutdown–h

在安装完成Linux系统后,系统自动创建的管理员帐号是(14)。

(14)A.admin B.administrator C.root D.supervisor

试题二

阅读以下说明,回答问题1至问题8。

【问题1】

启动init进程前不需要经过(1)步骤。

A.LILO加载内核 B.检测内存

C.加载文件系统 D.启动网络支持

【问题2】

Inittab文件存放在(2)目录中。

A./etc B./boot C./sbin D./root

【问题3】

Linix系统运行级别3工作在(3)状态。

A.单用户字符模式 B.多用户字符模式

C.单用户图形模式 D.多用户图形模式

【问题4】

根据说明中inittab文件的内容,系统引导成功后,工作在(4)状态。

A.单用户字符模式 B.多用户字符模式

C.单用户图形模式 D.多用户图形模式

【问题5】

在系统控制台,(5)用[Ctrl+Alt+Delete]组合键来重新引导服务器。

A.允许 B.不允许

【问题6】

假设root用户执行”init 0”命令,系统将会(6)。

A.暂停 B.关机 C.重新启动 D.初始化

【问题7】

root用户执行“ps aux|grep init”命令,得到init的PID是(7)。

A.0 B.1 C.2 D.3

【问题8】

根据上述inittab文件的内容,系统在引导过程结束前,至少还要执行(8)进程。

A.rc.sysinit

B.rc.sysinit和rc 5

C.rc.sysinit、rc 0、rc 1、rc 2、rc 3、rc 4、rc 5和rc 6

D.rc 0、rc 1、rc 2、rc 3、rc 4、rc 5和rc 6

【说明】

Linux系统开机引导是首先启动内核,由内核检查和初始化硬件设备,载入设备的驱动程序模块,安装root文件系统,然后内核将启动一个名为init的进程。在init运行完成并启动其他必要的后续进程后,系统开始运行,引导过程结束。Init进程启动时需要读取inittab配置文件,该文件确定init在系统启动和关机时的工作特性。典型的inittab文件内容见以下清单:

#inittab This file describles how the INIT process should set up

# the system in a certain run-level

#Default runlevel.The runlevels used by RHS are:

# 0?–halt(Do NOT set initdefault to this)

# 1–Single usermode

# 2–Multiuser,without NFS(The same as 3,if you do not have networking)

# 3–Fullmultiusermode

# 4–unused

# 5–X11

# 6–reboot(Do NOT set initdefault to this)

Id:5:initdefault:

#System initialization

si::sysinit:/etc/rc.d/rc.sysinit

10:0:wait:/etc/rc.d/rc 0

11:1:wait:/etc/rc.d/rc 1

12:2:wait:/etc/rc.d/rc 2

13:3:wait:/etc/rc.d/rc 3

14:4:wait:/etc/rc.d/rc 4

15:5:wait:/etc/rc.d/rc 5

16:6:wait:/etc/rc.d/rc 6

#Trap CTRL–ALT–DELETE

ca::ctrlaltdel:/sbin/shutdown–t3–r now

#When our UPS tells us power has failed,assume we have a few minutes

#of power left.Schedule a shutdown for 2 minutes fromm now.

#This does,of couse,assume you have powerd installed and your

#UPS connected and working correctly.

Pf::powerfail:/sbin/shutdowm–f–h+2“Power Restored;Shutdown Cancelled”

#Run gettys in standard runlevels

1:2345:repawn:/sbin/mingetty tty1

2:2345:repawn:/sbin/mingetty tty2

3:2345:repawn:/sbin/mingetty tty3

4:2345:repawn:/sbin/mingetty tty4

5:2345:repawn:/sbin/mingetty tty5

6:2345:repawn:/sbin/mingetty tty6

#Run xdm in runlevel 5

X:5:respawn:/etc/X11/prefdm–nodaemom

学习情境1.2 常见工具软件应用

1.2.1 学习要点

೉ 知识点:熟悉tar包压缩与解压缩的参数选项,熟悉rpm软件包的使用参数,掌握vi编辑器的模式转换

೉ 技能点:掌握常用的备份、压缩和解压缩命令,掌握rpm软件包的安装方法,能用vi编辑器对系统服务文件进行配置

1.2.2 任务描述

把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为home.tar.gz。把home.tar.gz这个备份文件还原并解压缩到/tmp目录。从rhel5的安装光盘里面拷贝并安装samba-3.0.28-0.el5.8.i386.rpm软件包。编辑/etc/sysconfig,让Linux系统支持IP转发。

1.2.3 相关知识

压缩带来的便利是可以节约磁盘空间和网络带宽,仅仅是多花点时间在压缩和解压缩上而已。通常将不太用的文件压缩。大文件通常也在压缩后再传输到其他系统。

Linux大量的配置选择是它高度灵活性的来源之一。配置信息一般存储在ASCII纯文本文件中。系统管理会经常更新或更正这些配置文件。完成这些工作的工具是文本编辑器。

本情境主要讲述常用压缩工具软件与vi文本编辑器的应用

1.文件压缩和有关归档的命令

表1.2.1 文件压缩命令

(1)gzip命令

命令格式:gzip[选项]压缩(解压缩)的文件名

各选项的含义:

-c将输出写到标准输出上,并保留原有文件。

-d将压缩文件解压。

-l对每个压缩文件,显示下列字段:

压缩文件的大小;

未压缩文件的大小;

压缩比;

未压缩文件的名字。

-r递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

-t测试,检查压缩文件是否完整。

-v对每一个压缩和解压的文件,显示文件名和压缩比。

-num用指定的数字num调整压缩的速度,-1或—fast表示最快压缩方法(低压缩比),-9或—best表示最慢压缩方法(高压缩比)。系统缺省值为6。

假设一个目录/home下有文件mm.txt、sort.txt、xx.com。

例1.把/home目录下的每个文件压缩成.gz文件。

#cd/home

#gzip∗

#ls

m.txt.gz sort.txt.gz xx.com.gz

例2.把例1中每个压缩的文件解压,并列出详细的信息。

#gzip-dv∗

mm.txt.gz 43.1%———replaced with mm.txt

sort.txt.gz 43.1%———replaced with sort.txt

xx.com.gz 43.1%———replaced with xx.com

#ls

mm.txt sort.txt xx.com

例3.压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为.tar.gz

#gzip usr.tar

#ls

usr.tar.gz

(2)gunzip命令

命令格式:gunzip[-acfhlLnNqrtvV][-s<压缩字尾字符串>][文件..]或gunzip[-acf⁃hlLnNqrtvV][-s<压缩字尾字符串>][目录]

参数:

-a或—ascii 使用ASCII文字模式。

-c或—stdout或

—to-stdout 把解压后的文件输出到标准输出设备。

-f或-force  强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接。

-h或—help  在线帮助。

-l或—list  列出压缩文件的相关信息。

-L或—license  显示版本与版权信息。

-n或—no-name  解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理。

-N或—name  解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上。

-q或—quiet  不显示警告信息。

-r或—recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

-S<压缩字尾字符串>或—suffix<压缩字尾字符串> 更改压缩字尾字符串。

-t或—test  测试压缩文件是否正确无误。

-v或—verbose  显示指令执行过程。

-V或—version  显示版本信息。

例1.解压缩usr.gz文件

#gunzip usr.gz

(3)tar命令

命令格式:tar[-cxtzjvfpPN]文件与目录……

参数:

-c:建立一个压缩文件的参数指令(create的意思);

-x:解开一个压缩文件的参数指令!

-t:查看tarfile里面的文件!

特别注意,在参数的下达中,c/x/t仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

-z:是否同时具有gzip的属性?亦即是否需要用gzip压缩?

-j:是否同时具有bzip2的属性?亦即是否需要用bzip2压缩?

-v:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f:使用档名,请留意,在f之后要立即接档名喔!不要再加参数!例如使用“tar-zcvfP tfile sfile”就是错误的写法,要写成“tar-zcvPf tfile sfile”才对喔!

-p:使用原文件的原来属性(属性不会依据使用者而变)。

-P:可以使用绝对路径来压缩!

-N:比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!(www.daowen.com)

—exclude FILE:在压缩的过程中,不要将FILE打包!

例1.将整个/etc目录下的文件全部打包成为/tmp/etc.tar。

#tar-cvf/tmp/etc.tar/etc//

#tar-zcvf/tmp/etc.tar.gz/etc//打包后,以gzip压缩

例2.查阅上述/tmp/etc.tar.gz文件内有哪些文件?

#tar-ztvf/tmp/etc.tar.gz//由於使用gzip压缩,所以要查阅该tar file内的文件时,就得要加上z这个参数了!

例3.将/tmp/etc.tar.gz文件解压缩在/usr/local/src底下。

#cd/usr/local/src

#tar-zxvf/tmp/etc.tar.gz

(4)compress命令

compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出“Ⅰ”的扩展名。当要解压缩时,可执行uncompress指全。

命令格式:compress[-dcr]文档或目录

参数:

-d:用来解压缩的参数。

-r:能够连同目录下的文档也同时给予压缩。

-c:将压缩资料输出成为standard output(输出到萤幕)。

例1.将/etc/man.config复制到/tmp,并加以压缩。

#cd/tmp

#cp/etc/man.config.

#compressman.config

#ls-l

-rw-r—r—1 root root 2009 Jul 27 11:43 man.config.Z

例2.将刚刚的压缩档解开

#compress-d man.config.Z

(5)uncompress命令

命令格式与compress完全一样

例1:将man.config.Z压缩档解开

#uncompressman.config.Z

(6)zip命令

命令格式:zip[-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b][-ll][-n][-t][-][压缩文档][文档..][-i][-x]

参数:

-A调整可执行的自动解压缩文件。

-b<工作目录>指定暂时存放文件的目录。

-c替每个被压缩的文件加上注释。

-d从压缩文件内删除指定的文件。

-D压缩文件内不建立目录名称。

-f此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。

-F尝试修复已损坏的压缩文件。

-g将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。

-h在线帮助。

-i<范本样式>只压缩符合条件的文件。

-j只保存文件名称及其内容,而不存放任何目录名称。

-J删除压缩文件前面不必要的数据。

-k使用MS-DOS兼容格式的文件名称。

-l压缩文件时,把LF字符置换成LF+CR字符。

-ll压缩文件时,把LF+CR字符置换成LF字符。

-L显示版权信息。

-m将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。

-n<字尾字符串>不压缩具有特定字尾字符串的文件。

-o以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。

-q不显示指令执行过程。

-r递归处理,将指定目录下的所有文件和子目录一并处理。

-S包含系统和隐藏文件。

-t<日期时间>把压缩文件的日期设成指定的日期。

-T检查备份文件内的每个文件是否正确无误。

-u更换较新的文件到压缩文件内。

-v显示指令执行过程或显示版本信息。

-V保存VMS操作系统的文件属性。

-x<范本样式>压缩时排除符合条件的文件。

-X不保存额外的文件属性。

-y直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。

-z替压缩文件加上注释。

-$保存第一个被压缩文件所在磁盘的卷册名称。

-<压缩效率>压缩效率是一个介于1~9的数值

例1.将文件file1 file2压缩成file3.zip。

#zip file3.zip file1 file2

adding:file1(stored 0%)

adding:file2(stored 0%)

(7)unzip命令

命令格式:unzip[-cflptuvz][-agCjLMnoqsVX][-P<密码>][.zip文件][文件][-d<目录>][-x<文件>]

参数:

-c将解压缩的结果显示到屏幕上,并对字符做适当的转换。

-f更新现有的文件。

-l显示压缩文件内所包含的文件。

-p与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。

-t检查压缩文件是否正确。

-u与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。

-v执行是时显示详细的信息。

-z仅显示压缩文件的备注文字。

-a对文本文件进行必要的字符转换。

-b不要对文本文件进行字符转换。

-C压缩文件中的文件名称区分大小写。

-j不处理压缩文件中原有的目录路径。

-L将压缩文件中的全部文件名改为小写。

-M将输出结果送到more程序处理。

-n解压缩时不要覆盖原有的文件。

-o不必先询问用户,unzip执行后覆盖原有文件。

-P<密码>使用zip的密码选项。

-q执行时不显示任何信息。

-s将文件名中的空白字符转换为底线字符。

-V保留VMS的文件版本信息。

-X解压缩时同时回存文件原来的UID/GID。

[.zip文件]指定.zip压缩文件。

[文件]指定要处理.zip压缩文件中的哪些文件。

-d<目录>指定文件解压缩后所要存储的目录。

-x<文件>指定不要处理.zip压缩文件中的哪些文件。

-Z unzip-Z等于执行zipinfo指令

例1.将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

#unzip-n text.zip-d/tmp

(8)bzip2命令

命令格式:bzip2[-cdz]文档

参数:

-c:将压缩的过程产生的数据输出到屏幕上!

-d:解压缩的参数

-z:压缩的参数

例1.将/tmp/man.config以bzip2压缩

#bzip2-zman.config

#此时man.config会变成man.config.bz2!

例2.将例1的档案解压缩

#bzip2-d man.config.bz2

例3.把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.bz2。

#bzip2 usr.bz2/home

(9)unbzip2命令

命令格式:bunzip2[-fkLsvV][.bz2压缩文件]

参数:

-l,—license,-V或—version 显示版本信息。

-v或—verbose 解压缩文件时,显示详细的信息。

-s或—small  降低程序执行时,内存的使用量。

-k或—keep  在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数。

-f或—force  解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件。若要覆盖,请使用此参数。

例1.将test.txt.bz2文件解压缩

#bunzip2 test.txt.bz2

test.txt.bz2:done

2.rpm软件包的管理

在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。

(1)RPM包的名称格式

cvs-1.11.2-10.i386.rpm

注:“CVS”是软件的名称,“1.11.2-10”是软件的版本号,其中包括主版本号和次版本号:“I386”是软件所运行的硬件平台,最后的“rpm”做为文件的扩展名,当然代表文件的类型为RPM包。

(2)RPM命令参数汇总

表1.2.2 rpm命令参数

例:查询系统是否安装了telnet-server服务,如果没有安装,就用rpm格式安装

(1)查询telnet服务

#rpm–qa|grep telnet//查询系统中有字符telnet的软件包

telnet-0.17-39.el5//查询结果没有telnet-server,只有一个telnet客户端程序

(2)从安装光盘上把telnet-server-0.17-39.el5.i386.rpm文件传到服务器上

#rpm–ivh Linux-1.4-6.i368.rpm

warning:telnet-server-0.17-39.el5.i386.rpm:Header V3 DSA signature:NOKEY,key ID 37017186

(3)删除telnet-server软件包

#rpm–qa|grep telnet

telnet-server-0.17-39.el5//telnet-server软件包名

telnet-0.17-39.el5

#rpm–e telnet-server-0.17-39.el5

3.vi编辑器

vi是visual edit的缩写

文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。

模式:命令模式,编辑模式,末行模式。

切换方式:命令模式→i→编辑模式,编辑模式→Esc→命令模式,命令模式→:→末行模式,末行模式→Esc→命令模式。

功能:

命令模式(Command Mode):控制光标移动,删除字符,段落复制。

图1.2.1 命令模式

编辑模式(Insert Mode):新增文字及修改文字。

图1.2.2 编辑模式

末行模式(Last Line Mode):保存文件,离开vi,以及其他设置。

图1.2.3 末行模式

表1.2.3 命令模式常用命令汇总

表1.2.4 编辑模式常用命令汇总

表1.2.5 末行模式常用命令汇总

1.2.4 任务实施

把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为home.tar.gz。

把home.tar.gz这个备份文件还原并解压缩到/tmp目录

从rhel5的安装光盘里面拷贝并安装samba-3.0.28-0.el5.8.i386.rpm软件包

编辑/etc/sysconfig,让Linux系统支持IP转发

任务步骤如下:

(1)把/home目录下包括它的子目录全部做备份文件,并进行压缩

#tar czvf home.tar.gz/home

(2)把home.tar.gz这个备份文件还原并解压缩到/tmp目录

#tar xzvf home.tar.gz/tmp

(3)安装samba-3.0.28-0.el5.8.i386.rpm软件包

从安装光盘上传送samba-3.0.28-0.el5.8.i386.rpm到服务器上(samba是Windows与Linux系统之间的文件共享工具软件)。

#rpm-ivh samba-3.0.28-0.el5.8.i386.rpm

warning:/software/samba/samba-3.0.28-0.el5.8.i386.rpm:Header V3 DSA signature:NO⁃KEY,key ID 37017186

(4)编辑/etc/sysctl.conf,让Linux系统支持IP转发

#vim/etc/sysctl.conf

修改下面的黑体字这行

……

#Controls IP packet forwarding

net.ipv4.ip_forward=0

#Controls source route verification

……

改为如下

net.ipv4.ip_forward=1

保存退出后执行下列指令

#sysctl–p//让/etc/sysctl.conf内核设置即时生效

1.2.5 考核要点

表1.2.6 常见工具软件应用考核要点

1.2.6 能力拓展

试题一

阅读以下关于Linux网关安装和配置过程的说明,回答问题1至问题5。

【说明】

当局域网中存在大量计算机时,根据业务的不同,可以将网络分成几个相对独立的子网。图1.2.4是某公司子网划分的示意图,整个网络被均分为销售部和技术部两个子网,子网之间通过一台安装了Linux操作系统的双网卡计算机连通。

图1.2.4 子网划分示意图

【问题1】

销售部的网络号是 (1) ,广播地址是 (2) ;技术部的网络号是 (3) ,广播地址是 (4) ;每个子网可用的IP地址有 (5) 。

【问题2】

Linux网关计算机有两个网络接口(eth0和eth1),每个接口与对应的子网相连接。该计算机/etc/sysconfig/network文件清单为:

NETWORKING=yes

FORWARD_IPV4= (6)

HOSTNAME=gateway.ABC.com

/etc/sysconfig/network-scripts/ifcfg-eth0文件清单为:

IPADDR=192.168.1.126

NETMASK= (7)

……(以下略)

/etc/sysconfig/network-scripts/ifcfg-eth1文件清单为

DEVICE=eth1

IPADDR=192.168.1.254

NETMASK= (8)

……(以下略)

(6)的备选答案:A.yes B.no C.rout D.gateway

【问题3】

在网关计算机/etc/sysconfig/network-scripts/目录中有以下文件,运行某命令可以启动网络,该命令是 (9) ,其命令行参数是 (10) 。

ifcfg-eth0 ifup ifup-sit

ifcfg-lo ifup-aliases ifup-sl

ifdown ifup-cipcb ifup-wireless

ifdown-aliases ifup-ippp init.ipv6-global

ifdown-cipcb ifup-ipv6 network-functions

ifdown-ippp ifup-ipx network-functions-ipv6

ifdown-ipv6 ifup-isdn

ifdown-isdn ifup-plip

ifdown-post ifup-plusb

ifdown-ppp ifup-post

ifdown-sit ifup-ppp

ifdown-sl ifup-routs

【问题4】

在网关计算机上使用以下路由命令创建两个默认的路由:

rout add–net 192.168.1.0 255.255.255.128_(11)

rout add–net 192.168.1.128 255.255.255.128_(12)

【问题5】

设置技术部和销售部的主机网络参数后,如果两个子网间的主机不能通信,用_(13)命令来测试数据包是否能够到达网关计算机。如果数据包可以达到网关计算机但是不能转发到目标计算机上,则需要用命令cat/proc/sys/net/ipv4/ip_forward来确认网关计算机的内核是否支持IP转发。如果不支持,该命令输出_(14)

(13)和(14)备选答案如下:

(13)A.traceroute B.tracert C.nslookup D.route

(14)A.1 B.0 C.yes D.no

试题二

阅读以下说明,回答问题1至问题3。

【说明】

Linux是一个类UNIX的操作系统,功能强大,适合构建网络服务平台,提供DNS、WWW、FTP、NAT等服务。

【问题1】

在安装Linux前,必须对硬盘进行分区。在Linux系统中用设备名称指定分区,命名方法是在驱动器的设备名称(/dev/hda或/dev/hdb)后加上指定分区的数字,1~4代表主分区,逻辑分区从5开始编号。

若某系统使用两个IDE硬盘,第一个硬盘a分为三个分区,其中一个为主分区,另外两个为逻辑分区;第二个硬盘b分为五个分区,其中两个为主分区,另外三个为逻辑分区。那么硬盘a的主分区设备名为(1),硬盘b的第三个逻辑分区的设备名为(2)。

系统安装完成后,需要配置网卡。/etc/sysconfig/(3)是网络配置文件,提供IP地址、域名、网关等信息。

【问题2】

Linux支持多分区结构,依据分区功能填写表1.2.7中的空(4)~(7)。

表1.2.7

【问题3】

NAT(Network Address Translation)通过改变数据包的源(目的)(8)地址、源(目的)(9)来实现网络地址转换。

在Linux网关服务器中用iptables命令设置NAT规则。设Linux网关服务器有两个网卡,eth0接内网,eth1接外网。NAT服务配置命令如下:

#通知Linux内核启动ip v4转发

echo 1>/proc/sys/net/ipv4/ip_forward

#把来自192.168.1.0内网通过eth1出去的请求做SNAT(静态NAT)

iptables-A(10)-t nat-s(11)-o eth1-j SNAT--to-source 222.35.40.9

(8)~(11)备选答案:

  A.POSTROUTING       B.OUTPUT   C.PREROUTING

  D.IP           E.MAC     F.端口号

  G.192.168.1.0/24   H.222.35.40.9/24

试题三

阅读以下关于Linux网卡安装和配置过程的说明,回答问题1至问题5。

【说明】

某个采用动态IP地址分配策略的计算机使用了最新的BCM5751网卡芯片,由于Red Hat Linux 9操作系统无法自动识别此硬件,需要单独安装驱动程序才能正常工作。安装过程如下:

1.将驱动程序压缩文件bcm5700-8.3.14.tar.gz复制到一个临时目录中,并使用解压缩命令将驱动程序包bcm5700-8.3.14.tar.gz解压缩;

2.用make命令构建驱动程序的可加载模块;

3.用make install命令加载驱动程序;

4.重新启动系统,启动过程中系统找到网卡进行相应参数配置。

【问题1】

将文件bcm5700-8.3.14.tar.gz解压缩的命令(1)。

(1)A.rar B.tar C.unzip D.rpm

【问题2】

打开/etc/sysconfig/network文件,内容如下:

NETWORKING=(2)

HOSTNAME=localhost.localdomain

打开并编辑网络接口文件/etc/sysconfig/network-scripts/ifcfg-eth0,内容如下:

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=(3)

USERCTL=no

PEERDNS=yes

TYPE=Ethernet

从备选答案中为(2)和(3)空缺处选择恰当内容。(2)、(3)A.Yes B.no C.dhcp D.auto

【问题3】

在/etc/sysconfig/network-scripts/目录中有许多脚本命令,运行该目录下的(4)命令,可以启用该网卡,该命令的命令行参数是(5)。

(4)A.ifdown B.ifup C.netdown D.netup

【问题4】

可以使用程序(6)来查看网络接口的运行情况,输出如下:

eth0 Link encap:Ethernet Hwaddr:00:12:3F:94:E7:B9inet addr:192.168.0.63 Bcast:(7)Mask:(8)

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:1501 errors:0 dropped:0 overruns:0 frame:0

TX packets:74 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100

RX bytes:164444(160.5 Kb)TX bytes:9167(8.9 Kb)Interrupt:11 Memory:dfcf0000 -dfd00000

上述输出表明,该网卡运行(9)(填正常或不正常);上文中MTU的含义是(10)。

【问题5】

运行rout-n命令,可以输出路由选择表如下:

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

则该网络的默认网关地址是(11)。

试题四

【说明】

Linux的安装需经过“安装前的准备”、“启动安装程序”、“安装”等几个阶段。“安装前的准备”工作包括备份数据、制作安装引导盘和硬盘分区。“启动安装程序”阶段需要进行安装程序的引导,根据所选择安装介质的不同,可以使用光盘或软盘两种引导方式。“安装”阶段基于图形用户安装界面,包括配置引导、复制文件、创建引导盘等过程。

【问题1】

Linux通过字母和数字的组合来标识硬盘分区,/dev/hda3指第_(1) 个硬盘的第3个分区。该硬盘是_(2) 类型。

(1)备选答案:A.1 B.2 C.3

(2)备选答案:A.SCSIB.IDE C.USB

【问题2】

Linux中根分区的挂载点是_(3) ,交换分区的分区名是_(4) 。

(3)备选答案:A./B./etc C./home

(4)备选答案:A.vfat B.ext3 C.swap

【问题3】

如果从硬盘安装备Linux,需要一张引导软盘。Red Flag Desktop 4.0安装光盘提供了四个安装引导软盘的映像文件,分别是boot.img、boothd.img、bootnet.img、pcmcia.img,应该选择哪个映像文件?

【问题4】

创建系统引导软盘的作用是什么?

【问题5】

在Linux安装完成之后,_(5) 目录用来单独保存系统引导文件。现新建一个用户user1,user1用户的默认主目录位于_(6) 目录中。

(5)备选答案:A./var B./boot C./home

(6)备选答案:A./tmp B./usr C./home

试题五

客户机通过代理服务器Server访问Internet的连接方式如图1.2.5所示。在Linux操作系统中,为代理服务器中IP地址为192.168.0.1的网卡分配IP地址并激活该网络接口,应执行(1);为IP地址为192.168.0.100的PC机配置默认网关,应执行(2)。配置完成后,运行(3)命令重启计算机,通过(4)命令显示当前DNS服务器的地址和和域名。

图1.2.5 连接方式

(1)A.ifconfig–up eth1 192.168.0.1/24

B.ifconfig eth 1 192.168.0.1 255.255.255.0 up

C.ifconfig eth l 192.168.0.1 up netmask 255.255.255.0

D.ifconfig 192.168.0.1/24 eth l netmask 255.255.255.0 up

(2)A.route add default 192.168.0.1

B.route add up 192.168.0.1

C.route add-net 0.0.0.0/32 gw 192.168.0.1

D.route add-host 192.168.0.100/24 gw 192.168.0.1

(3)A.reboot B.shutdown C.init 0 D.poweroff

(4)A.resolv B.ping C.nslookup D.testdns

学习情境1.3 Linux系统用户与用户组的管理

1.3.1 学习要点

೉ 知识点:熟悉用户、用户组概念,掌握文件的权限划分概念

೉ 技能点:掌握对用户、用户组的创建、删除、禁用等操作,掌握对文件与目录的权限划分

1.3.2 任务描述

新建一用户组students。新建一用户iusr_1,所属组为students,家目录在/usr/local/iusr_1,shell为/bin/bash。设置用户iusr_1的密码为Linuxstation1。对用户lp禁用。删除用户news,删除用户组news。

1.3.3 相关知识

Linux系统是个多用户系统,能做到不同的用户能同时访问不同的文件,因此一定要有文件权限控制机制。Linux系统的权限控制机制和Windows的权限控制机制有着很大的差别。Linux的文件或目录被一个用户拥有时,这个用户称为文件的拥有者(或文件主),同时文件还被指定的用户组所拥有,这个用户组称为文件所属组。一个用户可以是不同组的成员,这可以由管理员控制。文件的权限由权限标志来决定,权限标志决定了文件的拥有者、文件的所属组、其他用户对文件访问的权限。

1.用户与组的概念

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

(1)用户的角色区分

用户在系统中是分角色的,在Linux系统中,由于角色不同,权限和所完成的任务也不同;值得注意的是用户的角色是通过UID和GID来识别的,特别是UID;在系统管理中,系统管理员一定要坚守UID唯一的特性。

root用户:系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限。

虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户。

普通真实用户:这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的。

(2)用户组(group)的概念

用户组(group)就是具有相同特征的用户(user)的集合体,比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的。

举例:我们为了让一些用户有权限查看某一文档,比如是一个时间表,而编写时间表的人要具有读写执行的权限,我们想让一些用户知道这个时间表的内容,而不让他们修改,所以我们可以把这些用户都划到一个组,然后来修改这个文件的权限,让用户组可读,这样用户组下面的每个用户都是可读的。

2.用户和权限

(1)文件主

Linux为每个文件都分配了一个所有者,称为文件主,并赋予文件主唯一的注册名。对文件的控制取决于文件主或超级用户(root)。

文件的所属关系是可以改变的,你可以将文件或目录的所有权转让给其他用户,但只有文件主或root才有权改变文件的所属关系。可以用chown命令更改某个文件或目录的所有权。例如,超级用户把自己的一个文件复制给用户user1,为了让用户user1能够访问这个文件,超级用户(root)应该把这个文件的属主设为user1,否则,用户user1无法访问这个文件。如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的控制权。

(2)所属用户组

Linux下,每个文件又属于一个用户组。当创建一个文件或目录时,系统会赋予它一个所属的用户与组,chgrp命令可以改变文件的组关系。

(3)访问权限

Linux系统中的每个文件和目录都有访问权限,(rwx)读、写、执行这三种权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

3.权限控制命令

(1)chmod命令

功能:chmod命令用于改变或设置文件或目录的访问权限。

格式:chmod[选项]权限模式,文件或目录名

说明:只有文件主或超级用户root才有权用chmod改变文件或目录的访问权限。

选项参数:

-c:若文件或目录权限确实已经更改,才显示更改后结果。

-f:若文件或目录权限无法被更改,也不显示错误信息。

-v:显示权限变更的详细资料。

-R:对当前目录下的所有档案与子目录进行相同的权限变更(即以递归式的方式逐个变更)。

设定文件权限时,在模式中常用以下的字母代表用户或用户组:

chmod命令用于改变文件或目录的访问权限。

让我们先来看一看这个文件。在shell提示下,键入:

ls-l sneakers.txt

前面的命令显示了这个文件信息:

-rw-rw-r—1 test test 39 3月11 12:04 sneakers.txt

这里提供了许多细节。你可以看到谁能读取(r)和写入(w)文件,以及谁创建了这个文件(test),所有者所在的组群(test)。在组群右侧的信息包括文件大小、创建的日期和时间,以及文件名。

第一列显示了当前的权限;它有十位。第一位代表文件类型。其余九位实际上是用于三组不同用户的三组权限。

那三组是:文件的所有者、文件所属的组群和“其他人”,这是前面没有包括的用户和组群。

-(rw-)(rw-)(r—)1 test test

类型所有者组群其他人

第一个项目指定文件类型,它可以显示以下几种:

d—目录

-(短线)—常规文件(而不是目录或链接)

l—到系统上其他位置的另一个程序或文件的符号链接。

在第一个项目之后的三组中,你可以看到下面几种类型:

r—文件可以被读取

w—文件可以被写入

x—文件可以被执行(如果它是程序的话)。

当你在所有者、组群或其他人中看到一个短线(“-”),这意味着相应的权限还没有被授予。可以看出以下这句

-rw-rw-r—1 test test 39 3月11 12:04 sneakers.txt文件的所有者(这个情况下是test)有读取和写入该文件的权限。组群test也有读取和写入sneakers.txt的权限,其他组群没任何权限。它不是一个程序,因此所有者和组群都没有执行它的权限。

接下来我们用chmod来改变文件的权限,键入下面的命令:

chmod o+w sneakers.txt

o+w命令告诉系统你想给其他人写入文件sneakers.txt的权限。要查看结果,再次列出文件的细节。现在,这个文件看起来与下面的输出相仿:

-rw-rw-rw-1 test test 39 3月11 12:04 sneakers.txt

现在,每个人都可以读取和写入这个文件。

要从sneakers.txt中删除读写权限,使用chmod命令来取消读取和写入这两个的权限。

chmod go-rw sneakers.txt

通过键入go-rw,你在告诉系统删除文件sneakers.txt中组群和其他人的读取和写入权限。结果与下面的输出相似:

-rw———1 test test 39 3月11 12:04 sneakers.txt

当你想用chmod命令来改变权限时,把它们当做速记符号来记忆,因为你实际要做的只是记住几个符号而已。

下面是一个速记符号含义的列表:

身份

u—拥有文件的用户(所有者)

g—所有者所在的组群

o—其他人(不是所有者或所有者的组群)

a—每个人或全部(u、g、和o)

权限

r—读取权

w—写入权

x—执行权

行动

+—添加权限

-—删除权限

=—使它成为唯一权限

另外,也可以通过使用数字来改变权限。

每种权限设置都可以用一个数值来代表:

r=4

w=2

x=1

-=0

当这些值被加在一起,它的总和便用来设立特定的权限。譬如,如果你想有读取和写入的权限,你会得到一个值为6的总和;4(读取)+2(写入)=6。

sneakers.txt文件的数字权限设置如下:

-(rw-)(rw-)(r—)

| | |

4+2+0 4+2+0 4+0+0

所有者的总和为6,组群的总和为6,其他人的总和为4。这个权限设置读作664。

如果你想改变sneakers.txt文件的权限,设置你的组群中的成员没有写入权,但是仍旧能够读取文件的话,从这组数字中减掉2就可以删除写入权限了。

然后,这组数值就变成644。

要实现这些新设置,键入:

chmod 644 sneakers.txt

现在,列举这个文件来校验改变。键入:

ls-l sneakers.txt

输出应为:

-rw-r—r—1 test test 39 3月11 12:04 sneakers.txt

现在,组群和其他人都没有了到文件sneakers.txt的写入权。

这里是一个某些常用设置、数值、以及它们的含义的列表:

-rw———(600)—只有所有者才有读取和写入的权限。

-rw-r—r—(644)—只有所有者才有读取和写入的权限;组群和其他人只有读取的权限。

-rwx———(700)—只有所有者才有读取、写入、和执行的权限。

-rwxr-xr-x(755)—所有者有读取、写入、和执行的权限;组群和其他人只有读取和执行的权限。

-rwx—x—x(711)—所有者有读取、写入、和执行权限;组群和其他人只有执行权限。

-rw-rw-rw-(666)—每个人都能够读取和写入文件。(请谨慎使用这些权限。)

-rwxrwxrwx(777)—每个人都能够读取、写入、和执行。(再重申一次,这种权限设置可能会很危险。)

下面列举了一些对目录的常见设置:

drwx———(700)—只有所有者能在目录中读取、写入。

drwxr-xr-x(755)—每个人都能够读取目录,但是其中的内容却只能被所有者改变。

例1.在不改变原有文件ex1的权限基础上,添加所有用户对其有执行权限。

#chmod a+x ex1

例2.将文件ex1的权限重新设置为文件主可以读和执行,组用户可以执行,其他用户无权访问。

#chmod u=rx,g=x,o=— ex1

或者

#chmod 610 ex1

例3.将目录wn1及其下面的所有子目录和文件的权限改为所有用户对其都有读,写权限。

$chmod–R a+rw-wn1

(2)chown命令

功能:改变某个文件或目录的拥有者和所属的组。

格式:chown[选项]用户或组[路径]文件名

说明:只有文件主和超级用户才可以使用该命令。同时改变文件主和文件所属的组时,用户名和用户组名由冒号分开。在文件名中可以包含通配符。

参数选项:

-R递归式地改变指定目录及其所有子目录、文件的文件主。

例1.将目录/usr/mengqc及其下面的所有文件、子目录的文件主改变成liu,文件所属组不变。

$chown-R liu/usr/mengqc

例2.把文件的拥有者改为longkey用户,同时文件的所属组改为root组。

#chown longkey:root chap1.txt

(3)chgrp命令

功能:改变文件或目录的所属组。

格式:chgrp[选项]组名文件名

说明:如果用户不是该文件的文件主或超级用户,则不能改变该文件或目录的所属组。chown可以同时改变文件拥有者和所属组,chgrp只具有改变所属组的功能。

参数选项:

-R递归式地改变指定目录及其下面的所有子目录和文件的用户组。

例1.将文件“chap1.txt”的所属组设为root组。

$chgrp root chap1.txt

例2.将/usr/mengqc及其子目录下的所有文件的用户组改为mengxin。

$chgrp-R mengxin/usr/mengqc

(4)umask命令

功能:用来设置新建文件权限的掩码。

umask是在Linux中常见的一个东西,它其实是一个掩码。当然,也有umask这样一个命令,它是对用户建立的文件的默认属性的定义。该定义为:

假设umask为022,则对于一个文件夹的话,它的默认属性为777-022=755,这也就是我们平时建立文件夹的权限。而对于一般的文件的话,则是用666-022=644。

格式:umask[模式]

说明:模式为新建文件权限的掩码值。

文件访问权限可以通过chmod命令来修改。当用户创建一个新文件后,如果不使用chmod修改权限,则这个文件的权限是什么呢?这个文件的权限由系统默认权限和默认权限掩码共同确定,它等于系统默认权限减去默认权限掩码。Linux系统中目录的默认权限是777,文件的默认权限是666。因此,有以下公式:

新目录的权限=777-默认权限掩码

新文件的权限=666-默认权限掩码

注意:基于安全原因,Linux系统不允许文件的默认权限有执行权。

不带任何参数的umask命令显示当前的默认权限掩码值。

例1.显示当前的默认权限掩码值。

#umask

022 //当前系统的默认权限掩码值

验证

$touch test //新建立test空文件

$ls–l test

-rw-r—r—1 root root 7 3月8 12:57 test

以上说明如果用户创建新的文件,文件的权限应为666-022=644(即rw-r—r—)。

4.Shell简介

shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。

Shell也有多种不同的版本。目前主要有下列版本的Shell:

Bourne Shell:是贝尔实验室开发的。

BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。

Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。

C Shell:是SUN公司Shell的BSD版本。

一般shell都放在/bin目录下,下面是系统常见的几种shell

#ls/bin/∗sh

/bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh

5.用户的管理

Linux是一个多任务,多用户的操作系统,要能做到不同的用户能同时访问不同的文件,允许不同的用户从本地登录或远程登录,这时用户必须拥有一个合法的账号,Linux系统正是通过账号来实现对用户的访问进行控制的,因此,需要对用户与组进行有效的管理。

Linux系统采用纯文本文件来保存账号的各种信息,其中最重要的文件有/etc/passwd,/etc/shadow,/etc/group这几个。我们可以使用vi或其他编辑器来更改它们,也可以使用专门的命令来更改它们。账号的管理实际上就是对这几个文件的内容进行添加、修改和删除记录行的操作。不管以哪种形式管理账号,了解这几个文件的内容十分必要。

(1)/etc/passwd文件

/etc/passwd文件是账号管理中最重要的一个文件,它是一个纯文本文件。每一个注册用户在该文件都有一个对应的记录行,这一记录行记录了此用户的必要信息。

例1.显示/etc/passwd文件。

#cat/etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:

从passwd文件中可以看到,第一行是root用户,紧接的是系统用户,普通用户通常在文件的尾部。passwd文件中的每一行由7个字段的数据组成,字段之间用“:”分隔,其格式如下:

账号名称:密码:UID:GID:个人资料:主目录:Shell

说明如下:

账号名称:用户登录Linux系统时使用的名称。

密码:这里的密码是经过加密后的密码,而不是真正的密码,若为“x”,说明密码经过了shadow的保护。

UID:用户的标识,是一个数值,Linux系统内部使用它来区分不同的用户。

GID:用户所在主组的标识,是一个数值,Linux系统内部使用它来区分不同的组,相同的组具有相同的GID。

个人资料:可以记录用户的个人信息,如姓名、电话等信息(上例中test用户本项为空)。

主目录:通常是/home/username,这里username是用户名,用户执行“cd~”命令时当前目录会切换到个人主目录。

Shell:定义用户登录后使用的Shell,默认是bash。

(2)/etc/shadow

任何用户对passwd文件都有读的权限,虽然密码已经经过加密,但还是不能避免有人会获取加密后的密码。为了安全,Linux系统对密码提供了更多一层的保护,即把加密后的密码重定向到另一个文件/etc/shadow。密码如果经过shadow保护,在/etc/passwd文件中,每一记录行的密码字段会变成“x”,并且在/etc目录下存在文件shadow。只有超级用户能够读取shadow的内容。

例2.查看shadow文件的内容。

#cat/etc/shadow

root::12123:0:99999:7:::

bin:∗:12123:0:99999:7:::

……

test::12123:0:99999:7:::

和passwd文件类似,shadow文件中的每行由9个字段组成,格式如下:

用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志字段

shadow文件中,密码字段为“∗”表示用户被禁止登录,为“!!”表示密码未设置,为“!”表示用户被锁定。

6.命令行方式管理用户

在对用户与组进行管理时,可以采用两种方式,即命令行(Shell)方式和图形界面(GUI)方式,命令行方式下的用户与组的管理,包括用户的添加、删除及修改等。

(1)添加用户账号

超级用户root可以通过在系统提示符下运行useradd或adduser命令来创建用户账号。

命令格式:useradd[选项]用户名

说明:只有超级用户root才有权使用此命令,使用useradd命令创建新的用户账号后,应利用passwd命令为新用户设置口令。

useradd命令有很多的可选选项,具体说明如下:

-u:设置用户ID(UID),用户ID和账号一样必须是唯一的。

-g:指定用户所属的用户组(组必须存在),参数可以是组名称或组ID(GID)。

-d:建立用户目录,参数即所建的用户目录(通常与用户账号相同)。

-s:设置用户环境,即设置用户的Shell环境。

-e:设置用户账号的使用期限。

例.分析useradd命令中选项的意义。

#useradd –g 100–d/home/user1–s/bin/bash–e 08/02/06 user1

其参数的意义如下:

-g参数:指定用户所属的用户组,但该用户组必须已经存在。参数采用组名或GID皆可,如-g 100与-g users的意思相同,都是把用户加入到users用户组中,其中users用户组的GID 为100。

-d参数:建立用户目录,如–d/home/user1就是替用户建立位于/home目录下的用户目录,目录名称为user1。

-s参数:指定用户环境,如–s/bin/bash指定bash为该用户的Shell。当然也可指定其他Shell供用户使用。

-e参数:设置账号的期限,格式为“月/日/年”,如–e 08/02/06为2006年8月2日。

(2)修改用户属性

①passwd命令

功能:设置修改用户的密码属性。

格式:passwd用户名

说明:修改用户的密码需要两次输入密码确认。密码是保证系统安全的一个重要措施,在设置密码时,不要使用过于简单的密码。密码的长度应在8位或8位以上,由数字和英文组合而成。用户的密码也可以自己更改,这时使用不带用户名的passwd命令。

#passwd

②chsh命令

功能:修改用户的Shell设置。

格式:chsh用户名

说明:如果用户的默认Shell不合适,可以把它改成任何已经加入到/etc/Shells文件中的Shell。使用chsh命令改变用户的Shell,指定的Shell一定要在/etc/Shells中存在,否则会导致用户无法登录。也可以使用下面要介绍的命令usermod来改变用户的Shell设置。

③usermod命令

功能:改变用户的属性。

格式:usermod[选项]用户名

参数选项:

-d dir:改变用户的主目录,如果同时使用“-m”选项,原来主目录的内容会移动到新的主目录。

-g GID或组名:修改用户的所属基本组。

-l name:更改账户的名称,必须在该用户未登录的情况下才能使用。

-m:把主目录的所有内容移动到新的主目录,不能单独使用。

-p密码:修改用户的密码。

-s Shell:修改用户的登录Shell。

-u UID:改变用户的UID为新的值,改变用户的UID时主目录下所有该用户所拥有的文件或子目录将自动更改UID,但对于主目录之外的文件和目录只能用chown命令手工进行设置。

例.修改user2的UID为新的值600,所属组为wyq。

#usermod–u 600–g wyq user2

(3)删除用户账号

若不再需要某个用户时,可以将用户账号删除。使用userdel命令删除账号。

命令格式为:userdel[选项]用户名

参数选项:

-r表示在删除账号的同时,将用户主目录及其内部文件同时删除。若不加选项-r,则表示只删除登录账号而保留相关目录。

(4)锁定用户账号

在系统中,有时需要临时禁止某个用户账号登录而不删除。可以采用以下方式

使用passwd命令锁定用户账号。

命令格式为:passwd-l用户名

①例.锁定用户账号user1登录。

#passwd-l user1

Locking password for user iusr_1。

passwd:Success

查看Linux系统中管理用户账号的系统文件/etc/shadow,可看到其密码域的第一个字符前加了符号“!!”

②恢复时,使用带“-u”参数的passwd命令。

例.恢复user1用户账号登录。

#passwd-u user1

Unlocking password for user user1

passwd:Success

7.组的管理

(1)Linux的组

Linux的组有私有组,系统组,标准组之分。建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。而标准组可以容纳多个用户,组中的用户都具有组所拥有的权利。系统组是Linux系统自动建立的。一个用户可以属于多个组,用户所属的组又有基本组和附加组之分。在用户所属组中的第一个组称为基本组,基本组在/etc/passwd文件中指定;其他组为附加组,附加组在/etc/group文件中指定。属于多个组的用户所拥有的权限是它所在的组的权限之和。

Linux系统关于组的信息存放在文件/etc/group中。

例.显示文件/etc/group内容。

#cat/etc/group

root:x:0:root,test

bin:x:1:root,bin,daemon

……

test:x:500:

group1:x:1000:

user1:x:501:

group文件中的每一行记录了一个组的信息,每行包括4个字段,字段之间用“:”分隔。

格式为 组名:组的密码:GID:组成员

字段说明:

组名:组的名称,如root,bin等。

组的密码:设置加入组的密码,一般情况下不使用组密码,该字段通常没用。

GID:组的标识符,为数值,类似UID。

组成员:组所包含的用户,用户之间用“,”分隔。

(2)用户组的建立,修改,删除

①组的建立

可以手工编辑/etc/group文件来完成组的添加,也可以用命令groupadd来添加组。

命令格式:groupadd组名

例.添加组group1。

#groupadd group1

②修改组属性

使用groupmod命令来修改组名或GID。

在groupmod-g命令后加上组的新ID号和组名来修改GID。

在groupmod-n命令后加上新组名和原组名来修改组名。

③改变组中的成员用户或改变组的密码

gpasswd命令。

格式:gpasswd[参数][用户名]组名

不带参数时,即修改组密码。

参数选项:

-a:将用户加入到组中。

-d:将用户从组中删除。

例.将用户user1加入到组group1中。

#gpasswd-a user1 group1

例.将用户user1从组group1中删除。

#gpasswd-d user1 group1

④删除组

使用groupdel命令来删除组。

格式:groupdel组名

说明:组被删除后,应使用chown命令将被删除用户组的目录与文件变为其他的用户组。

否则文件与目录会无所属组

1.3.4 任务实施

新建一用户组students。新建一用户iusr_1,所属组为students,家目录在/usr/local/iusr_1,shell为/bin/bash。设置用户iusr_1的密码为Linuxstation1。对用户lp(打印管理)禁用。删除用户news(新闻管理),删除用户组news。

任务步骤如下:

1.新建一用户组students

#groupadd students

2.新建一用户iusr_1,所属组为students,家目录在/usr/local/iusr_1,shell为/bin/bash

#useradd–d/usr/local/iusr_1–g students iusr_1

3.设置用户iusr_1的密码为Linuxstation1

#passwd iusr_1

Changing password for user iusr_1。

New UNIX password://输入密码Linuxstation1

Retype new UNIX password://再输一次

passwd:all authentication tokens updated successfully。

4.临时对用户lp禁用

#passwd–l lp

Locking password for user lp。

passwd:Success

5.恢复lp用户账号

#passwd–ulp

Unlocking password for userlp。

passwd:Success。

6.删除用户news

#userdel–r news

7.删除用户组news

#groupdel news

1.3.5 考核要点

表1.3.1 用户与用户组的管理考核要点

1.3.6 能力拓展

(1)新建一个组group1,新建一个系统组group2。

(2)更改组group2的GID为103,更改组名为grouptest。

(3)删除组grouptest。

(4)新建用户user1,指定UID为777,目录为/home/user1,初始组为group1,有效组为root,指定shell为/bin/bash。

(5)新建一个系统用户user2。

(6)查看用户user1的组群,切换到user1,在主目录下新建文件test1,再切换有效组为root,再新建文件test2。

(7)修改用户user1的个人说明为This is a test。

(8)修改用户密码过期时间为2010-07-27。

(9)更改用户user1的密码为111111,加锁用户user1并查看/etc/shadow,用户user1通过ssh登录127.0.0.1,解锁用户user1,再通过ssh登录。

(10)更改用户主目录/home/user1为/home/user11。

(11)查看所有支持的shell,将root更改为csh,并查看结果,并将root改为bash。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈