本書以任務(wù)為主線,全面介紹了Red Hat Enterprise Linux 5 Server操作系統(tǒng),包括Linux桌面應(yīng)用、Linux系統(tǒng)管理和服務(wù)器管理與維護(hù)等工作中的應(yīng)用技能。本書*大的特點是以虛擬企業(yè)的真實情景為背景,把Linux網(wǎng)絡(luò)操作系統(tǒng)的工作過程與學(xué)習(xí)過程有機(jī)地結(jié)合起來。
錄
Linux服務(wù)器的配置與管理項目實施(第二版)
項目1安裝Linux構(gòu)建網(wǎng)絡(luò)環(huán)境
1.1任務(wù)描述
1.2任務(wù)分析
1.3知識儲備
1.3.1Linux誕生
1.3.2Linux的應(yīng)用概況
1.3.3Linux的主要優(yōu)勢
1.3.4Linux磁盤分區(qū)基礎(chǔ)
1.4任務(wù)實施
1.4.1安裝Red Hat Enterprise Linux 5
1.4.2配置網(wǎng)絡(luò)環(huán)境
1.5習(xí)題與實訓(xùn)
1.5.1思考與習(xí)題
1.5.2實訓(xùn)
項目2文件系統(tǒng)管理
2.1任務(wù)描述
2.2任務(wù)分析
2.3知識儲備
2.3.1Linux文件系統(tǒng)概述
2.3.2Linux文件系統(tǒng)的組織方式
2.3.3Linux系統(tǒng)的默認(rèn)安裝目錄
2.3.4Linux中的文件類型
2.3.5Linux中的文件和目錄權(quán)限
2.3.6Linux的Shell操作
2.3.7vi編輯器的使用
2.4任務(wù)實施
2.4.1文件操作命令的使用
2.4.2目錄操作命令的使用
2.4.3文件與目錄的權(quán)限操作
2.5習(xí)題與實訓(xùn)
2.5.1思考與習(xí)題
2.5.2實訓(xùn)
項目3管理Linux操作系統(tǒng)
3.1任務(wù)描述
3.2任務(wù)分析
3.3知識儲備
3.3.1Linux系統(tǒng)管理概述
3.3.2用戶和組管理
3.3.3軟件包管理
3.3.4Linux中的設(shè)備文件
3.4任務(wù)實施
3.4.1用戶與組賬號管理
3.4.2設(shè)備管理
3.4.3系統(tǒng)信息命令的使用
3.4.4軟件包管理
3.5習(xí)題與實訓(xùn)
3.5.1思考與習(xí)題
3.5.2實訓(xùn)
項目4配置與管理Samba服務(wù)器
4.1任務(wù)描述
4.2任務(wù)分析
4.3知識儲備
4.3.1Samba概述
4.3.2Samba服務(wù)工作原理
4.3.3Samba服務(wù)器的文件
4.3.4Samba用戶映射
4.4任務(wù)實施
4.4.1Samba配置流程
4.4.2Samba配置實例
4.5習(xí)題與實訓(xùn)
4.5.1思考與習(xí)題
4.5.2實訓(xùn)
項目5配置與管理DHCP服務(wù)器
5.1任務(wù)描述
5.2任務(wù)分析
5.3知識儲備
5.3.1DHCP概述
5.3.2DHCP的工作原理
5.3.3DHCP中繼代理原理
5.3.4DHCP常用術(shù)語
5.4任務(wù)實施
5.4.1安裝DHCP軟件包
5.4.2熟悉相關(guān)配置文件
5.4.3熟悉主配置文件dhcpd.conf
5.4.4設(shè)置ip作用域
5.4.5設(shè)置客戶端
5.4.6啟動與停止DHCP服務(wù)
5.4.7客戶機(jī)獲得IP地址
5.4.8DHCP服務(wù)器安裝與配置的實例
5.5習(xí)題與實訓(xùn)
5.5.1思考與習(xí)題
5.5.2實訓(xùn)
項目6配置與管理DNS服務(wù)器
6.1任務(wù)描述
6.2任務(wù)分析
6.3知識儲備
6.3.1DNS概述
6.3.2DNS服務(wù)器軟件包
6.3.3DNS服務(wù)器的配置文件
6.4任務(wù)實施
6.4.1DNS服務(wù)器的安裝
6.4.2DNS配置文件修改
6.4.3DNS服務(wù)器網(wǎng)絡(luò)設(shè)置及測試
6.5習(xí)題與實訓(xùn)
6.5.1思考與習(xí)題
6.5.2實訓(xùn)
項目7配置與管理Apache服務(wù)器
7.1任務(wù)描述
7.2任務(wù)分析
7.3知識儲備
7.3.1Apache概述
7.3.2Apache服務(wù)器配置文件
7.3.3Apache服務(wù)器的配置流程
7.4任務(wù)實施
7.5習(xí)題與實訓(xùn)
7.5.1思考與習(xí)題
7.5.2實訓(xùn)
項目8配置與管理FTP服務(wù)器
8.1任務(wù)描述
8.2任務(wù)分析
8.3知識儲備
8.3.1FTP概述
8.3.2FTP的工作原理
8.3.3vsFTPd中的三類用戶
8.3.4FTP的命令方式
8.3.5常用配置參數(shù)
8.3.6FTP服務(wù)器的配置文件
8.3.7使用pam實現(xiàn)虛擬用戶FTP服務(wù)
8.4任務(wù)實施
8.5習(xí)題與實訓(xùn)
8.5.1思考與習(xí)題
8.5.2實訓(xùn)
項目9配置與管理Email服務(wù)器
9.1任務(wù)描述
9.2任務(wù)分析
9.3知識儲備
9.3.1電子郵件系統(tǒng)概述
9.3.2sendmail郵件服務(wù)器的配置文件
9.3.3電子郵件服務(wù)器的配置流程
9.4任務(wù)實施
9.5習(xí)題與實訓(xùn)
9.5.1思考與習(xí)題
9.5.2實訓(xùn)
參考文獻(xiàn)
項目3 管理Linux操作系統(tǒng)
3.1任 務(wù) 描 述 季目開關(guān)制造公司運營過程中,由于公司各部門文件權(quán)限沒有嚴(yán)格限制,造成公司的研發(fā)資料以及行政部門的行政管理資料在公司內(nèi)部隨意傳播訪問,這就需要網(wǎng)絡(luò)運維管理員對文件服務(wù)器上的文檔進(jìn)行權(quán)限規(guī)劃和限制,并對各部分用戶的權(quán)限進(jìn)行設(shè)置。用戶權(quán)限的任務(wù)要求:
(1) 研發(fā)部開發(fā)人員David和Peter屬于組A。
(2) 行政部人員Jack和Mike屬于組B。
(3) 建立目錄/project_a,該目錄中的文件只能由研發(fā)部開發(fā)人員讀取、增加、刪除、修改以及執(zhí)行,其他用戶不能對該中進(jìn)行任何訪問操作。
(4) 建立目錄/project_b,該目錄中的文件只能由行政部人員讀取、增加、刪除、修改以及執(zhí)行,其他用戶不能對該目錄進(jìn)行任何訪問操作。
(5) 建立目錄/project,該目錄中的文件可由研發(fā)部、行政部人員讀取、增加、刪除、修改以及執(zhí)行,其他部門用戶只可以對該目錄進(jìn)行只讀的訪問操作。
3.2任 務(wù) 分 析
(1) 理解用戶與賬戶的概念。
(2) 熟悉賬戶配置文件。
(3) 學(xué)會設(shè)置基本操作權(quán)限。
(4) 了解特殊權(quán)限的使用。
3.3知 識 儲 備 3.3.1Linux系統(tǒng)管理概述 Linux操作系統(tǒng)是多用戶的操作系統(tǒng),允許多個用戶同時登錄到系統(tǒng)上,使用系統(tǒng)資源。當(dāng)多個用戶能同時使用系統(tǒng)時,為了使所有用戶的工作都能順利進(jìn)行,保護(hù)每個用戶的文件和進(jìn)程,也為了系統(tǒng)自身的安全和穩(wěn)定,必須建立一種秩序,使每個用戶的權(quán)限都得到規(guī)范。
3.3.2用戶和組管理
1. 用戶的概念 Linux 是真正意義上的多用戶操作系統(tǒng),可以在Linux系統(tǒng)中建若干用戶。例如,其他人想用我的計算機(jī),但我不想讓他用我的用戶名登錄,因為我的用戶名下有不想讓別人看到的資料和信息(也就是隱私內(nèi)容)。這時我就可以給他建一個新的用戶名,這從計算機(jī)安全角度來說是符合操作規(guī)則的; 當(dāng)然用戶的概念理解還不僅僅于此,在Linux系統(tǒng)中還有一些用戶是用來完成特定任務(wù)的,比如nobody和ftp 等,我們訪問一個Linux服務(wù)器的網(wǎng)頁程序,就是nobody用戶; 我們匿名訪問ftp 時,會用到用戶ftp或nobody。Linux系統(tǒng)的一些賬號請查看 /etc/passwd。
2. 用戶的類型
(1) root 用戶: 系統(tǒng)唯一,是真實的,可以登錄系統(tǒng),可以操作系統(tǒng)任何文件和命令,擁有*高權(quán)限。
(2) 普通用戶: 這類用戶能登錄系統(tǒng),但只能操作自己目錄的內(nèi)容; 權(quán)限有限; 這類用戶都是系統(tǒng)管理員自行添加的。 3. 用戶組的概念 用戶組就是具有相同特征的用戶的集合體。例如,有時要讓多個用戶具有相同的權(quán)限,如查看、修改某一文件或執(zhí)行某個命令,這時需要用戶組,把用戶都定義到同一用戶組,通過修改文件或目錄的權(quán)限,讓用戶組具有一定的操作權(quán)限,這樣用戶組下的用戶對該文件或目錄都具有相同的權(quán)限,這是通過定義組和修改文件的權(quán)限來實現(xiàn)的。例如,為了讓一些用戶有權(quán)限查看某一文檔,如是一個時間表,而編寫時間表的人要具有讀寫執(zhí)行的權(quán)限,想讓一些用戶知道這個時間表的內(nèi)容,而不讓他們修改,所以可以把這些用戶都劃到一個組,然后來修改這個文件的權(quán)限,讓用戶組可讀,這樣用戶組下面的每個用戶都是可讀的。 用戶和用戶組的對應(yīng)關(guān)系是: 一對一、多對一、一對多或多對多。 一對一: 某個用戶可以是某個組的唯一成員。 多對一: 多個用戶可以是某個唯一的組的成員,不歸屬其他用戶組,如beinan和linuxsir兩個用戶只歸屬于beinan用戶組。 一對多: 某個用戶可以是多個用戶組的成員,如beinan可以是root組成員,也可以是linuxsir用戶組成員,還可以是adm用戶組成員。 多對多: 多個用戶對應(yīng)多個用戶組,并且?guī)讉用戶可以是歸屬相同的組。
4. 用戶和組管理常用命令
1) 添加系統(tǒng)用戶: useradd 格式: useradd [選項] 用戶名 useradd -d/*指定用戶的宿主目錄*/ useradd -e /*指定用戶的賬號失效時間,可使用YYYY-MM-DD的日期格式*/ useradd -g /*指定用戶的基本組名,也可以使用GID*/ useradd -G /*指定用戶的公共組名,也可以使用GID*/ useradd -M /*不為用戶建立并初始化宿主目錄*/ useradd -s /*指定用戶的登錄shell環(huán)境*/ useradd -u /*指定用戶的UID號*/
2) 設(shè)置系統(tǒng)用戶密碼passwd 格式: passwd [選項] 用戶名 passwd -d /*清空指定用戶密碼*/ passwd -l /*鎖定指定用戶賬戶*/ passwd -S /*查看指定用戶狀態(tài)*/ passwd -u /*解鎖指定用戶賬戶*/
3) 修改指定用戶賬戶信息usermod 格式: usermod [選項] 用戶名
4) 刪除指定用戶賬戶userdel 格式: userdel [-r] 用戶名 userdel -r /*刪除用戶后,也將該用戶的宿主目錄一并刪除*/ 5) 添加一個系統(tǒng)用戶組groupadd 格式: groupadd [-g] 組名 groupadd -g /*為新建的組指定GID組標(biāo)記*/
6) 刪除一個系統(tǒng)用戶組groupdel 格式: groupdel 組名
7) 輸出指定用戶的身份標(biāo)記信息id 格式: id [選項] 用戶名 id -u /*只顯示有效用戶信息*/ id -g /*只顯示有效組信息*/ id -n /*只輸出用戶名稱*/ 8) 查看登錄到當(dāng)前主機(jī)中的用戶users 格式: users/who 9) 切換為另一個用戶身份su 格式: su [-l] [目標(biāo)用戶名] su -l /*使用目標(biāo)用戶的登錄shell環(huán)境,該選項可簡寫為"-"*/
5. 賬號系統(tǒng)文件 完成用戶管理的工作有多種方法,但是每種方法實際上都是對有關(guān)的系統(tǒng)文件進(jìn)行修改。與用戶和用戶組相關(guān)的信息都存放在一些系統(tǒng)文件中,這些文件包括/etc/passwd,/etc/shadow,/etc/group等。下面分別介紹這些文件的內(nèi)容。
1) /etc/passwd文件 這個文件是用戶管理工作涉及的*重要的一個文件。Linux系統(tǒng)中的每個用戶都在/etc/passwd文件中有一個對應(yīng)的記錄行,它記錄了這個用戶的一些基本屬性。這個文件對所有用戶都是可讀的。例如,用cat /etc/passwd可以查看它的詳細(xì)信息: root:x:0:0:Superuser:/: daemon:x:1:1:System daemons:/etc: bin:x:2:2:Owner of system commands:/bin: sys:x:3:3:Owner of system files:/usr/sys: adm:x:4:4:System accounting:/usr/adm: uucp:x:5:5:UUCP administrator:/usr/lib/uucp: auth:x:7:21:Authentication administrator:/tcb/files/auth: cron:x:Array:16:Cron daemon:/usr/spool/cron: listen:x:37:4:Network daemon:/usr/net/nls: lp:x:71:18:Printer administrator:/usr/spool/lp: sam:x:200:50:Sam san:/usr/sam:/bin/sh 可以看到,/etc/passwd中一行記錄對應(yīng)著一個用戶,每行記錄又被冒號分隔為7個字段,其格式和具體含義如下: 用戶名:口令:用戶標(biāo)識號:組標(biāo)識號:注釋性描述:主目錄:登錄Shell
(1) “用戶名”是代表用戶賬號的字符串。通常長度不超過8個字符,并且由大小寫字母和/或數(shù)字組成。登錄名中不能有冒號,因為冒號在這里是分隔符。為了兼容起見,登錄名中*好不要包含點字符(.),并且不使用連字符(-)和加號(+)打頭。
(2) “口令”: 一些系統(tǒng)中,存放著加密后的用戶口令字。雖然這個字段存放的只是用戶口令的加密串,不是明文,但是由于/etc/passwd文件對所有用戶都可讀,所以這仍是一個安全隱患。因此,現(xiàn)在許多Linux 系統(tǒng)(如SVR4)都使用了shadow技術(shù),把真正的加密后的用戶口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一個特殊的字符,如x或*。
(3) “用戶標(biāo)識號”是一個整數(shù),系統(tǒng)內(nèi)部用它來標(biāo)識用戶。一般情況下,它與用戶名是一一對應(yīng)的。如果幾個用戶名對應(yīng)的用戶標(biāo)識號是一樣的,系統(tǒng)內(nèi)部將把它們視為同一個用戶,但是它們可以有不同的口令、不同的主目錄以及不同的登錄Shell等。通常用戶標(biāo)識號的取值范圍是0~65 535。0是超級用戶root的標(biāo)識號,1~Array,Array由系統(tǒng)保留,作為管理賬號,普通用戶的標(biāo)識號從100開始。在Linux系統(tǒng)中,這個界限是500。
(4) “組標(biāo)識號”字段記錄的是用戶所屬的用戶組。它對應(yīng)著/etc/group文件中的一條記錄。
(5) “注釋性描述”字段記錄著用戶的一些個人情況,如用戶的真實姓名、電話、地址等,這個字段并沒有什么實際的用途。在不同的Linux 系統(tǒng)中,這個字段的格式并沒有統(tǒng)一。在許多Linux系統(tǒng)中,這個字段存放的是一段任意的注釋性描述文字,用作finger命令的輸出。
(6) “主目錄”,就是用戶的起始工作目錄,是用戶在登錄到系統(tǒng)之后所處的目錄。在大多數(shù)系統(tǒng)中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱就是該用戶的登錄名。各用戶對自己的主目錄有讀、寫、執(zhí)行(搜索)權(quán)限,其他用戶對此目錄的訪問權(quán)限則根據(jù)具體情況設(shè)置。
(7) 用戶登錄后,要啟動一個進(jìn)程,負(fù)責(zé)將用戶的操作傳給內(nèi)核,這個進(jìn)程是用戶登錄到系統(tǒng)后運行的命令解釋器或某個特定的程序,即Shell。Shell是用戶與Linux系統(tǒng)之間的接口。Linux的Shell有許多種,每種都有不同的特點。常用的有sh(Bourne Shell)、csh(C Shell)、ksh(Korn Shell)、tcsh(TENEX/TOPS20 type C Shell)、bash(Bourne Again Shell)等。系統(tǒng)管理員可以根據(jù)系統(tǒng)情況和用戶習(xí)慣為用戶指定某個Shell。如果不指定Shell,那么系統(tǒng)使用sh為默認(rèn)的登錄Shell,即這個字段的值為/bin/sh。用戶的登錄Shell也可以指定為某個特定的程序(此程序不是一個命令解釋器)。
利用這一特點,可以限制用戶只能運行指定的應(yīng)用程序,在該應(yīng)用程序運行結(jié)束后,用戶就自動退出了系統(tǒng)。有些Linux 系統(tǒng)要求只有那些在系統(tǒng)中登記了的程序才能出現(xiàn)在這個字段中。 系統(tǒng)中有一類用戶稱為偽用戶(Psuedo Users),這些用戶在/etc/passwd文件中也占有一條記錄,但是不能登錄,因為它們的登錄Shell為空。它們的存在主要是方便系統(tǒng)管理,滿足相應(yīng)的系統(tǒng)進(jìn)程對文件屬主的要求。常見的偽用戶如表31所示。