sco unixware 7.1.1 全面學習資料(6)(轉)

BSDLite發表於2007-08-15
sco unixware 7.1.1 全面學習資料(6)(轉)[@more@]第二講 常用管理命令

二、 常用系統管理命令介紹

   1. share 和 mount 命令

   這是系統管理員常用的兩個命令,share命令用於把本機的目錄共享出來,以便其它Unix系統可以使用;mount命令則用於把其它Unix系統共享出來的目錄掛接到本機的掛接點上,從而可以使用其它Unix系統的資源。 例如:

   在機器A上輸入 machineA# share -F nfs -o rw /share-dir

   在機器B上輸入 machineB# mount -F nfs machineA:/share-dir /mount-point

   第一條命令把機器A的 share-dir 目錄共享出來,並且共享的許可權是可讀寫;

   第二條命令把機器A的共享目錄掛接到機器B的 mount-point 目錄上。

   完成這兩個命令後,使用者在機器B上透過對mount-point的訪問就可以操作機器A上的share-dir目錄了。

   但是有時我們操作時,在機器B上執行了mount命令後,會返回"RPC: Program not registered"這樣的錯誤,這是因為在機器A上缺少mountd和nfsd 這兩個守護程式(daemon)。Unix系統啟動時,系統會自動檢查/etc/dfs/dfstab檔案,如果檔案中有要共享的資源,則啟動這兩個守護程式,反之,則不啟動。所以如果我們在/etc/dfs/dfstab中沒有內容,則系統不能啟動mountd和nfsd這兩個守護程式,用share命令共享的目錄也不能真正被別的系統共享。

   解決這個問題的方法很簡單,我們可以把要共享的目錄放入/etc/dfs/dfstab中,則下一次系統啟動時會自動共享這個目錄;另外,我們也可以手動啟動這兩個守護程式,方法是首先用超級使用者(root)登陸,在命令列輸入如下命令:

     machine_A# /etc/rc3.d/S15nfs.server start

   或輸入:

     machine_A# /usr/lib/nfs/mountd
     machine_A# /usr/lib/nfs/nfsd -a 16

   就可以啟動這兩個守護程式了。

   守護程式啟動後,共享目錄才真正被共享出去,這時再在機器B上用mount命令就可以把機器A的目錄掛接到機器B上了。

2. ifconfig命令

   ifconfig命令用於檢視和更改網路介面的地址和引數,如果要顯示某臺Unix主機的IP地址,我們可以在命令列下輸入:

     $ifconfig -a

   系統會顯示網路介面的名稱,介面的狀態(up or down),介面的IP地址和掩碼等資訊。
如果我們要更改網路介面的IP地址,可以在root許可權下輸入:

     #ifconfig hme0 down
     #ifconfig hme0 202.1.2.3 netmask 255.255.255.0 up

   首先,使用down命令引數把網路介面hme0的服務暫時停止,然後再用ifconfig命令給介面分配新的IP地址和掩碼,並啟動網路介面服務。本例中把hme0介面的IP地址設為202.1.2.3,掩碼為255.255.255.0。我們也可以透過改變檔案/etc/hosts中的IP地址的值並重新啟動系統來更改機器的IP地址。

   在系統啟動時,網路介面服務時自動被啟動的,我們不需要手動地建立網口服務,但有時我們更改了網路卡或增加了網路卡後,系統不能自動啟動該介面服務,這時我們需要手動建立網口服務,在root許可權下輸入:

     #ifconfig hme0 plumb

   即可以為介面le0建立網口服務。相應地,用ifconfig帶unplumb引數可以停止服務並關閉網路介面,這時我們再用ifconfig -a 命令將看不到該網路介面。

3. fsck命令

   fsck命令也是一個經常使用的命令,它用於對檔案系統進行檢查,並對損害的檔案系統進行修復。
fsck的語法如下:

   fsck (-F fstype) (-v) (-m) (-special…)
   fsck (-F fstype) (-v) (-y|Y|n|N)
   (-o fstype options) (special…)

   其中:

   -F fstype : 說明被檢查的檔案系統的型別
   -v : 返回完成的命令列,但不執行
   -y|Y: 對所有問題均回答Yes
   -n|N: 對所有問題均回答No
   -m: 對檔案系統進行檢查,不修覆檔案系統,

   如果檔案系統經檢查後是可安裝的,則顯示

   ufs fsck : sanity check : /dev/rdsk/c0t0d0s0 okay.
   -o: 檔案系統型別選項,選項由逗號分隔,

   最常用的選項有兩個:

   P: 整理(preen)模式
   F: 強制檢查模式,此選項忽略檔案系統狀態標誌。

   執行fsck後,該命令會分6個階段對檔案系統進行檢查,這六個階段分別是:

   階段1: 檢查塊和塊的大小
   階段2: 檢查路徑名
   階段3: 檢查連線性
   階段4: 檢查參考記數
   階段5: 檢查自由塊列表
   階段6: 補救自由塊列表

   fsck在對每個階段進行檢查時,如果發現錯誤,會提示使用者進行修改,常見的一些錯誤有:

   (1). 移去一個沒有相關檔案的目錄入口:這時使用者可以回答Yes或Y來刪除該目錄入口。

   (2). 重連線一個已分配但不能訪問的檔案:fsck找到了一個已分配的I節點,但卻不可訪問(該節點沒與任何目錄連線),這時一般對fsck的"RECONNECT?"回答Yes,即把該I節點連線到lost+found目錄下,檔名即是I節點號,之後管理員應檢查該檔案型別,判明該檔案用途,再將該檔案複製到相應目錄下。

   (3). 連線數調整:在互動方式下,fsck若發現連線數不一致,將詢問使用者採取何種行動,本例發現一目錄的I節點連線數與該目錄的真實連線數不一致。這時使用者應該回答Yes或Y來改正連線數。

   (4). 自由塊表不一致:fsck查出未分配塊數與超級塊中所給出的自由塊表不一致。這時使用者應該回答Yes或Y來修正超級塊。

   從上面的出錯資訊和處理方法可以發現,對於fsck詢問的問題大多數情況下都可以用Yes來回答,所以在實際應用時,可以用" -y"選項來執行該命令對硬碟進行檢查和修復。

4. route命令
   route命令主要用於手動配置靜態路由表。例如我們要增加一條透過閘道器到達令一子網的路由,命令如下:
     #route add net remote_net_ip gateway_ip 1
   其中add代表要增加路由,net表示路由到達的是一個網路而不是一臺主機,1代表遠端網路需透過閘道器才能到達,而不是直接與它相連(直接透過網路介面相連時,該引數用0)。

  也可以使用如下命令:

     #route add -net remote_net_ip
     gateway_ip -netmask netmask
     #route add -host host_ip
     local_interface_ip -interface

   其中第一條命令與上面介紹的命令完成相同的任務,而第二條命令則代表要建立一條透過網路介面到達另一臺主機的路由。

   當然,我們使用"delete","change"命令引數可以對路由表中的路由資訊進行刪除和修改。執行完route命令後,我們可以用"netstat -rn"命令檢視當前的路由資訊。

   透過route配置路由表後,該路由資訊會一直儲存到下次系統重啟。系統重啟後,則要重新配置路由表。透過修改檔案/etc/defaultrouter可以設定一些預設路由,這些路由在系統每次啟動時都會被加到路由表中,而不必每次啟動都用route命令來配置路由表。

   /etc/defaultrouter檔案的格式如下:

     $cat /etc/defaultrouter
     202.77.111.1

   該檔案中現在只有一條預設路由,IP地址是202.77.111.1,這代表系統將把所有不屬於本地的資料包都透過閘道器202.77.111.1傳送出去。

   有時UNIX系統安裝完成後,/etc目錄下並不存在defaultrouter檔案,這時我們可以手工建立該檔案,並編輯好預設路由,然後重啟。系統啟動後,就會自動使用配置好的預設路由資訊了。


5、 UNIX系統管理常見問題及解決方法

   1. 忘記root 密碼

   root使用者又被稱為超級使用者,它是許可權最高的使用者,一旦它的密碼被忘記,將給系統的維護和管理帶來很多困難,下面是忘記root密碼時的處理方法:

   首先,我們需要從CD-ROM 啟動系統,命令是:

     #boot cdrom -s

   系統啟動後,我們要把硬碟根分割槽掛接到光碟檔案系統的/mnt目錄上,執行:

   #mount /dev/dsk/c0t0d0s0 /mnt (該例假設根檔案系統是/c0t0d0s0)

   編輯硬碟根分割槽的shadow檔案,將root的密碼項位置設為空。

     #cd /mnt/etc
     #vi shadow

   注意,有的系統要編輯/etc/passwd 檔案而不是/etc/shadow檔案。改完檔案後,將掛接的根檔案系統卸下。

     #umount /mnt

重新啟動系統,並設定新的root密碼。

7、系統無法啟動

   系統無法啟動的原因大致如下:

   1) 錯誤的引導裝置

   假如因為指定了錯誤的引導裝置使系統不能引導,我們可以在PROM監控等級下利用"probe-scsi","probe-scsi-all"和"probe-ipi"命令來檢視有什麼裝置被連到系統上,並得到啟動裝置的devalias名。進入PROM的方法是當系統啟動時,同時按下"STOP"鍵和"a"鍵, 這時系統出現提示符ok >,即表明系統當前處於PROM監控等級。

   用printenv顯示當前配置情況,如果發現引導裝置不正確,可用setenv來重新設定:

     ok >setenv boot-device devalias

   用reset命令重新啟動系統,或set-defaults 恢復預設值。

   2) 缺少重要的系統檔案,或檔案無效
   這時可以用"-a"選項來引導系統,系統將提供互動式的引導過程,如果有找不到檔案時,系統會提示使用者給出適當的檔名。

   3) 缺少關鍵的系統檔案,或檔案無效
   例如缺少/etc/passwd檔案,這時系統可能會引導,但是沒有任何使用者可以註冊。修復方法是用光碟啟動,掛接根檔案系統並編輯/etc/passwd檔案。

   4) 無法掛接遠端檔案系統
   系統啟動時,會自動執行/etc/vfstab檔案,如果在檔案中有無法掛接的遠端檔案系統,則系統會一直處於等待和重試狀態,無法進入登入介面。解決辦法是用單使用者啟動,編輯/etc/vfstab檔案,刪除錯誤的掛接內容。

   3. 鍵盤失效

   如果出現鍵盤失效的情況,即使用者在鍵盤上輸入資訊而螢幕上沒有響應,首先要檢查硬體的連線,即檢視鍵盤與主機的連線是否完好,連線導線是否有折斷或損害情況。

   如果硬體連線沒有問題,則檢視是否不小心使用了鎖屏命令。方法是,按下"Ctrl+q"鍵,如果系統有響應,則說明是因為使用者按下了"ctrl+s"鍵將螢幕暫時鎖住的原因。鎖住後的螢幕將不顯示使用者從鍵盤輸入的資訊,但輸入的資訊依然能夠執行。

   如果系統仍沒有響應,我們則要重新啟動系統,進入PROM狀態,輸入printenv命令,並檢視input device項的值,如果它的值不是keyboard,用

     ok >setenv inputdevice keyboard

   來使鍵盤成為輸入裝置,然後再次重啟系統,這時系統將會響應使用者的輸入了。

8. cron 或 at 命令不能執行

   UNIX系統並不允許任何使用者都可使用cron進行作業排程,對使用者的限制有兩個檔案,它們是/etc/cron.d/cron.allow和/etc/cron.d/cron.deny。

   如果使用者名稱被新增到/etc/cron.d/cron.allow檔案中,則該使用者被允許使用cron,而不在該檔案中的使用者則不允許使用,如果使用者被新增到/etc/cron.d/cron.deny中,則該使用者不能使用cron,其它使用者則可以使用cron。通常我們根據需要配置其中一個檔案就可以了。

   如果使用者被允許使用cron,則可以用命令

     $crontab myCronFile

   在系統的/var/spool/cron/crontabs目錄中安裝自己的作業排程控制檔案。at 和 cron 相似,要使用at, 需要配置/etc/cron.d/at.allow或/etc/cron.d/at.deny檔案。

  9. 在Telnet時不能用root登入

   在預設情況下,出於安全性考慮,UNIX系統不允許在系統操作檯(console) 以外的終端用root登入,所以有時我們透過Telnet用root登入時,會返回:

     "not on system console"

   這樣的錯誤,這時,我們可以透過修改/etc/default/login檔案來允許root透過Telnet登入。具體方法是,編輯login檔案,找到下面的一行:

     CONSOLE=/dev/console

   將這一行註釋掉,即在行首加上"#"符,存檔退出,再次使用Telnet時,root就可以登入了。

   10. 關於目錄的訪問許可權

   我們都知道UNIX系統中的每一個檔案都有相應的訪問許可權,系統根據該許可權來控制使用者對檔案的訪問,UNIX系統中的目錄也有相應的訪問許可權,但它的定義與檔案有些不同。

   讀許可權:對目錄的讀許可權表示使用者可以檢視該目錄的內容,即可以對該目錄使用"ls"這樣的命令。

   寫許可權:對目錄的寫許可權表示使用者可以在該目錄下建立新檔案或將其中的檔案刪除,不論此時使用者對該檔案是否有寫許可權。

   執行許可權:執行許可權指使用者可以在該目錄下搜尋檔案,也即可以使用該目錄下具有相應訪問許可權的檔案。

總結:上述命令均為常用系統管理命令,部分引數均為常用引數。希望unix學習者能認真學
習本節,參照其他UNIX資料。本節不足之處,在所難免,希望大家指正。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-960440/,如需轉載,請註明出處,否則將追究法律責任。

相關文章