第二章 Linux的系統配置
作者:wangzy
第一節 Linux的網絡設置
TCP/IP是Unix下使用最廣泛的聯網協議,Linux作為一個類Unix操作系統也不例外。Linux自產生之日起就把它作為自己密不可分的一部分。Linux的系統內核直接就為網絡提供了強有力的支持,它支持許多的網絡設備(從網卡、Modem、ISDN適配器到各種路由器等等),並且它從Unix繼承了眾多的性能卓越的網絡軟件,從而使Linux具有很優秀的網絡性能。Linux不僅支持現有的一些網絡協議,而且由於Internet上成千上萬的網絡專家參與其的開發,因而它也為支持一些未來的新協議如IPv6做好了准備,並有一些測試版本。由於本實驗系統是基於Linux的網絡實驗系統,因而熟悉系統以後的工作就是研究Linux的網絡配置特點及其配置和管理的方法。
網卡的安裝:
Linux在內核中已經對各種Ethernet網卡進行了支持,只要在編譯內核的時候把網絡支持及所用網卡型號的驅動編譯進內核即可。一般,對網卡的支持代碼都編譯成動態加載的模塊。
有了內核的支持後,我們還必須把網卡的I/O端號(本網卡為0x320)及中斷號(本網卡為11)傳給內核,從而使系統能真正地控制網卡進行網絡通信。我們必須把它加載在文件/etc/conf.modules(本系統還加載了聲卡模塊)中,本文件內容如下:
alias eth0 ne
options ne io=0x320 irq=11
alias sound sb
alias midi opl3
options opl3 io=0x388
options sb io=0x220 irq=7 dma=1 mpu_io=0x201
我們也可以通過集成的GUI程序進行配置,在終端窗口中運行linuxconf,可對系統大部分的設置工作。
IP地址和網卡的設定
我們將使用控制面板來加載配置程序,運行controlpanel將出現如下窗口,它包含了許多的配置工具,從系統守護進程、網絡設置、用戶管理、軟件包安裝到www服務器Apache的配置程序,應有盡有。
在控制面板中選擇網絡配置,將出現如下的窗口
在上圖中點擊Add,出現如下窗口:
在IP一欄中填入本計算機的IP地址172.31.0.10,網絡掩碼為255.255.255.0,其他為默認值。選擇Done退出。
另外,我們也可以直接在配置文件中添加相應的內容來實現。在/etc/sysconfig下建立文件Network,其內容如下:
NETWORKING=yes
FORWARD_IPV4=false
HOSTNAME=LinuxServer.ec.edu
DOMAINNAME=ec.edu
GATEWAY="172.31.0.200"
GATEWAYDEV="eth0"
二、 接入網關的設置:
在網絡配置窗口選擇Routing,如圖所示:
在上面的圖示中點擊Add,將出現如下的窗口。在設備一欄中填入 eth0,在Network填入網絡字(網絡掩碼和網關相與),在Netmask中填入網絡掩碼255.255.255.0,在Geteway一欄中填入網關地址172.31.0.200(實驗室的網關地址)。選擇Done退出。
另一種方法是直接對配置文件進行編寫,在/etc/sysconfig中創建文件static-routes,其內容為:
eth0 net 172.31.0.0 netmask 255.255.255.0 gw 172.31.0.200
三、 測試網絡連接及運行情況
1、測試和子網的其他客戶機的通信情況。應用ping命令測試,以IP地址172.31.0.105為例:
在終端窗口鍵入"ping 172.31.0.105",Linux主機將向172.31.0.105主機發送信息包並使其回傳,如下圖所示:
可看到time的值大於0,則說明網絡設置基本是正確的。如果time的值等於-1則說明網絡設置是有問題的。
然後,可使用telnet、ftp等程序再測試一下。
第二節 文件系統、用戶、用戶界面管理
一、 文件系統、用戶管理
對文件系統、用戶管理,RedHat系統提供了一個集成化的管理程序Linuxconf,分為字符界面模式、圖形界面模式及web界面管理模式(在後面的實驗系統管理將進一步介紹)。它不僅僅能處理文件系統、用戶的管理,也可以處理網絡設備的加載和啟動程序的設置等等。你可通過linuxconf來調用它,它自動判斷當前是否為x-windows圖形的圖形環境,然後調用相應的程序,如下為圖形模式的Linuxconf:
在這個集成的管理程序中,我們可以進行初始化的設置,加入實驗的用戶組IT;添加實驗管理帳號和實驗用戶的帳號(user1~user50);同時設置磁盤的配額管理。
1、磁盤配額的設置
在文件系統的設置中,磁盤配額的管理是很重要的。對於本實驗系統,由於要對很多學生提供實驗服務,而系統的硬盤空間有。因此每個學生實驗時,都要對他們進行磁盤配額的分配。還好Linux系統提供了quota來設置磁盤配額,這樣對實驗用戶帳號分配相應的磁盤空間,超過一定數額就報警,再到一定數額就禁止用戶上載文件。這樣和實驗管理程序相結合就可以使系統不會因為磁盤空間耗掉而停止工作。
如下為具體的設置(每個用戶的最底警告線為5兆空間,彈性空間為2兆):
用quota,quotaon和quotaoff命令進行配額管理
硬盤配額在幾個方面限制了硬盤使用的總量。我們可以使用GID對一組
用戶進行設置,也可以對單個用戶實行限制。管理硬盤配額要用到如下的各種命令:
quota --生成硬盤配額報告
quotaon --對用戶打開硬盤配額功能並設置硬盤配額
quotaoff --對用戶關閉硬盤配額功能
repquot --也生成關於硬盤配額的報告
edquota --編輯調整用戶的配額
quotacheck --檢查文件系統的配額使用情況
首先用root身份登錄,並對文件系統表/etc/fstab進行編輯,因為我們實驗系統要對/dev/had進行磁盤配額的管理,因此我們要修改關於它的選項,整個文件如下:
/dev/hda1 / ext2 defaults 1 1
/dev/hda5 /user ext2 exec,dev,suid,rw,usrquota,grpquota 1 2
/dev/hda6 swap swap defaults 0 0
/dev/fd0 /mnt/floppy auto sync,user,noauto,nosuid,nodev,unhide 0 0
/dev/cdrom /mnt/cdrom auto user,noauto,nosuid,exec,nodev,ro 0 0
none /proc proc defaults 0 0
接著,我們在/user下生成一個為quota.user和一個為quota.group的文件,並使他們的權限為600。如下使用touch和chmod命令:
#touch /user/quota.user
#chmod 600 /etc/quota.user
#touch /user/quota.group
#chmod 600 /etc/quota.group
好,現在重新啟動計算機,系統的quota就開始工作了。
下一步,我們使用edquota –u username對用戶username進行磁盤配額的設置如下(對用戶user1):
#edquota –u user1
edquota將調用一個編輯器讀進/user/quota.user讓我們進行編輯如下:
第一個soft參數為硬盤(按KB)最低警告數,第一個hard參數為硬盤(按KB)最大的分配數額;第二個soft參數為文件數最低警告數,第二個hard參數為文件數的最大值。
現在,要對用戶user1進行預警期的設置,系統默認是一周(7天),顯然這個時間太長了。我們將設置它為5分鐘,以使在實驗的時間段內能對超額的用戶進行告警。如下使用edquota(還是對用戶user1):
#edquota –t user1
edquota還是對/user/quota.user進行操作,我們在相應位置設置即可,顯示如下:
最後,檢查一下用戶的配額是否正確,用quota命令來檢查用戶的磁盤配額:
用Linuxconf進行設置
設置/dev/hda5為配額磁盤
如圖Access local drviceà /dev/hda5雙擊進行設置:
下來使磁盤配額程序工作,如圖使user quota enabled和group quota enabled其作用:
接著,對每個用戶進行磁盤配額的設置,在Disk space soft limt內設置最低的警戒磁盤數額,在Disk space hard limit內設置最大的磁盤數額,在Disk space grace period內設置警告時間,在Files soft limit內設置最低的文件數,在Files hard limit內設置最大的文件數,在Files grace period內設置警告時間:
實際的測試
用進行了磁盤配額的帳號進行系統登陸,並拷貝一些大的文件(超過7兆),看看系統是否有警告信息並不允許用戶再上載文件。下圖是在shell下,超過磁盤配額警戒線的警告信息:
另外,使用Ftp上載大量的文件進行測試,超過數額後系統拒絕用戶繼續上載文件。
二、 用戶界面管理
因為我們的系統為實驗系統,因此有必要要對用戶的交互界面進行一些更改,加入一些必要的提示信息,以有利於實驗的進行。
1、telnet登陸界面設置
更改/etc/rc.local,把相應的關於issue.net的語句注釋掉。如下:
#echo "" > /etc/issue.net
#echo "Linux Mandrake $R" >> /etc/issue.net
#echo "Kernel $(uname -r) on $a $(uname
同時修改/etc/issue.net,加入我們要顯示給登錄者的信息。修改後用戶的telnet的登陸信息為:
ftp信息的設置
在根目錄下,建立文件welcome.msg,加入提示信息即可。更改後用戶登陸進系統後的字符界面為:
——摘自:軟件屋-Linux之家
相關鏈接: 基於Linux的網絡試驗系統的設計(三)