亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 1486 | 回復(fù): 0
打印 上一主題 下一主題

Solaris高級(jí)系統(tǒng)管理員指南3 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2005-03-25 10:13 |只看該作者 |倒序?yàn)g覽

續(xù)---Solaris高級(jí)系統(tǒng)管理員指南3
4.7.2.3交互式恢復(fù)文件
恢復(fù)單個(gè)文件或目錄時(shí),將它們存入臨時(shí)目錄(例如:/var/tmp)是個(gè)好方法,經(jīng)過(guò)確認(rèn)后才執(zhí)行恢復(fù)操作,事實(shí)上要確保不會(huì)用備份帶上的舊版本文件重寫(xiě)已有的新版本。下面是交互式恢復(fù)文件的步驟:
1、 進(jìn)入超級(jí)用戶;
2、 將磁帶寫(xiě)保護(hù);
3、 將備份帶放入磁帶驅(qū)動(dòng)器中;
4、 鍵入cd /var/tmp,如果你希望將文件存放在其它目錄下,則用相應(yīng)的目錄名代替/var/tmp;
5、 鍵入ufsrestore if /dev/rmt/,一些提示信息和提示號(hào)顯示出來(lái);
6、 建立要恢復(fù)的文件清單;
7、 用ls命令列出一個(gè)目錄的內(nèi)容:
 鍵入cd 改變目錄
 加一個(gè)目錄名或文件名到將要恢復(fù)的文件清單,鍵入add
 若要?jiǎng)h除將要恢復(fù)的文件清單中的目錄名或文件名,鍵入delete
 保持當(dāng)前目錄的模式不變,鍵入setmodes然后鍵入n并回車;
8、 建完清單后,鍵入extract,ufsrestore會(huì)問(wèn)你用哪一卷;
9、 鍵入卷號(hào)回車,如果只有1卷,鍵入1并回車,清單中的文件或目錄就被取出并恢復(fù)到當(dāng)前工作目錄中;
10、 鍵入quit則顯示shell提示符;
11、 用ls -l命令列出已恢復(fù)的文件或目錄;
12、 檢查文件列表,確保所有文件或目錄均被恢復(fù);
13、 用mv命令將文件移到合適的目錄中。
下例說(shuō)明從pubs目錄中恢復(fù)backup.example和junk文件的過(guò)程:
#cd /var/tmp
#ufsrestore if /dev/rmt/0
ufsrestore>ls
:
lost+found/pubs/
ufsrestore>cd pubs
ufsrestore>ls
./pubs:
.Xauthority login
.profile backup.example%
.Xdefaults .mtdeletelog
wastebasket/ core
.cshrc openwin-init
junk/ dead.letter
desksetdefaults .openwin-init.Bak
backup.examples junk
usrestore>add backupo.examples
ufsrestore>add junk
ufsrestore>setmodes
set owner/mode for "."?[yn]n
ufsrestore>extract
you have not read any volumes yet
Unless you know which volume your file(s)are on you should start
with the last volume and work towards the first.
Specify next volume #:1
set owner/mode for "."?(yn)n
ufsrestore>quit
#ls-1
total 6
drwxrwxrwt 3sys sys512 Mar 11 10:36./
drwxrwxr-x 18 oot sys512 Mar 10 16:43.
Drwxr-xr-x2 pubs staff 512 Mar 11 10: 11 pubs/
# pwd
# var/tmp
# cd pubs
# ls
./ ../ backup.examples junk
#
4.7.2.4從備份帶中恢復(fù)單個(gè)文件( ufsrestore)
下面是從備份帶上恢復(fù)單個(gè)文件的過(guò)程:
1、 進(jìn)入超級(jí)用戶;
2、 將備份帶插入;
3、 鍵入cd /var/tmp進(jìn)入/var/tmp目錄下,如果要將備份文件恢復(fù)到不同的目錄中,用相應(yīng)的目錄代替/var/tmp即可;
4、 鍵入ufsrestore xf /dev/rmt/ ,x任選項(xiàng)說(shuō)明拷貝文件或目錄時(shí)是否設(shè)置所有者/模式的信息;
5、 鍵入n,目錄的模式保持不變;
6、 鍵入卷號(hào),如果只有1卷,鍵入1,這時(shí)文件被恢復(fù)到當(dāng)前工作目錄中;
7、 鍵入ls –l 文件清單顯示出來(lái);
8、 用mv命令將文件移到合適的目錄中。
第5章、管理網(wǎng)絡(luò)服務(wù)
本章將介紹:檢查遠(yuǎn)程系統(tǒng)狀態(tài)、向遠(yuǎn)程系統(tǒng)注冊(cè)(rlogin)、系統(tǒng)之間傳送文件(rcp,ftp)、管理NIS+數(shù)據(jù)庫(kù)(admintool)。
5.1檢查遠(yuǎn)程系統(tǒng)狀態(tài)
這一節(jié)說(shuō)明顯示遠(yuǎn)程系統(tǒng)狀態(tài)的命令:rup、ping及rcpinfo –d。
5.1.1確定一個(gè)遠(yuǎn)程系統(tǒng)已運(yùn)行了多長(zhǎng)時(shí)間
命令rup告訴你系統(tǒng)運(yùn)行的時(shí)間及平均負(fù)載。當(dāng)鍵入這個(gè)命令時(shí)系統(tǒng)顯示出主機(jī)名、運(yùn)行時(shí)間及平均負(fù)載。
panda%rup ash
ash up 59 days,3:42,load average:0.12,0.12,0.01
panda%
如果在命令后面不跟隨任選參數(shù),還可以顯示出子網(wǎng)上所有遠(yuǎn)程主機(jī)的一些信息,如果是以表的形式顯示,則可以使用表中的任選項(xiàng)對(duì)輸入分類。
表5.1 RUP命令的任選項(xiàng)
選項(xiàng) 功能
-h 按主機(jī)名字字母順序分類顯示
-l 按平均負(fù)載字母順序分類顯示
-t 按運(yùn)行時(shí)間長(zhǎng)短分類
下例說(shuō)明,輸出按主機(jī)名的字母順序分類;
panda%rup -h
ash up 1 day,1:42,load average,0.00,0.31,0.34
elm up 14 days, 0 min, load average:0.07,0.01,0.00
maple up 32 days,14:39,load average:0.21,0.05.0.00
panda up 8 days, 15:44,load average.o.02,0.00.0.00
panda%
5.1.2確定一個(gè)遠(yuǎn)程系統(tǒng)是否在運(yùn)行(pinguppcinfo-p)
下面的步驟判斷一個(gè)遠(yuǎn)程系統(tǒng)是否在運(yùn)行:
 鍵入ping ,回答信息" is alive"。意指這個(gè)系統(tǒng)在網(wǎng)絡(luò)上是可以存取的,若出現(xiàn)信息"ping:unknown
host",指這個(gè)系統(tǒng)可能不存在,因?yàn)槊纸馕鱿到y(tǒng)不能找到這個(gè)名字的機(jī)器。若出現(xiàn)信息"ping:no answer from
",指遠(yuǎn)程系統(tǒng)可能沒(méi)有在運(yùn)行。
 鍵入rup 顯示系統(tǒng)運(yùn)行時(shí)間及平均負(fù)載的信息。
 鍵入rpcinfo -p,顯示服務(wù)的相關(guān)信息。
 鍵入rlogin ,注冊(cè)到遠(yuǎn)程系統(tǒng)。
 以上以r開(kāi)頭的命令需要遠(yuǎn)程系統(tǒng)允許才可能得到相關(guān)信息。
openet%ping panda
panda is alive
openet%rup panda
panda up 3 days,15:10 load average:0.07,0.08.0.09
openet% rpcinfo-p panda
program vers proto port service
program vers proto port service
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100000 3 rcp 111 portmapper
100000 2 tcp 111 portmapper
100007 3 tcp 1029 ypbing
100007 3 udp 1025 tobind
100021 1 tcp 1030 nlockmgr
100021 1 udp 1026 mlockmgr
100024 1 tcp 1028 status
100024 1 udp 1027 status
100021 3 tcp 1030 nlockmgr
100021 3 udp 1026 nlockmgr
100020 2 tcp 4045 llockmgr
100020 2 udp 4045 llockmgr
10021 2 tcp 1030 nlockmgr
openet%rlogin panda
password
last login; Mon Mar 2 10 :31 56 from cinderella
openet%
還可以鍵ping 的命令格式,系統(tǒng)會(huì)顯示信息"is alive",意指系統(tǒng)在網(wǎng)絡(luò)上是可存取的。若顯示信處息"ping:no answer
from,即意指網(wǎng)絡(luò)上沒(méi)有激活。或顯示信息"ping:unreachable address from ....
",即意指這個(gè)系統(tǒng)在網(wǎng)絡(luò)上可能不存在,因?yàn)闆](méi)有路由可以到此地址。
panda%ping 129.144.52.199
129.144.52.199 is alive
panda% ping 129.144.52.200
unknown host 129.144.52.200
panda% ping 129.145.52.199
ping:no answer from 129.145.52.119
panda%
5.2注冊(cè)到一個(gè)遠(yuǎn)程系統(tǒng)(rlogin)
下面是注冊(cè)到遠(yuǎn)程系統(tǒng)的步驟:
1、鍵入rlogin ,這時(shí)系統(tǒng)可能提示你鍵入口令。
2、如果你在想注冊(cè)的那個(gè)系統(tǒng)上有一個(gè)本地帳號(hào),則鍵入口令。否則,鍵入你NIS+口令。如果你在這上系統(tǒng)上有一個(gè)可存取的主目錄,就注冊(cè)進(jìn)入到那個(gè)目錄。否則只能注冊(cè)到根(/)目錄上。
panda%rlogin openet
password:
no directory:logging in with home=/
Last login:Tue Sep 17 13:54:28 from 119
sun microsystems,inc,sunos5.0 june 1992
openet%
5.3系統(tǒng)之間傳送文件(rcp、ftp)
如果網(wǎng)絡(luò)環(huán)境設(shè)置了automount,可以直接使用cp及mv命令在系統(tǒng)之間傳送文件,但本節(jié)只討論如何使用RCP及FTP命令在系統(tǒng)之間傳送文件
5.3.1使用RCP命令
要使用遠(yuǎn)程拷貝命令從遠(yuǎn)程系統(tǒng)上傳送文件到本地機(jī)器上,鍵入RCP  
,如果你有存取這個(gè)遠(yuǎn)程系統(tǒng)的合法權(quán)限,那么,文件就拷貝到你指定的目標(biāo)路徑位置上。
下例說(shuō)明,將文件quest從系統(tǒng)ash的/tp目錄,拷貝到系統(tǒng)panda的當(dāng)前工作目錄中:
panda% rcp ash:/tmp/quest.
panda%
要從本地系統(tǒng)傳送一個(gè)文件到遠(yuǎn)程系統(tǒng),鍵入rcp ,如果你有存取遠(yuǎn)程系統(tǒng)權(quán)限的話,就將文件從本地系統(tǒng)拷貝到你指定的遠(yuǎn)程目標(biāo)路徑名中。
下例說(shuō)明,將文件quest從系統(tǒng)panda的當(dāng)前工作目錄拷貝到系統(tǒng)openet的/tmp目錄下:
panda%rcp quest openet:/tmp
panda%
如果需要改變文件名,可以將文件名作為目標(biāo)中徑名的一部分。例如,將文件quest改名為question,并將其放到/tmp目錄中,則鍵入/tmp/question作為目標(biāo)路徑名。
5.3.2使用文件傳送程序(ftp)
下面是使用文件傳送程序從本地系統(tǒng)傳送一個(gè)文件到遠(yuǎn)程系統(tǒng)的步驟。
注:要使用文件傳送程序,可能需要在每個(gè)系統(tǒng)上有一個(gè)你的帳號(hào),或在/.rhosts文件中有個(gè)入口,有些系統(tǒng)允許匿名登錄是以anonymous或ftp作為注冊(cè)名,并在口令提示時(shí)打入形如電子郵件地址的字符串。
如果有一個(gè)NIS或NIS+帳號(hào),可以使用注冊(cè)名及網(wǎng)絡(luò)口令通過(guò)FTP存取遠(yuǎn)程系統(tǒng)。
1、 鍵入ftp命令,則FTP>提示符顯現(xiàn)
2、 鍵入open ,系統(tǒng)顯示連接信息,并請(qǐng)求用戶輸入用戶名。
3、 鍵入遠(yuǎn)程系統(tǒng)上的用戶名。
4、 系統(tǒng)請(qǐng)求你輸入口令(如果無(wú)口令,也可能不出現(xiàn))。
5、 鍵入口令(如果需要),系統(tǒng)注冊(cè)信息及FTP>提示出現(xiàn)。
6、
鍵入bin設(shè)置二進(jìn)制格式,或asc設(shè)置ASCII格式,這個(gè)命令設(shè)置文件傳送時(shí)的類型。bin格式傳送時(shí)對(duì)文件不作任何更改。asc格式傳送時(shí),根據(jù)雙方系統(tǒng)的類型,自動(dòng)將文件中的換行符更改為回車符和換行符(如果文件是從unix系統(tǒng)傳送至DOS系統(tǒng)),或相反(如果從DOS系統(tǒng)傳送到unix系統(tǒng)),或不變(兩端系統(tǒng)相同)。
7、 鍵入put  ,系統(tǒng)就顯示文件傳送信息并出現(xiàn)ftp>提示。
8、 鍵入quit則goodbye信息及shell命令提示符出現(xiàn)
panda%ftp
ftp>open elm
Connected to elm
220 elm FTP server(unix(r ) system v Release 4.0)ready.
Name(elm:testuser):testuser
331 Password required for testuser
Password:
230 User ignatz logged in .
ftp>asc
ftp>put quest/tmp/quest
200 PORT command successful.
150 ASCII data connection for /tmp/quest
(129. 144.52.199.1333)
226 Transfer complete
ftp>quit
221 Goodbye.
panda%
可以使用send命令替代put命令,還可以使用mput命令拷貝多個(gè)文件,但沒(méi)有msend命令,詳細(xì)內(nèi)容請(qǐng)見(jiàn)ftp(1)手冊(cè)。注:你必須在對(duì)方系統(tǒng)上有一個(gè)帳號(hào)或?qū)Ψ较到y(tǒng)允許匿名登錄才能使用文件傳送程序
如果你有一個(gè)NIS或NIS+帳號(hào)的話,你可以使用你的注冊(cè)名及網(wǎng)絡(luò)口令通過(guò)ftp存取遠(yuǎn)程系統(tǒng)。下面是使用文件傳送程序?qū)⑦h(yuǎn)程系統(tǒng)的文件傳送到本地系統(tǒng)的步驟:
1、鍵入ftp命令,則ftp>提示符出現(xiàn)
2、鍵入open,系統(tǒng)顯示連接信息,并請(qǐng)求你的用戶名
3、鍵入遠(yuǎn)程系統(tǒng)上你的用戶名并按回車.如果需要口令的話,會(huì)請(qǐng)求你輸入
4、如果需要,鍵入口令,系統(tǒng)顯示注冊(cè)信息及ftp>提示
5、鍵入bin設(shè)置二進(jìn)制格式,或asc設(shè)置ascii格式,這步設(shè)置文件類型
6、鍵入get  并按回車,顯示傳送信息及ftp>提示信息
7、鍵入quit,系統(tǒng)顯示goodbye信息,退出ftp命令,重新顯示shell提示符。
panda%ftp
ftp>open clm
Connected to elm
220 elm FTP server (UNIX(r)system v Release 4.0) ready.
Name (elm;ignatz):ignatz
331 Password required for ignatz.
Password
230user ignatz logged in .
ftp>asc
ftp>get quest/tmp/quest
200 port command successful.
150 ASCII data connection for /tmp/quest
(129. 144.52.119.1333)
266 transfer complete.
Tp>quit
221 Goodbye
panda%
注:可以使用mget命令拷貝多個(gè)文件,詳細(xì)資料見(jiàn)ftp(1)手冊(cè)
第6章、管理用戶帳號(hào)和用戶組
本章主要介紹如何使用管理工具(Administration
Tool)來(lái)建立和管理用戶帳號(hào)以及用戶組,該管理工具用于編輯NIS+數(shù)據(jù)庫(kù)和本地/etc目錄下的文件,同時(shí),它還允許用戶查看NIS
map中的信息,但不提供對(duì)這些信息的編輯功能。
注意: Solaris 2.x提供了以下的SVR4
useradd命令:useradd、userdel、usermod、groupadd、groupmod和groupdel。由于這些命令與網(wǎng)絡(luò)關(guān)系不大,因而不在本章中討論。如果想要在獨(dú)立系統(tǒng)中使用這些命令管理用戶帳號(hào),請(qǐng)參閱合適手冊(cè)。
6.1增加和管理用戶帳號(hào)
在下面幾節(jié)中我們將介紹如何使用管理工具來(lái)增加和刪除用戶帳號(hào),在Solaris
2.0下,可以通過(guò)編輯Passwd數(shù)據(jù)庫(kù)或本地的/etc/passwd文件來(lái)增加用戶,但管理工具不會(huì)自動(dòng)為用戶建立主目錄。而在Solaris
2.1下,用戶管理器(User Manager)則為用戶提供了編輯Passwd數(shù)據(jù)庫(kù)和建立用戶主目錄的功能。
6.1.1增加用戶帳號(hào)
在向網(wǎng)絡(luò)中增加用戶之前,必須首先建立并配置好用戶系統(tǒng),如果需要,還必須在網(wǎng)絡(luò)上安裝并運(yùn)行NIS+或NIS軟件。(只有4.x系統(tǒng)可以成為NIS服務(wù),而NIS客戶則可用4.x或5.x
系統(tǒng)來(lái)安裝)。
增加一個(gè)用戶需要完成以下兩步:設(shè)置用戶帳號(hào)、為用戶提供工作環(huán)境。
 編輯Passwd數(shù)據(jù)庫(kù)
 定義用戶組
 建立主目錄
 定義用戶環(huán)境
 建立口令
在以下幾節(jié)中,我們將介紹如何完成這些工作。
6.1.1.1編輯Passwd數(shù)據(jù)庫(kù)
在編輯Passwd數(shù)據(jù)庫(kù)或本地的/etc/passwd文件之前,必須首先成為系統(tǒng)管理組(GID14)的成員,如果系統(tǒng)中正在運(yùn)行NIS+,那么還必須具備建立或刪除NIS+數(shù)據(jù)的合適權(quán)限,之后就可以使用網(wǎng)絡(luò)上任何系統(tǒng)的管理工具來(lái)改變核心NIS+數(shù)據(jù)庫(kù)或本地系統(tǒng)的etc/passwd文件了。
增加一個(gè)用戶,需要知道以下信息:
 注冊(cè)名(login name)
 用戶號(hào)(UID)
 基本組號(hào)(GID)
 識(shí)別信息(姓名、辦公地點(diǎn)、家用電話及其它)
 主目錄(home directory)
 注冊(cè)shell
按以下步驟在NIS+網(wǎng)絡(luò)數(shù)據(jù)庫(kù)或本地的/etc/passwd文件中增加用戶:
1、鍵入openwin,啟動(dòng)Open Windows.
2、鍵入admintool,啟動(dòng)管理工具并顯示Adiminstration Tool窗口.
3、用鼠標(biāo)SELECT Database Manager圖標(biāo)顯示Database Manager窗口.
4、SELECT Passwd數(shù)據(jù)庫(kù),在NIS+命名設(shè)備或None(本地/etc文件)上用鼠標(biāo)點(diǎn)中并點(diǎn)擊Load按鈕,顯示出Passwd
Database窗口.
5、如果是在一個(gè)大型的網(wǎng)絡(luò)中,那么可能需要搜索某個(gè)注冊(cè)名或UID,以確信它們沒(méi)有被使用過(guò),在View菜單中選擇Find,在文字域中鍵入注冊(cè)名或UID,然后用鼠標(biāo)點(diǎn)擊Find按鈕,如果搜索到了一項(xiàng),那么該項(xiàng)就被點(diǎn)亮,否則在Passwd
Database 窗口的底部顯示出"No match"信息.
6、在Edit菜單中選擇Add Entry一項(xiàng),顯示出Add Entry窗口.
7、在合適的文字域鍵入用戶名和用戶ID(UID).
8、當(dāng)用戶第一次注冊(cè)時(shí),其缺省情況是無(wú)口令狀態(tài),如果想要選擇一個(gè)不同的口令狀態(tài),可在Passwd
Status菜單中選擇另外一項(xiàng),菜單中各項(xiàng)有含義如表6.1所示.
9、在文字域中鍵入其余的信息,表6.2 描述了每個(gè)域中的具體內(nèi)容,另外Database
Manager也為用戶提供了聯(lián)機(jī)幫助信息,用戶只需將箭頭移到某一項(xiàng)標(biāo)簽上或文字域中,然后按鍵盤(pán)上的Help鍵,即可得到關(guān)于該項(xiàng)的詳細(xì)說(shuō)明.
10、當(dāng)所有信息都輸入完成以后,用鼠標(biāo)點(diǎn)擊Add 按鈕將它們存入Passwd 數(shù)據(jù)庫(kù)或/etc/passwd文件中,如果顯示了"...cannot
execute method,access
denied..."信息,那么就需要編輯NIS+組表或/etc/group文件,在系統(tǒng)管理員組(GID)中建立或增加你的注冊(cè)名.
編輯完P(guān)asswd數(shù)據(jù)庫(kù)后,還需建立一個(gè)主目錄并為用戶設(shè)置環(huán)境,這些過(guò)程將在下面幾節(jié)中介紹。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表6.1 Password Status菜單中的口令狀態(tài)選擇
口令狀態(tài) 描述
Password is cleared 每個(gè)帳號(hào)需要一個(gè)口令,當(dāng)用戶第一次注冊(cè)時(shí),系統(tǒng)將
until first login 提示用戶輸入口令
Accunt is locked 當(dāng)輸入非法口令時(shí),帳號(hào)無(wú)效,此時(shí),用戶可通過(guò)指定
一個(gè)新的口令來(lái)講該帳號(hào)進(jìn)行解鎖,這種類型的帳號(hào)允
許用戶擁有文件但無(wú)法注冊(cè)
No password-rood setuid 帳號(hào)無(wú)法直接注冊(cè),它允許lp或uucp 等程序在某
access only 個(gè)帳號(hào)下運(yùn)行,但用戶無(wú)法注冊(cè)
Normal password is set 當(dāng)某帳號(hào)已經(jīng)有一個(gè)口令時(shí),可選擇該項(xiàng)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
注意:
一個(gè)沒(méi)有口令的帳號(hào)是無(wú)法建立的,同時(shí)其口令不能在數(shù)據(jù)庫(kù)管理器中直接定義而只能使用nispasswd、yppasswd或passwd命令來(lái)加以定義.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表6.2 口令數(shù)據(jù)庫(kù)(Passwd Database)Add Entry窗口中各域的內(nèi)容
域 描述
User name 用字符(包括數(shù)字)組成一個(gè)唯一的注冊(cè)名
User ID 輸入一個(gè)100-60000之間的唯一整數(shù),用于在系統(tǒng)內(nèi)部標(biāo)
識(shí)用戶
Passwor Status 見(jiàn)表7.1
Comment(GOOS) 輸入可選信息,如用戶實(shí)際名稱、電話號(hào)碼或所在機(jī)構(gòu)
Home Path 輸入用戶主目錄的路徑,一般地,路徑為/home/
,注意,在Solaris 2.x系統(tǒng)中,系統(tǒng)名不再是用戶目錄
路徑中的一部分
Shell 輸入注冊(cè)時(shí)啟動(dòng)的shell全程路徑: Bourne shell的是
bin/sh C shell是bin/csh,Korn shell的是/bin/ksh
缺省值是Bourne shell
Group ID 輸入一個(gè)0-60000之間的唯一整數(shù),用于標(biāo)識(shí)用戶所屬的
基本組(primary group).
Max Days Valid 輸入口令有效最大天數(shù),如果該項(xiàng)空白,則口令不會(huì)失效
Days Warning 輸入在口令失效前開(kāi)始警告用戶的天數(shù)
Last Mod Date 顯示從1970年1月1日開(kāi)始一直到口令最近一次被修改
時(shí)間的天數(shù)(8085表示1992年2月28日)該域內(nèi)容是不
允許修改的
Expiration Date 輸入用戶帳號(hào)被注銷的絕對(duì)日期,該日期以1970年1月
1日起計(jì)算的天數(shù)來(lái)表示,(如8050表示1992年1日28
日)如果該域空白,則口令不會(huì)失效
Min Change Days 輸入兩次改變口令之間所允許的最小天數(shù)
Max Inactive Days 輸入某帳號(hào)被凍結(jié)前失效的天數(shù)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6.1.1.2定義用戶組
如果想在某個(gè)組中增加用戶,必須編輯組數(shù)據(jù)庫(kù)(Group
database),并在該組成員表增加用戶注冊(cè)名,本節(jié)描述了如何向某個(gè)組增加一個(gè)用戶的過(guò)程,在這之前,首先需要知道用戶注冊(cè)名,用戶ID(UID)以及組名和組ID。
1、 在Database Manager窗口中,點(diǎn)亮組數(shù)據(jù)庫(kù),用鼠標(biāo)選擇NIS+或None(本etc文件)并點(diǎn)擊Load按鈕。
2、 用鼠標(biāo)選擇想修改的一項(xiàng),該項(xiàng)被點(diǎn)亮。從Edit菜單中選擇Modify Entry,此時(shí)打開(kāi)Modify
Entry窗口,并顯示出被選項(xiàng)在組數(shù)據(jù)庫(kù)(或文件)中的當(dāng)前信息。
3、 在成員文字域中增加用戶注冊(cè)名,當(dāng)你輸錯(cuò)時(shí),可按Reset按鈕,以便重輸信息。
4、用鼠標(biāo)選擇Modify后,組數(shù)據(jù)庫(kù)(或本地/etc/group文件)立刻修改。
5、如果你想讓該用戶屬于別的組,則重復(fù)以上步驟,在別的組中增加該用戶。
注意:如果你不使用命名服務(wù)(naming
service),那么必須重復(fù)以上步驟,才能對(duì)屬于同一組所有用戶更新到其它系統(tǒng)上的/etc/group文件,為了編輯其它系統(tǒng)上的/etc/group文件,用戶必須返回Load
Database窗口,并在use /etc files on host文件域中鍵入系統(tǒng)名。
6.1.1.3建立主目錄(home director)
主目錄是文件系統(tǒng)一部分,它分配給每個(gè)用戶用于存貯私人文件,按照用戶所創(chuàng)建的文件種類以及其工作性質(zhì)給每個(gè)用戶分配的主目錄空間可以是不同的,一般地,你可以為每個(gè)用戶的主目錄分配15Mb左右的磁盤(pán)空間。
用戶的主目錄可以在本地文件系統(tǒng)或遠(yuǎn)程文件服務(wù)器中,其路徑名約定如/export/home/。注意:這是Solaris
2.x的一種新的約定,服務(wù)器名不再包含在用戶的主目錄路徑中,在大型服務(wù)器的/export目錄下,可以為不同的用戶創(chuàng)建戶主目錄,如homel,home2,home3等,不管用戶的主目錄安放在哪里,他們都能通過(guò)名為/home/安裝點(diǎn)訪到自己的主目錄。
本節(jié)描述Solaris
2.x中主目錄的安裝方法,在這之前,我們先假設(shè)用戶注冊(cè)的系統(tǒng)是在網(wǎng)絡(luò)上,用Automount自動(dòng)安裝的用戶主目錄是可訪問(wèn)的,并且利用系統(tǒng)提供share共享命令可以使用戶在別的系統(tǒng)上通過(guò)網(wǎng)絡(luò)訪問(wèn)本地的用戶目錄。
主目錄的安裝方法有以下兩種:
 在NIS+Auto-home數(shù)據(jù)庫(kù),NIS
auto-home表或本地/etc/auto-home文件中增加一項(xiàng),自動(dòng)安裝主目錄(推薦方法)。
 在用戶系統(tǒng)的/etc/vfstab文件中增加一項(xiàng),使系統(tǒng)可以通過(guò)nfs來(lái)安裝主目錄。為支持主目錄的自動(dòng)安裝,SunOS
5.x系統(tǒng)軟件在/etc/auto-master文件中設(shè)置了下面一項(xiàng):
/home/etc/auto-home
該項(xiàng)通知Automounter將auto-home數(shù)據(jù)庫(kù)中指定的目錄安裝到本地的/home上去,在auto-home中該項(xiàng)的使用格式如下:
:/export/home/
當(dāng)用戶以注冊(cè)時(shí),Automounter會(huì)自動(dòng)將指定系統(tǒng)(上的指定路徑/export/home/)安裝到用戶所在系統(tǒng)的/home安裝點(diǎn)上。
這種方法適用于主目錄在本地系統(tǒng)中,但更重要的是,一旦用戶在其他系統(tǒng)中注冊(cè)Automounter會(huì)自動(dòng)將其主目錄安裝到該系統(tǒng)的/home安裝點(diǎn)上。
注意:當(dāng)Automounter用于安裝主目錄時(shí),你不能在用戶系統(tǒng)的/home安裝點(diǎn)上建立任何目錄,當(dāng)Automounter處在運(yùn)行狀態(tài)時(shí),系統(tǒng)將自動(dòng)識(shí)別/home目錄的特殊狀態(tài)。
在建立主目錄之前,必須首先編輯Passwd database來(lái)建立用戶帳號(hào),它需要以下信息:
 用戶的注冊(cè)名和UID
 主目錄所在系統(tǒng)名稱,如果主目錄在網(wǎng)絡(luò)上是可訪問(wèn)的,那么主目錄系統(tǒng)必須象用戶的本地系統(tǒng)一樣在網(wǎng)絡(luò)的同一網(wǎng)段上(network
segment),用df命令檢查服務(wù)器是否有足夠的空間來(lái)建立一個(gè)新的目錄。

用戶帳號(hào)的目錄名,一般地,主目錄可取名為/export/home,在大型的文件服務(wù)器目錄還可以是多重的,例如/export/home1,/export/home2等等,在每個(gè)目錄下,不同的子目錄是為不同用戶建立的(例如:
/export/home/、/export/home/、/export/hom1/、/export/home2/等等)。
下面介紹主目錄的安裝步驟,它適用于主目錄在本地系統(tǒng)中或在遠(yuǎn)程文件服務(wù)器上。
1、成為超級(jí)用戶
2、鍵入cd /export/,其中是用戶主目錄的名稱,例如,想進(jìn)入目錄/export/homel,可鍵入:#cd /exprt/homel
3、鍵入mkdir ,其中是用戶的注冊(cè)名,你可以建立一個(gè)與用戶注冊(cè)名匹配的目錄,例如建立一個(gè)名為ignatz的用戶目錄,可鍵入:#mkdir
ignatz
4、鍵入chown ,此時(shí)用戶成了主目錄的所有者,例如,對(duì)于用戶ignatz,可鍵入:#chown ignatz ignatz
5、鍵入chgrp ,用戶被指定給Passwd database中標(biāo)明的基本組,例如: 指定給staff組,可鍵入:
#chgrp staff ignatz
6、鍵入chmod 755 /export//,用戶的主目錄權(quán)限設(shè)置成:所有者為rwx,同組成員為r-x,系統(tǒng)中其它人員為r-x,例如:
#chmod 755 /export/honel/ignatz
注意:以下步驟描述了如何從一個(gè)運(yùn)行SunOS 5.x的服務(wù)器上共享主目錄,若想從運(yùn)行SunOS
4.x的服務(wù)器上共享主目錄,則必須使用export命令。
1、鍵入share檢查主目錄是共享的,則可以看到以下信息
panda%su
Password:
#share
- /export/home rw ""

如果沒(méi)有列出主目錄,則可按以下步驟建立一個(gè)可被其它系統(tǒng)共享的主目錄,一般地,可將主目錄命名為/export/home,/export/home1,或/export/home2等。
2、編輯/etc/dfstab文件,加入下面一行:
share -F nfs /export/
3、鍵入shareall -F nfs。這樣不需要重啟系統(tǒng),系統(tǒng)就能自動(dòng)執(zhí)行/etc/dfstab文件中的有share命令。
4、鍵入ps -ef|gerp mountd。如果系統(tǒng)管理進(jìn)程mountd在運(yùn)行,則結(jié)束,反之,繼續(xù)執(zhí)行步驟5。
下面是一個(gè)mountd未運(yùn)行時(shí)出現(xiàn)的信息:
#ps -ef|gerp mountd
root 221 218 16 18:07:25 pts/10:00 grep mountd
5、鍵入/etc/inint.d/nfs.server start,啟動(dòng)共享文件目錄要求的系統(tǒng)管理進(jìn)程。
注意:如果網(wǎng)絡(luò)沒(méi)有運(yùn)行NIS或NIS+,就需要將主目錄服務(wù)器的IP地址和系統(tǒng)名加入到用戶系統(tǒng)的/etc/hosts文件中,本地/etc/hosts文件可用Database
Manager來(lái)進(jìn)行編輯。
如果使用了硬盤(pán)配額(disk quotas),那么就應(yīng)該為用戶建立一個(gè)相應(yīng)的配額。
在建立了用戶的主目錄之后,要使之可用,可將它加入到Auto-home database
中由Automounter啟動(dòng),或者將它用為用戶系統(tǒng)中/etc/vfstab文件里的一項(xiàng)由nfs裝入。
6.1.1.4自動(dòng)安裝目錄
在按本節(jié)中所述步驟操作前,必須首先建立用戶主目錄并且Automounter,如果要用Automounter Tool Database
Manager來(lái)編輯NIS+Auto-home數(shù)據(jù)庫(kù),那么必須是sysadmin group(GID 14)的成員,并對(duì)Auto-home
database具有建立和刪除的合適權(quán)限。
只要有一合適的權(quán)限,就可通過(guò)網(wǎng)絡(luò)上的任何系統(tǒng)來(lái)修改NIS+Auto-home
database或/etc/auto-home文件,在編輯Auto-home數(shù)據(jù)庫(kù)時(shí),必須知道用戶的注冊(cè)名和要安裝的主目錄名。
以下步驟適用于主目錄建立在本地系統(tǒng)或者遠(yuǎn)程文件服務(wù)器上。
1、啟動(dòng)Automounter Tool并選擇Database Manager。
2、窗口中缺省的域名(Domain
Name)是Ecd.East.Sun.COM,如果此缺省域名不對(duì),則可在該字段中輸入別的域名;如果是在本地系統(tǒng)上編輯Auto-home文件,則可用鼠標(biāo)選擇None,并在Host
Name字段輸入系統(tǒng)名。
3、用鼠標(biāo)選擇Load按鈕,將顯示Auto-home database窗口。
4、選擇Edit菜單中的Add Entry,將顯示Add Entry窗口。
5、在User Name字段中輸入。
6、在Path字段輸入:/export//其中是主目錄所在服務(wù)器名字。
7、用鼠標(biāo)選擇Add按鈕,以上所編輯的信息被存入Auto-home或本地的/etc/auto-home文件中,當(dāng)用戶第一次注冊(cè)時(shí),主目錄將自動(dòng)地被安裝到/home/下。
6.1.1.5用nfs安裝主目錄
如果用戶的主目錄是在其它系統(tǒng)上并且Automounter無(wú)法分配用戶空間,那么可按以下方法用nfs來(lái)安 裝主目錄:
1、成為超級(jí)用戶;
2、編輯/etc/vfstab文件,為用戶主目錄建立相應(yīng)的項(xiàng)。例如,想要在服務(wù)器panda上為用戶ignatz建立主目錄,可在該文件中加入以下一項(xiàng):
panda: /export/homel/ignstz - /home/ignatz nfs - yes rw,inty
3、為了建立用戶系統(tǒng)的安裝點(diǎn),可以鍵入mkdir
/home/。注意:主目錄的名稱在服務(wù)器和用戶系統(tǒng)上可以是不同的,例如,服務(wù)器上的主目錄名/export/home/ignatz/在用戶系統(tǒng)上可以是/home/ignatz;
4、鍵入chown /home/,此時(shí)主目錄為該用戶所有;
5、鍵入chgrp /home/,此時(shí)用戶的基本組(primary group)具有訪問(wèn)用戶主目錄的權(quán)限;
6、鍵入mountall,當(dāng)前vfstab文件中的所有項(xiàng)(它們的automount域被設(shè)成Yes)被啟動(dòng)裝入;
7、為了加以驗(yàn)證,可鍵入mount命令來(lái)顯示所在已安裝好的文件系統(tǒng)。
6.1.1.6定義用戶環(huán)境
為了建立用戶帳號(hào),需進(jìn)一步定義以下用戶環(huán)境:
 定義缺省初始化文件
 建立一個(gè)郵件帳號(hào)
 設(shè)置打印機(jī)
6.1.1.7定義初化文件
當(dāng)用戶注冊(cè)時(shí),注冊(cè)程序會(huì)自動(dòng)生成一系列變量,如HOME、LOGNAME和TZ,接著運(yùn)行初始化文件為用戶設(shè)置系統(tǒng)缺省值如PATH、日期信息、umask等,然后再設(shè)置一些特定變量,例如通過(guò)修改某個(gè)用戶初始化文件中的PATH變量可以使某些應(yīng)用程序只能由該用戶執(zhí)行。
每一種shell都有自己的初始化文件,如表6.3所示。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表7.3 shell 用戶初始化文件
shell 初始化文件 用途
C $HOME/.login 注冊(cè)時(shí)定義用戶環(huán)境
$HOME/.cshrc shell注冊(cè)后定義C shell要
求的用戶環(huán)境
Bourne $HOME/.profile 注冊(cè)時(shí)定義用戶環(huán)境
Korn $HOME/.profile 注冊(cè)時(shí)定義用戶環(huán)境
$HOME/. 在環(huán)境變量指定的文
件中定義注冊(cè)時(shí)的用戶環(huán)境
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SunOS5.x系統(tǒng)軟件為/etc/skel目錄下的每個(gè)shell都提供了缺省的用戶初始化文件,如表6.4所列.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表7.4 缺省主目錄下的初始化文件
Shell 文件名
C /etc/skel/local.login
C /etc/skel/local.cshrc
Bourne或Korn /etc/skel/local.profile
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下面是缺省的/etc/skel/local.login文件:
#@(#)login 1.7 89/09/05 SMI
stty -istrip
setenv TERM ‘tset -Q-
下面是缺省的/etc/skel/local.cshrc文件:
#@(#)cshrc 1.11 89/11/29 SMI
umask 022
set path=(/bin/usr/bin/usr/ucb/etc.)
if ($?prompt) then
set history=32
end if
下面是缺省的/etc/skel/local.profile文件:
stty istrip
PATH=.:/usr/bin/usr/ucb:/etc
export PATH
以上文件定義了系統(tǒng)最小環(huán)境,為了簡(jiǎn)化每個(gè)用戶的初始化文件,可以在/etc/skel下的文件中設(shè)置盡量多的系統(tǒng)級(jí)缺省變量。
為了建立初始化文件,必須首先建立好用戶的主目錄并且知道Passwd數(shù)據(jù)庫(kù)中為該用戶設(shè)置的shell類型(C、Bourne或Korn),按以下步驟設(shè)置用戶的初始文件:
1、在用戶的主目錄下成為超級(jí)用戶;
2、鍵入cd //,進(jìn)入用戶主目錄,例如,要想進(jìn)入/export/homel 下的ignatz用戶目錄,可以鍵入:
#cd exptrt/homel/ignatz
3、鍵入cp /etc/shel/local.*,將所有缺省的初始文件拷入用戶目錄;
4、鍵入chmod 744 local.*,為初始文件設(shè)置正確的權(quán)限;
5、鍵入chown *,使用這些初始文件屬該用戶所有,例如:
#chown ignatz*

6、chgrp local.* ,將文件指派給基本組(如sysadmin),該組號(hào)是在passwd數(shù)據(jù)庫(kù)為用戶帳號(hào)專門(mén)指定的,例如:
#chgrp 10 local。*

7、重新命名shell初始文件,如果用戶shell是C shell,由鍵入mv local.login .login; mv local.cshrc
.cshrc,如果用戶shell是Korn或Bourne shell則鍵入mv local. Profile .profile;
8、鍵入rm local.*,將已經(jīng)沒(méi)用的shell初始化程序全部刪除;
9、安裝用戶主目錄;
10、在用戶系統(tǒng)中以該用戶注冊(cè);
11、為用戶指定一個(gè)臨時(shí)的口令(見(jiàn)下面如何建立口令一章中的"建立口令");
12、檢查用戶環(huán)境設(shè)置得是否正確;
13、編輯用戶初始化文件并按需要進(jìn)行修改;
為了編輯用戶初級(jí)化文件,需完成以下幾步:
1、 設(shè)置缺省路徑,該路徑包含用窗口環(huán)境應(yīng)用程序安裝點(diǎn)以及該用戶的主目錄;
2、 為了改變路徑設(shè)置,如下增加或修改PATH變量,對(duì)于C shell可鍵入setpath=(. / /
/...),例如,可在用戶的$HOME/.cshrc 文件中加入以下一行:setpath=(. /usr/openwin/bin /usr/bin
$home/bin /usr/lib /usr/sbin)。對(duì)于Bourne或Korn shell可鍵入PATH=/://...;export
PATH。例如可在用戶的$HOME/.profile文件中加入以下一行PATH=.:/usr/openwin/bin:usr/bin:$HOME/bin:usr/lib;export
PATH
4、 用env命令檢查環(huán)境變量設(shè)置得是否正確,注意,即使用戶shell是C shell其環(huán)境變量也是用Bourne或Korn
shell語(yǔ)法顯示,輸入man=s5 environ可得到在關(guān)env命令的更多信息.
$env
HOME=/home/ignatz
HZ=100
LOGNAME=ignatz
MAIL=/var/mail/ignatz
MANSECTS=1:1m:1c:1f:1s:1b:2:3:3c:3i:3n:3m:3k:3g:3e:3x11:3xt:3w:3b:4:5:7:8
PATH=:/usr/openwin/bin:sbin:/usr/sbin:/usr/bin:/etc:/$HOME/bin:lib:usr/lib
SHELL=bin/sh
TERM=sun
TZ=EST5EDT
$
5、 增加或改變環(huán)境變量的設(shè)量,對(duì)于C shell可鍵入setenv (或set =)。例如,設(shè)置100個(gè)命令的歷史表,可鍵入setenv
HISTORY 100,對(duì)于Bourne或Korn
shell,可以鍵入=;export。例如,設(shè)置用戶的缺省郵件路徑,可鍵入MALL=/var/mail/ignatz;export MAIL;
6、 檢查umask設(shè)置,如果需要對(duì)它進(jìn)行改變,可鍵入umask ,數(shù)字前面的可以省略,例如,要文件權(quán)限為755,可鍵入umask
022,表6.5列出了八進(jìn)制unask值對(duì)應(yīng)的文件權(quán)限。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表6.5 umask值對(duì)應(yīng)的權(quán)限
八進(jìn)制值 文件權(quán)限
0 rwx
1 rw-
2 r-x
3 r--
4 -wx
5 -w-
6 --x
7 ---(none)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
LANG變量和LC環(huán)境變量決定了shell使用的本地習(xí)慣,這些習(xí)慣和背景是在初始文件中設(shè)置的,它們主要包含時(shí)區(qū)、collation
orders、數(shù)據(jù)格式、時(shí)間、匯率和數(shù)字,LANG變量為某個(gè)指定的國(guó)家或地區(qū)所有可能的文化習(xí)慣和背景,LC變量可單獨(dú)使用,如果用LC.COLLATE,LC-CTYPE,LC-MSEE
AGES和LC-NUMERIC變量來(lái)設(shè)置本地的特性,表6.6列出了不同地區(qū)的值。
如果系統(tǒng)需要支持多字節(jié)字符(如日語(yǔ))那么需要在系統(tǒng)初始化文件(/etc/profile、etc/login)中加入命令stty cs8
defeucw命令,并重新注冊(cè)。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表6.6 LANG和LC變量的取值
值 地點(diǎn)
de: German
fr: Frenah
iso-8995-1 English and Enropean
it Italian
Japanese Japanese
Korean Korean
sv Swedish
tchinese Taiwanese
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6.1.1.8建立用戶的郵件帳號(hào)
每個(gè)用戶在本地系統(tǒng)或郵件服務(wù)器上都有一個(gè)郵箱并可能在/etc/mail/aliase文件中有一個(gè)郵件別名,它指向郵箱的具體位置,按以下步驟在郵件服務(wù)器上為用戶設(shè)置郵件客戶:
1、在郵件客戶服務(wù)器系統(tǒng)上成為超級(jí)及戶;
2、建立/var/mail安裝點(diǎn);
3、 編輯/etc/vfstab文件并在郵件服務(wù)器上增加/var/mail目錄,將文件安裝到該目錄上這樣系統(tǒng)每次重啟后,就會(huì)自動(dòng)掛上戶的郵箱;
4、鍵入mount -a命令安裝客戶的郵箱;
5、用Administration
Tool編輯/etc/hosts文件并為郵件服務(wù)器增加相應(yīng)項(xiàng)。注意:當(dāng)信息第一次被傳送時(shí),/var/mail目錄下的sendmail程序會(huì)自動(dòng)為用戶建立郵箱。
6.1.1.9建立口令
口令是系統(tǒng)安全性的保障,每個(gè)用戶都應(yīng)該使用6--10個(gè)字符和數(shù)字的組合來(lái)構(gòu)成一個(gè)口令,關(guān)于改變口令和口令屬性的方法可參見(jiàn)手冊(cè)中的passwd(1)、yppassed(1)、或nispasswd(1)
在SunOS 4.x系統(tǒng)中,加密后的口令與有關(guān)用戶的其它信息一起存放在/etc/passwd文件中,在SunOS
5.x中,加密后的口令以及與口令有關(guān)的信息則被存放在NIS+Passwd數(shù)據(jù)庫(kù)的Shadow域(或本地的/etc/shadow文件)中,Shadow文件的權(quán)限是--r-------,只有根用戶才能讀該文件,同時(shí)也只有Passwd、ypasswd和nispasswd命令才能寫(xiě)該文件。
以下是一個(gè)/etc/shadow文件的例子:
root:XzVuaelvazZsw:8223::::::
daemon NP:6445::::::
bin:NP:6445::::::
sys:NP:6445::::::
adm:NP:6445::::::
lp:NP:6445::::::
smtp:NP:6445:::::
uucp:NP:6445::::::
nuucp:NP:6445::::::
listen:*LK*::::::
novady:NP:6445:::::
noaccess:NP:6445::::::
janice:gzqgrmlKcfy7A:8223::::::
為了建立或修改口令,可使用命令/usr/bin/passwd
,用戶可以在任何時(shí)候建立和修改自己的口令,但是只有根用戶才能建立其他用戶的初始口令。注意:用戶可以用passwd命令來(lái)定義、更改和查看口令的有關(guān)屬性,例如口令的期限等,有前passwd命令的詳細(xì)信息說(shuō)明請(qǐng)參見(jiàn)手冊(cè)。輸入新口令時(shí)應(yīng)兩次輸入新口令。
6.1.2管理用戶帳號(hào)
管理用戶帳號(hào)包括對(duì)用戶帳號(hào)的修改、取消和凍結(jié)
6.1.2.1修改用戶帳號(hào)
當(dāng)有關(guān)用戶的信息變化時(shí),可以用Database Manager來(lái)編輯passwd
database中信息,一般用戶帳號(hào)的登錄名和UID是不需要修改的,除非它與現(xiàn)有的某用戶名或UID沖突。
在網(wǎng)絡(luò)環(huán)境中,當(dāng)用戶從一個(gè)系統(tǒng)轉(zhuǎn)移到另一個(gè)系統(tǒng)中或者從一個(gè)服務(wù)器轉(zhuǎn)移互到另一個(gè)服務(wù)器上時(shí),需要用Database
Manager來(lái)為用戶主目錄修改Auto-home數(shù)據(jù)庫(kù)。
如果需要修改用戶口令,就使用passwd。
6.1.2.2取消用戶帳號(hào)
以下是取消用戶帳號(hào)的步驟
1、 從NIS+Passwd數(shù)據(jù)庫(kù)NIS表或/etc/passwd文件中刪除該用戶項(xiàng);
2、 從NIS+Group數(shù)據(jù)庫(kù)、NIS map或/etc/group文件中取消該用戶名;
3、 從打印機(jī)訪問(wèn)或拒絕訪問(wèn)表中刪除或存檔;
4、 決定是否想對(duì)所有的用戶文件刪除或存檔;
5、 刪除用戶郵件文件;
6、 從Auto-home數(shù)據(jù)庫(kù)中刪除用戶;
6.1.2.3凍結(jié)用戶帳號(hào)
有時(shí),你可能想要臨時(shí)或永久地凍結(jié)某個(gè)注冊(cè)帳號(hào)。當(dāng)然,要這樣做你必須有充分理由,如用戶可能不來(lái)使用該帳號(hào)或者你有充分證據(jù)表明該帳號(hào)經(jīng)常被濫用或安全性受損。
凍結(jié)一個(gè)注冊(cè)帳號(hào)的最簡(jiǎn)單方法是使用Database Manager來(lái)對(duì)Password數(shù)據(jù)庫(kù)中的用戶口令進(jìn)行加鎖。
在本地系統(tǒng)中,你可以通過(guò)設(shè)定口令期限、注銷日期或規(guī)定用戶使用該帳號(hào)的固定間隙控制用戶帳號(hào),另一種凍結(jié)用戶的簡(jiǎn)單辦法是臨時(shí)地改變用戶帳號(hào)的口令。
6.2設(shè)置和管理用戶組
Group數(shù)據(jù)庫(kù)(表或本地/etc/group文件)存貯在關(guān)于用戶組的信息,通常稱為UNIX組。一個(gè)用戶組是能共享文件以及其它系統(tǒng)資源的一個(gè)用戶集合,例如,
同一課題組的用戶可以組成一個(gè)用戶組。
每個(gè)用戶組有一個(gè)GID號(hào)(組標(biāo)號(hào),類似于UID),它是系統(tǒng)的內(nèi)部標(biāo)識(shí)號(hào),一個(gè)組應(yīng)該有一個(gè)組名和一個(gè)用戶名表,用戶組可用以下兩種方法加以定義:
 在用戶帳號(hào)中使用GID來(lái)定義用戶有基本組,即在Passwd數(shù)據(jù)庫(kù)的Group域中增一個(gè)新的GID號(hào)。
 在Group數(shù)據(jù)庫(kù)中輸入該組的名稱、GID號(hào)和用戶表用上面的第二種方法定義用戶組比較合理,因?yàn)樗鼮槊總(gè)組定義了一個(gè)組名。
所有的用戶都至少屬于一個(gè)組即基本組,雖然這不是系統(tǒng)所要求的,但是你必須將用戶加入到基本組的成員表中,除基本組外用戶最多還可以同時(shí)屬于16個(gè)附加組,具體實(shí)現(xiàn)方法是將用戶加到所屬組的成員中。
group命令可用于列出包含該用戶的所有用戶組,對(duì)于任意用戶在某一時(shí)刻其基本組有一個(gè),但是用戶可以使用newgrp命令臨時(shí)地改變基本組。
某些應(yīng)用系統(tǒng)(如文件系統(tǒng))只關(guān)心用戶的基本組,比如,文件所有者、帳號(hào)數(shù)據(jù)只影響基本組,另外一些應(yīng)用系統(tǒng)則可能地考慮支持用戶共享的附加組,如只有sysadmin
group的成員才能使用Administration tool來(lái)改變數(shù)據(jù)庫(kù)。
通常我們要對(duì)文件、目錄分別設(shè)置用戶、組及其它的讀/寫(xiě)/執(zhí)行權(quán)限,這些權(quán)限是安全性的保證,如果你的基本組或附加組(secondary
group)權(quán)限不夠,那么你就不能存取別人的文件,例如,可以為技術(shù)資料編寫(xiě)人員建立的一個(gè)techwrite組,并為該組所在目錄建立相應(yīng)的權(quán)限,這樣,只有該組成員才能修改該目錄下的文件。
用戶組可以是本地系統(tǒng)有效,也可以貫穿于整個(gè)網(wǎng)絡(luò)。通過(guò)網(wǎng)絡(luò),用戶組可以允許網(wǎng)絡(luò)上的一組用戶存取一組文件,而其它用戶則無(wú)法對(duì)它們進(jìn)行操作。
6.2.1設(shè)置Group數(shù)據(jù)庫(kù)中的域值
Group數(shù)據(jù)庫(kù)(表或本地/etc/group文件)包含以下一些主要域項(xiàng):
 組名(Group Name)
 組號(hào)(Group ID)
 成員表(Member List)
另外,組口令(Group Password)也是其中的一項(xiàng),但很少使用,它是早期的UNIX遺留下來(lái)的,通?蓪⒃擁(xiàng)空著或者僅僅填入一個(gè)星號(hào)。
6.2.1.1設(shè)置組名(Group Name)域
該域包含一個(gè)組名,例如某大學(xué)化學(xué)系在成員可取名為chem,組名最多可由9個(gè)字組成。
6.2.1.2設(shè)置Group ID域
該域包含了一個(gè)組標(biāo)識(shí)號(hào),在系統(tǒng)中GroupID必須是唯一的,每個(gè)Group
ID是一個(gè)0-65535之間的整數(shù),但通常在100-60000之間取值(60001和60002分別賦給了nobody和noaccess,100以下的整數(shù)是為系統(tǒng)缺省帳號(hào)保留的)、當(dāng)使用Administration
Tool來(lái)增加用帳號(hào)時(shí),你必須指明用戶的基本組。
6.2.1.3設(shè)置成員表域
該域包含了某組所有用戶成員表,用戶名之間可用逗留隔開(kāi),這些用戶必須是在Passwd數(shù)據(jù)庫(kù)中定義的注冊(cè)名,如上所述,每個(gè)用戶可同時(shí)屬于17個(gè)組。
6.2.2建立缺省的UNIX用戶組
SunOS 5.x提供了以下的缺省組:
root::0:root
other::1:
bin::2:root,bin,demon
sys::3:root,bin,sys,adm
adm::4:root,uucp
uucp::5:root,tty,uucp
mail::6:root
tty::7:root,uucp
lp::8:root,lp,adm
nuucp::9:root,nuucp
staff::10
daemon::12:root,draemon
nobody::60001:
noaccess::60002:
可以在NIS+Group數(shù)據(jù)庫(kù)、本地的/etc/group文件中加入GID為14的sysadmin組,該組中所有用戶可以使用Administration
Tool
6.2.3建立新的組
作為系統(tǒng)管理可能要經(jīng)常地建立新的用戶帳號(hào),在具體分配用戶之前,必須首先建立用戶組和GID號(hào)。Administration
Tool可用來(lái)建立和維護(hù)網(wǎng)絡(luò)以及本地的用戶組,在使用Administration Tool建立或編輯組帳號(hào)時(shí),首先必須是sysadmin組(GID
14)的成員,如果網(wǎng)絡(luò)上正在運(yùn)行NIS+,那么還必須有對(duì)NIS+數(shù)據(jù)庫(kù)進(jìn)行操作的權(quán)限。
建立一個(gè)新的組,需要知道以下信息:
 組成員有用戶注冊(cè)名(Login names)
 組成員的用戶號(hào)(User IDs)
 組名(Group name)
 組號(hào)(Group ID)
按以下步驟在NIS+數(shù)據(jù)庫(kù)或本地/etc/group文件中增加用戶組:
1、 鍵入admintool啟動(dòng)Administration Tool;
2、 用鼠標(biāo)選擇Database Manager圖標(biāo),顯示Database Manager窗口;
3、 用鼠標(biāo)選擇Group數(shù)據(jù)庫(kù),并選擇NIS+命名服務(wù)或None(本地/etc文件);
4、 用鼠標(biāo)選擇Load按鈕,顯示Group Database窗口;
5、 從Edit菜單中選擇Add Entry一項(xiàng),顯示出Add Entry窗口;
6、 輸入組名、組號(hào)以及成員表(成員名之間用逗號(hào)隔開(kāi));
7、 用鼠標(biāo)點(diǎn)擊Add按鈕,將該組加入到Group數(shù)據(jù)庫(kù)(或本地的/etc/group文件)中,如要增加更多的用戶組,則重復(fù)以上兩步。
6.2.4修改或刪除用戶組
當(dāng)用戶組中有新的成員加入或者成員調(diào)離該組時(shí),就需要修改用戶組帳號(hào)的成員表,即在現(xiàn)有的帳號(hào)中增加或刪除用戶,當(dāng)某種課題完成后,該組便不再需要了,于是就可以將該組刪除,在重用已刪除組的GID時(shí)應(yīng)注意避免沖突。
6.2.4.1修改某個(gè)組
按以下步驟修改一個(gè)組項(xiàng):
1、 用鼠標(biāo)選擇Group按鈕,選擇NIS+或None,并按Load按鈕,顯示出Group Database窗口;
2、 用鼠標(biāo)選擇想要修改的數(shù)據(jù)庫(kù)名;
3、 從Edit菜單中選擇Modify Entry項(xiàng),彈出Modify Entry窗口,并顯示該組的當(dāng)前各項(xiàng)值。
4、 在相應(yīng)字段中增加或刪除用戶名,然后選擇Modify修改數(shù)據(jù)庫(kù)中的該項(xiàng)內(nèi)容。
6.2.4.2刪除某個(gè)組
如果某個(gè)組的組號(hào)不再需要,就可將該組刪除掉,按以下步驟刪除一個(gè)組:
1、 用鼠標(biāo)選擇Group,選擇NIS+或None并按Load按鈕,彈出Group Database窗口;
2、選擇需要?jiǎng)h除的數(shù)據(jù)庫(kù)名;
3、從Edit菜單中選擇Delete Entry,此時(shí)系統(tǒng)提示:
"Do you really want to delete this entry?"
5、 如果不想真正刪除此項(xiàng),由選擇Cancel,如果要?jiǎng)h除,則選擇Delete按鈕,這樣便可以將該組從組數(shù)據(jù)庫(kù)中刪除掉。
第7章、UNIX的shell命令
本章將介紹:各種shell解釋器共同點(diǎn)、標(biāo)準(zhǔn)shell介紹、C shell介紹、Korn shell介紹。
在Solaris 2.x軟件環(huán)境中提供給用戶三種命令解釋器:標(biāo)準(zhǔn)shell(缺省shell或Bourne
shell,本手冊(cè)中我們稱為標(biāo)準(zhǔn)shell)、C shell和Korn
shell。對(duì)每一個(gè)用戶而言都有一個(gè)缺省的shell命令解釋器,另外也可以在命令行中打入某種shell而重新進(jìn)入另外一種shell解釋器。本章首先介紹三種shell的公共命令,然后再分別對(duì)它們各自的特性作一些詳細(xì)介紹。
7.1各種shell的公共命令
本節(jié)描述各種shell所使用的命令
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表7.1 各種shell解釋器的基本特性
特性 Bourne C Korn
別名 無(wú) 有 有
命令編輯 無(wú) 有 有
增強(qiáng)的cd 無(wú) 有 有
歷史 無(wú) 有 有
忽略CTRL-D 無(wú) 有 有
不同于profile的初始文件 無(wú) 有 有
作業(yè)控制 有 有 無(wú)
退出文件 無(wú) 有 有
文件的重寫(xiě)保護(hù) 無(wú) 有 有
與標(biāo)準(zhǔn)shell的語(yǔ)義兼容性 是 否 是
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
7.1.1設(shè)置某種缺省shell
在用戶數(shù)據(jù)庫(kù)或/etc/passwd文件中,注冊(cè)shell是在每個(gè)用戶的登記項(xiàng)的最后一列中設(shè)置,用戶可以使用系統(tǒng)提供的管理工具或編輯本地的/etc/passwd文件來(lái)修改注冊(cè)shell,但是此用戶必須是sysadm組的成員,即用戶的組號(hào)(GID)應(yīng)該是14,如果是在運(yùn)行NIS+,則必須有建立和刪除NIS+數(shù)據(jù)據(jù)庫(kù)的權(quán)限。
下面是用戶更改注冊(cè)shell的一些步驟:
1、按需要,從管理工具中打開(kāi)數(shù)據(jù)庫(kù)管理器窗口。
2、
在用戶數(shù)據(jù)上,按下SELECT,然后再接著按SELECT來(lái)選擇NIS+或無(wú)NIS+服務(wù)。若選擇NIS+則編輯Passwd數(shù)據(jù)庫(kù),否則編輯本地的/etc/passwd文件。
3、 點(diǎn)擊Load鍵,顯示用戶數(shù)據(jù)庫(kù)窗口。
4、 在想要編輯的用戶項(xiàng)上按SELECT鼠標(biāo)鍵,然后從編輯(Edit)菜單中選擇修改(Modify)項(xiàng)。
5、 修改shell項(xiàng)的文字域,/bin/sh是標(biāo)準(zhǔn)shell,/bin/csh是C shell或者輸入/bin/ksh作為Korn shell。
6、 點(diǎn)擊Modify按鈕,修改用戶缺省SHELL定義,只要用戶重新注冊(cè)進(jìn)入系統(tǒng),即使用新的shell。
7.1.2在命令行中改變shell類型(sh,csh,ksh)
如果用戶不修改用戶數(shù)據(jù)庫(kù)而想使用別的shell解釋器,則可以在命令行中簡(jiǎn)單地打入所需shell的命令名即可。
例如,要想使用C shell,打入csh即可,缺省C shell提示符是在系統(tǒng)名之后跟一個(gè)百分號(hào)(%)。
$csh
panda%
如果要改變?yōu)镵orn shell,則打入ksh,korn shell的缺省提示符是$
panda%ksh
$
7.1.3從shell解釋器中退出(exit)
如果用戶是在命令行中進(jìn)入某種shell解釋器,則只需打入exit和回車鍵,即可退出當(dāng)前的shell解釋器,而返回原先的shell解釋器。
$exit
panda%
7.1.4清除一個(gè)shell窗口(clear)
在某個(gè)shell窗口中,用戶可以清除一個(gè)shell窗口的內(nèi)容,并且重新顯示shell的提示符到此窗口的左上角,例如要清除一個(gè)窗口的內(nèi)容,可以打入clear和回車鍵:
panda%which openwin
no openwin in. /home/ignatz/usr/deskset/bin/usr/bin
/home/ignatz/bin/bin/home/bin/etc/usr/etc/usr/etc/usr/ucb
/usr/bin
panda%clear
此時(shí)窗口的顯示內(nèi)容即被清除,然后把提示重新顯示在頂部。
7.2標(biāo)準(zhǔn)shell
在Solaris 2.x軟件環(huán)境中,標(biāo)準(zhǔn)shell(Bourne shell)是缺省shell,它是由Steve Bourne先生在AT&T
Bell實(shí)驗(yàn)室工作時(shí)開(kāi)發(fā)的,標(biāo)準(zhǔn)shell相對(duì)而言,結(jié)構(gòu)緊湊,而且簡(jiǎn)單,但它也提供所有的程序設(shè)計(jì)功能,可以實(shí)現(xiàn)由各種命令和過(guò)程組成的shell文件(script)。因?yàn)槿绾尉帉?xiě)shell文件已經(jīng)超越本文范圍,所以我們不在此贅述。
7.2.1標(biāo)準(zhǔn)shell的初始文件
標(biāo)準(zhǔn)shell只使用一個(gè)初始執(zhí)行文件,其名為.profile,一般放在用戶的基目錄(home
directory)之下,它專門(mén)用來(lái)設(shè)置用戶的環(huán)境。當(dāng)用戶注冊(cè)或在命令行中啟動(dòng)標(biāo)準(zhǔn)shell時(shí),即讀.profile文件,一般來(lái)說(shuō),用戶通過(guò)此文件來(lái)設(shè)置用戶查找路徑和其它環(huán)境變量。
7.2.2定義標(biāo)準(zhǔn)shell的環(huán)境變量
對(duì)于標(biāo)準(zhǔn)shell和Korn shell而言,定義環(huán)境變量的語(yǔ)法都是一樣的,輸入命令=; export,例如:
$HZ=100;export HZ
$
7.3C shell
C shell是Bill Joy先生在UCB工作學(xué)習(xí)時(shí)開(kāi)發(fā)的,它已被UNIX的眾多用戶所接受。C shell完全不同于標(biāo)準(zhǔn)shell和Korn
shell,而且有自己獨(dú)特的語(yǔ)法規(guī)則,C shell最重要的優(yōu)點(diǎn)是具有歷史功能、命令編輯功能和別名功能。歷史功能的意義是C
shell可以存貯用戶最近輸入的命令記錄,用戶可以顯示這些命令,也可以按原樣重新使用某條命令;而編輯功能是用戶可以通過(guò)編輯來(lái)改變某條命令;別名可以讓用戶用短的名字來(lái)表示經(jīng)常使用的長(zhǎng)命令,或幾條常用命令。
7.3.1C shell的初始文件
C shell使用兩個(gè)初始化文件,用于設(shè)置用戶的環(huán)境變量,這兩個(gè)初始文件名分別是.login和.cshrc,也放在用戶基本目錄之下。
當(dāng)用戶注冊(cè)時(shí),C shell首先讀.login,然后再讀.cshrc文件。當(dāng)用戶是從命令行中啟動(dòng)C shell時(shí),只讀.cshrc文件(C
shell運(yùn)行控制)。因?yàn)?login文件不是每次啟動(dòng)C
shell都讀入,因此用戶應(yīng)該在.login中設(shè)置環(huán)境變量,而在.cshrc文件中設(shè)置用戶的查找路徑名。
7.3.2C shell環(huán)境變量的定義
使用命令setenv ,例如:
panda%setenv display rogue:0
panda%
7.3.3建立C shell的別名
用戶可以在.cshrc文件中定義所需的別名。建立一個(gè)別名的語(yǔ)法為:
alias
例如,你想簡(jiǎn)寫(xiě)別名(alias)這個(gè)命令成為a,則可以在.cshrc文件加入下列一行:
alias a alias
下面的實(shí)例選自.cshrc文件。注意,如果命令行中包含有空格,則必須把整個(gè)命令中用引號(hào)引起來(lái),引號(hào)可以是雙引號(hào),也可以是單引號(hào):
alias a alias
a h hiostory
a c clear
a lf 1s -F
a ll "ls -l | home"
a la ls -a
a s "source .cshrc"
a f ‘find -name core -print
a copytotape "ter cvf /dev/rmt/0 *"
7.3.4設(shè)置C shell的歷史功能
要設(shè)置C shell的歷史功能,只需在命令行中打入:
set history=
其中,n可理解為C shell可以存貯的命令條數(shù)。舉例:
panda%set history=18
panda%
用戶既可在shell窗口中"臨時(shí)"設(shè)置歷史功能,也可以把它放在.cshrc文件中設(shè)置"永久"的歷史功能。
7.3.5使用C shell歷史功能
在命令行中,打入history命令,即可顯示已經(jīng)打入過(guò)的命令,這些命令是你打入的最后n條命令,n是像7.3.4節(jié)所述的方法設(shè)置的。
panda%history
26 pwd
27 kermit
28 cd howto
29 tar avf /dev/rmt/0
30 ls -l howto*
31 cd
32 cd Config/Art
33 ls -1
34 tar cvf /dev/rmt/0
35 histoty
panda%
要想重復(fù)執(zhí)行剛打入的命令,可打入!!和回車,即復(fù)執(zhí)行上一條命令:
(休息一下,做個(gè)廣告:
http://www.uxma.com/sheke/news/pic/8.swf
)
panda% history
26 pwd
27 kermit
28 cd howto
29 tar avf /dev/rmt/0
30 ls-l howto*
31 cd
32 cd Conrig/Art
33 ls-1
34 tar cvf /dev rmt/0
35 histoty
panda%!!
history
27 kermit
28 cd howto
29 tar avf /dev/rmt/0
30 ls-l howto*
31 cd
32 cd Conrig/Art
33 ls-1
34 tar cvf /dev rmt/0
35 history
36 history
panda%
要重復(fù)最后一條命令的最后一個(gè)詞,可打入!$,這樣上一條命令的最后一個(gè)詞即可作為當(dāng)前命令行中的一個(gè)變量。例如,你可能已經(jīng)輸入了某個(gè)文件的全程路徑,然后想用這個(gè)路徑名作為變量,來(lái)用vi編輯此文件或打印此文件:
panda%ls -l /home/ignatz/quest
panda%lp !$
panda%
!$可以用在命令行的任何地方,在下面的命令行中,文件/home/ignatz/quest將拷貝到/tmp目錄之下:
panda%ls -1 /home/ignatz/quest
panda%cp !$ /tmp
cp /home/ignatz/quest /tmp
panda%
要想重復(fù)C shell歷史令表中的某個(gè)序號(hào)的命令,則打入!,例如:
panda%history
29 tar avf /dev/rmt/0
30 ls -l howto*
31 cd
32 cd Config/Art
33 ls -1
34 tar avf /dev/rmt/0
35 ls -l
36 cd
37 lp howto*
38 history
panda%!32
cd Config/Art
panda%
7.3.6設(shè)置C shell的退格鍵(stty erase)
如果用戶想把刪除字符的鍵從Delete鍵變?yōu)锽ackspace鍵,則可以輸入下面的命令:
panda%stty erase ^H
panda%
此后,退格鍵(Backspace)即作為字符刪除鍵使用。
7.3.7新命令的嵌入
C shell為所有命令路徑變量建立一個(gè)內(nèi)部命令表,因此當(dāng)用戶把新命令放入某個(gè)目錄中時(shí),這個(gè)新命令并不在這個(gè)表中,這樣,C
shell就不會(huì)執(zhí)行此新命令。C
shell為了解決這個(gè)問(wèn)題,把用戶的新命令加入到查找路徑內(nèi)部表中,為用戶提供了rehash命令,用戶只需打入rehash命令,即可使這條新命令有效:
panda%newcommand
newcommand: Command not found
panda%rehash
panda%newcommand
panda%
7.3.8Cshell歷史命令的編輯
用戶可以從C shell的歷史表中編輯命令,其語(yǔ)法:
S//
下面我們舉例說(shuō)明:
panda% history
31 cd
32 ls
33 cd/home/frame3.1
34 ls
35 cd
36 tar cvf /dve/rmt/0 frame3.1
37 lp questionnaire
38 lpstat -t
39 echo $PaTH
40 history
panda%!39:s/a/A/
echo $ PATH
.:/home/winsor:/usr/openwin/bin:/usr/deskset/bin:/home/
winsor/bin:/bin:/home/bin:/etc:/usr/etc:/usr/bin:/home/
frame3.1/bin
panda%
在此例中,第39條命令行中用戶打錯(cuò)了一個(gè)字母,然后用戶用C shell編輯命令改正了打錯(cuò)的那個(gè)字母,命令執(zhí)行也就正常了。
7.4Korn shell
Korn shell是AT&T Bell實(shí)驗(yàn)室的David Korn開(kāi)發(fā)的,是標(biāo)準(zhǔn)shell超集,Korn
shell使用標(biāo)準(zhǔn)shell一樣的語(yǔ)法,只不過(guò)Korn shell本身又加入了許多新的功能, Korn shell 比C
shell提供了更加方便的命令編輯方式,Korn shell一樣亦具有歷史和別名功能。
7.4.1Korn shell的初始化文件
korn
shell使用兩個(gè)初始文件,它們都存放在用戶的基目錄之下,其名分別為.profile和.,第二個(gè)文件名是可以讓用戶自己選擇命名的,其主要功能是設(shè)置環(huán)境,同C
shell類似,你可以把第二個(gè)文件名選擇為.kshrc,以后我們即用.kshrc這個(gè)名稱來(lái)說(shuō)明第二個(gè)文件。
當(dāng)用戶注冊(cè)時(shí),Korn shell首先讀.profile文件,然后讀.kshrc。.kshrc主要讓用戶建立使用Korn
shell的習(xí)慣約定,在.kshrc應(yīng)該包括只有Korn shell才能執(zhí)行的命令。
用戶必須用ENV環(huán)境變量來(lái)指定這.文件的名稱,Korn shell設(shè)置環(huán)境變量的命令語(yǔ)法同標(biāo)準(zhǔn)shell:
=;export
其中export命令是必須的,它使此變量對(duì)Korm shell以及它的所有子進(jìn)程都有效,下面為.kshrc文件設(shè)置環(huán)境變量:
$ENV=$HOME/.kshrc;export ENV
$
很顯然,用戶必須將ENV這個(gè)環(huán)境變量在.profile中設(shè)置好,否則當(dāng)用戶注冊(cè)時(shí),Korn
shell就會(huì)找不到.kshrc文件。注意,ENV環(huán)境變量是沒(méi)有缺省設(shè)置的,用戶不設(shè)置ENV,就不能使用這此性質(zhì)。
不論是在注冊(cè)時(shí),還是在命令行中啟動(dòng)Korn shell,.kshrc文件在每次啟動(dòng)Korn shell時(shí)都必須讀入。
7.4.2Korn shell的選擇項(xiàng)
Korn shell有許多變量可用來(lái)指定用戶的環(huán)境和控制命令的執(zhí)行,要想顯示當(dāng)前的選擇項(xiàng)設(shè)置情況,可輸入:
$set -o
下例顯示了Solaris 2.x軟件系統(tǒng)中Korn shell的缺省設(shè)置情況:
$set -o
Current option settings
allexport off
bgnice on
emacs off
errexit off
gmacs off
ignoreeof off
interactive on
keyword off
markdirs off
monitor off
noexec off
noclobber off
noglop off
nounset off
privileged off
restricted off
trackall off
verbose off
vi off
viraw off
xtrace off
$
我們?cè)诒?.2中說(shuō)明這些缺省選擇項(xiàng)的具體意義。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表7.2 Korn shell的選項(xiàng)
選擇 缺省值 說(shuō)明
allexport off 當(dāng)定義時(shí),自動(dòng)地報(bào)告變量
bgnice on 要低優(yōu)先級(jí)執(zhí)行所有的后臺(tái)作業(yè)
emacs off 設(shè)置emacs/gmacs為聯(lián)機(jī)編輯器
errexit off 如果命令返回偽值,則shell執(zhí)行ERR陷井并立即 退出
gnaces off 設(shè)置gmacs/gmacd為聯(lián)機(jī)編輯器
ignoreeof off 當(dāng)運(yùn)行在交互式shell 時(shí),則在文件的未尾也不退出shell,只有打入exit才退出shell
interactive on shell自動(dòng)進(jìn)入交互式方式,因此也立即顯示shell提示符
keyword off shell根據(jù)變量賦值語(yǔ)法將每個(gè)字放入變量賦值表中
markdirs off 在所有目錄名后顯示一個(gè)"/"
monitor on 使能作業(yè)控制
noclobber off 當(dāng)使用轉(zhuǎn)向輸出>時(shí),不覆蓋一個(gè)已經(jīng)存在的文件
noexec off 只讀此命令,而不執(zhí)行它,利用此命令可以調(diào)試shell文件的語(yǔ)法錯(cuò)誤
noglob off 取消文件名的擴(kuò)充
nolog off 在歷史文件中不存貯功能定義
nounser off 當(dāng)shell想要擴(kuò)展一下已經(jīng)設(shè)置的變量時(shí),顯示一條錯(cuò)誤信息
privilrged off 當(dāng)此選擇項(xiàng)是off時(shí),使用實(shí)際UID和GID,若是on,則把UID和GID設(shè)置成啟動(dòng)此shell時(shí)有效值
restricted off 設(shè)置一種受限制的shell
trackall off 當(dāng)命令第一次出現(xiàn)時(shí),使得它成為別名
verbose off 當(dāng)讀入時(shí),即是顯示輸入
vi off 設(shè)置vi為聯(lián)機(jī)的編輯器
viraw 0ff 指定從vi中,每次只輸入一個(gè)字符
xtrace off 當(dāng)執(zhí)行命令的變時(shí)時(shí),顯示它們
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
按照korn shell的習(xí)慣用法,這些選擇都在.kskrc文件中設(shè)置。
要想使某選擇項(xiàng)有效,可輸入:
set -o
若要取消這個(gè)選擇項(xiàng),可輸入:
set +o
例如在.kshrc中輸入:
set -o vi
即設(shè)置聯(lián)機(jī)編輯器為vi,而是如果是下面這一行:
set +o vi
則是關(guān)閉vi作為聯(lián)機(jī)編輯器使用。
用戶亦可以用同樣的語(yǔ)法,在命令行中設(shè)置Korn shell的其它選擇項(xiàng)。
7.4.3創(chuàng)建Korn shell的別名
Korn shell創(chuàng)建別名的語(yǔ)法是:
Alias =
例如把別名命令alias別名為a,其命令為:
$alias a=alias
$
Korn shell本身帶有一些預(yù)先定義好的別名,要顯示這張別名表,只需打入alias命令即可:
$alias
autoload=typeset -fu
false=let 0
functins=typeset -f
hash=alias -t -
history=fc -1
integer=typeset -i
nohup=nohup
r=fc -e -
stop-kill-STOP
suspend=kill -STOP $ $
true=:
type=whence -v
$
表7.3描述這些缺省別名的意義。
表7.3 Korn shell缺省別名
別名 值 定義
autoload typeset -fu 定義一個(gè)自動(dòng)裝入函數(shù)
false let -0 返回非零狀態(tài),經(jīng)常用于產(chǎn)生無(wú)限循環(huán)
functions typeset -f 顯示函數(shù)表
hash alias –t - 顯示跟蹤別名表
history fc -1 從歷史文件中列出命令
integer typeset -i 整型變量的說(shuō)明
nohup nohup 即使退出系統(tǒng)(log out),也繼續(xù)執(zhí)行正在運(yùn)行的作業(yè)
r fc -e- 重復(fù)執(zhí)行前面的命令
stop kill -STOP 停止作業(yè)
suspend kill -STOP$$ 掛起作業(yè)
true ; 返回一個(gè)零退出狀態(tài)
type whence-v 顯示命令的信息
7.4.4用Korn shell的聯(lián)機(jī)編輯器編輯命令
使用Korn shell的聯(lián)機(jī)編輯器,用戶在執(zhí)行命令以前可以編輯當(dāng)前命令。Korn
shell的聯(lián)機(jī)編輯器可以是emacs、gmacs或vi,利用Korn Shell的選擇項(xiàng)功能,使用下面命令:
set -o
或使用EDITOR或VISUAL環(huán)境變量來(lái)設(shè)置聯(lián)機(jī)編輯器。
Korn shell的在線(或聯(lián)機(jī))編輯器vi是普通vi程序改進(jìn)后的子集,使用聯(lián)機(jī)vi編輯器時(shí)會(huì)自動(dòng)進(jìn)入插入方式。
用戶在一般情況之下,不需要使用聯(lián)機(jī)vi編輯器,而可直接打入命令并執(zhí)行之。如果想要編輯某個(gè)命令,則打入Escape鍵進(jìn)入命令方式,用戶可以使用標(biāo)準(zhǔn)的光標(biāo)移動(dòng)命令向前移動(dòng),也可以使用vi編輯命令編輯這一行的內(nèi)容。當(dāng)用戶在編輯命令時(shí),按回車即執(zhí)行此命令,而打入Escape則是回到輸入方式。如果用戶想要編輯的命令行是在一個(gè)vi文件中,則打入v命令即可打開(kāi)一個(gè)含有命令行的文件。當(dāng)退出vi時(shí)即執(zhí)行命令,有關(guān)vi的常見(jiàn)命令請(qǐng)參見(jiàn)第2章的快速參考表。
7.4.5設(shè)置Korn shell的歷史
Korn shell在某個(gè)文件中存貯所有的歷史命令,這個(gè)文件用Korn
shell的環(huán)境變量HISTFILE指定,如果沒(méi)有設(shè)置這個(gè)環(huán)境變量,則存貯在$HOME/.sh-history中。變量HISTSIZE指定存貯的命令個(gè)數(shù),若用戶沒(méi)有設(shè)置此環(huán)境變量,則保存最近輸入的128條命令,當(dāng)歷史表中達(dá)到了最大的命令個(gè)數(shù)時(shí),則繼續(xù)保存新命令,而把最老的命令從歷史表中刪除。
要設(shè)置一個(gè)歷史表的大小,可鍵入:
HISTSIZE=;export HISTSIZE
例如,下面命令行把歷史表的大小設(shè)置為200:
$HISTSIZE=200;EXPORT HISTSIZE
$
用戶可以在某個(gè)shell窗口中臨時(shí)設(shè)置歷史表的大小,也可以把這些設(shè)置命令放入.profile或.kshrc文件中使之“永久”有效。
7.4.6顯示Korn shell的歷史命令
用戶可以利用fc和history這兩條命令來(lái)顯示歷史表中的命令,這是因?yàn)閔istory已經(jīng)缺省別名為fc -1,所以用戶可以交替使用這兩條命令。
下列例子顯示歷史表中最后的16條命令。
$history
16 pwd
17 ps -el
18 ps -el | grep openwin
19 cd
20 more questionnaire
21 su
22 lp/etc/passwd
23 lpstat -t
24 man ksh
25 du
26 maker&
27 tip -2400 5551212
28 alias h=history
29 find /-name ksh -print
30 df -k
31 history
$
同樣,用戶打入命令$fc -1也可以顯示同樣的這些信息。
history和fc命令還可以有附加的變量,這樣就可以讓用戶指定某個(gè)顯示范圍,例如可以顯示最后的條命令或以倒序顯示命令,有關(guān)ksh的詳細(xì)材料,請(qǐng)參見(jiàn)ksh的手冊(cè)。
7.4.7使用Korn shell的歷史命令
要想利用Korn shell歷史表中的命令,可以打入:
r
來(lái)重復(fù)使用由指定的這條命令,例如要重復(fù)使用第27條命令:
$r 27
tip -2400 5551212
(接著顯示連接好的一些信息),若是重復(fù)執(zhí)行歷史表中的最后一條命令,則只需打入r即可。
7.4.8編輯Korn shell的歷史命令
利用fc命令,用戶可以顯示特定的歷史命令和編輯此命令,其語(yǔ)法為:
fc[-e ][-r][]

fc-
e-[=選擇項(xiàng)-e是用來(lái)指定某個(gè)編輯器,若不指定編輯器,則使用FCEDIT環(huán)境變量,這個(gè)環(huán)境變量的缺省值為/bin/ed。-r的選擇項(xiàng)是倒序顯示歷史表中的命令,即把最近的命令顯示在歷史表最上面,若不指定范圍,則編輯最后一條命令。
舉例來(lái)說(shuō),用戶想使用vi編輯歷史表中的最后一條命令,則打入:
fc -e vi
此時(shí)創(chuàng)建一個(gè)含有歷史表最后一項(xiàng)的文件,只要用戶編輯此命令并保存這些改變,就可執(zhí)行此命令了。
第8章、管理系統(tǒng)
本章將介紹:顯示系統(tǒng)專有信息、配置附加的交換空間、創(chuàng)建本地郵件別名
8.1顯示系統(tǒng)專有信息
使用本節(jié)的命令來(lái)獲得系統(tǒng)專有信息,如主機(jī)ID號(hào)、硬件類型、處理機(jī)類型、OS版本號(hào)、系統(tǒng)配置、系統(tǒng)運(yùn)行多長(zhǎng)時(shí)間、以及系統(tǒng)日期和時(shí)間,隨后還說(shuō)明如何設(shè)置系統(tǒng)日期和時(shí)間,以及改變系統(tǒng)時(shí)域。
8.1.1確定主機(jī)ID號(hào)(sysdef -h)
為了得到系統(tǒng)的主機(jī)ID號(hào),在命令行鍵入sysdef
-h,系統(tǒng)就顯示主機(jī)ID。這個(gè)命令替代SunOS4.x的命令hostid,hostid命令同時(shí)也可以使用。
panda%sysdef -h
Hostid
554095cc
panda%
8.1.2確定硬件類型(uname -m)
鍵入uname -m,就獲得系統(tǒng)的硬件類型,提供相似信息的Sunos4.x命令arch,在sunos5.x中已不存在。
panda%uname -m
sun4c
panda%
1.1.3確定處理機(jī)類型(uname -p)
要獲得系統(tǒng)的處理機(jī)類型,鍵入uname -p,系統(tǒng)的處理器類型就是顯示出來(lái),這個(gè)命令替代sunos的mach命令。
panda%uname -p
sparc
panda%
8.1.4確定OS版本號(hào)(uname -r)
命令uname -r給出OS版本信息
panda%unam -r
5.5
panda%
8.1.5顯示系統(tǒng)配置信息(prtconf)
要顯示系統(tǒng)的配置信息,鍵入prtconf,系統(tǒng)配置信息就顯示出來(lái)。
panda%prtconf
System Configuration; Sun Microsystems sun4c
Memory size:16 Megabytes
sun 4/65 ,unit #0
options,unit#0 zs,unit #0
zs,unit #1
fd,unit #0 (No driver.)
audio,unit #0 (No driver.)
sbus,unit #0
dma,unit #0
esp,unit #0
scsibus,unit#s
sd,unit #0
sd,unit#1
le,unit #0
cgsix,unit #0
auxiliary -io,unit #0(Nodriver.)
...
panda%
顯示系統(tǒng)配置信息的另一種方法是,鍵入命令sysdef,系統(tǒng)配置信息顯示出來(lái)。
panda%sysdef
Hostid
530080d2
sun4c Configuration
Devices
options,unit # -1
zs,unit #0
zs,unit #1
fd,unit #-1
audio,unit #-1
sbus,unit #0
dma,unit #0
esp,unit #0
scsibus,unit #0
sd,unit #0
sd,unit #1
le,unit #0
cgsix,unit #0
auxiliary -io,unit #-1
interrupt -enable,unit #-1
memory-error,unit #-1
counter-timer,unit#-1
eeprom,unit #-1
pseudo,unit #0
lo,unit #0
tidg,unit #0
tivc,unit #0
...
panda%
8.1.6確定系統(tǒng)已經(jīng)運(yùn)行了多長(zhǎng)時(shí)間
要想知道系統(tǒng)已運(yùn)行了多長(zhǎng)時(shí)間,鍵入命令uptime,本地系統(tǒng)的時(shí)間、用戶數(shù)、平均負(fù)數(shù)均顯示出來(lái)
panda%uptime
11:18am up 5 day(s),16:12 users,load average:16.46.15.92.15.55
panda%
要想知道系統(tǒng)是何時(shí)啟動(dòng)的,鍵入who -b,最后一次啟動(dòng)的月、日、時(shí)等信息顯示出來(lái)。
panda%who -b
system boot Ju1 14 08:49
panda%
8.1.7確定系統(tǒng)的日期和時(shí)間(date)
要顯示系統(tǒng)的日期和時(shí)間,鍵入date,系統(tǒng)的日期和時(shí)間就顯示出來(lái)。
panda%date
Tue Ju1 14 19:40:47 PST 1992
panda%
8.1.8設(shè)置系統(tǒng)的日期和時(shí)間
下面是重新設(shè)置系統(tǒng)日期和時(shí)間的步驟:
1、變成超級(jí)用戶
2、鍵入date,這里mm是月,dd是天,hh是時(shí),mm是分,yy是年,于是系統(tǒng)的日期和時(shí)間按你指定的參數(shù)重新設(shè)置。
panda%su
Password:
#date
Tue ju1 14 16:07:01pst 1992
#date 07141552
tue ju1 14 15:52 :00 pst 1992
#
8.1.9改變系統(tǒng)的時(shí)區(qū)(/etc/TIMEZONE)
時(shí)區(qū)在/etc/TIMEZONE文件中設(shè)置,可用的U.S時(shí)區(qū)變量如下。完整的時(shí)區(qū)變量表見(jiàn)usr/share/lib/zoneinfo目錄。
Us/arizona
US/central
US/east-indiana
US/Hawaii
US/Mountain
US/Pacific
US/Pacific-New
US/Yukon
下面是改變時(shí)區(qū)的步驟:
1、 成為超級(jí)用戶。
2、 編輯/etc/timezone文件,改變tz=,必須使用絕對(duì)的路徑來(lái)指定交換文件,這樣交換區(qū)就變大,可以使用了;
3、 鍵入swap -1證實(shí)交換文件已增加;
#swap –a /files1/swap
#swap -1
swapfile dev swaplo blocks free
swapfs - 0 94520 93512
/dev/dsk/cot3d0s1 32.25 8 65512 45048
/files1/swap 8 20402040
下面是刪除指定交換文件的步驟:
1、 成為超級(jí)用戶;
2、 鍵入swap –d ,當(dāng)交換文件不再使用時(shí),它只從表中刪除,使得不再用作交換區(qū),文件本身并沒(méi)刪除。
panda%su
password:
#swap -d /files1/SWAP
#swap -1
swapfile dev swplo
blocks free
swpfs- 0
94520 93512
/dev/dsk/c0t30s1 32.25 8
65512 45048
#ls –1 /files1/swap
-rw-----1 root root 104857 jan 31 13:56 swap
#
當(dāng)創(chuàng)建附加的交換空間時(shí),如果希望重新啟動(dòng)系統(tǒng)時(shí)這個(gè)空間仍可用,那么,必須在/etc/vfstab文件中增加一項(xiàng)。下面是在文件/etc/vfstab中增加一個(gè)交換文件項(xiàng)的步驟:
1、成為超級(jí)用戶;
2、編輯/etc/vfstab文件,增加一行: - - swap – no
-。保證這一行跟在交換文件所在的硬盤(pán)分割項(xiàng)安裝說(shuō)明的后面。下次系統(tǒng)重新啟動(dòng)時(shí),交換文件大小自動(dòng)增加,下面的例子將增加交換文件/files1/swap的說(shuō)明項(xiàng)放到/etc/vfstab文件中,它在安裝文件/files1說(shuō)明項(xiàng)之后。
/files1/swap - swap – no -
8.3創(chuàng)建一個(gè)本地郵件別名(/etc/mail/aliases)
在網(wǎng)絡(luò)環(huán)境中,很可能用一個(gè)集中的方法去管理郵件別名,另外,用戶常常希望建立本地別名。下面是在本地系統(tǒng)上創(chuàng)建郵件別名的步驟:
1、成為超級(jí)用戶;
2、編輯文件/etc/mail/aliases;
3、 在文件的末端,在本地別名分類下,鍵入:,.......;
4、保存修改后的文件。
例如,如果你想創(chuàng)建一個(gè)叫做friends的別名,就編輯/etc/mail/aliases文件,并增加如下項(xiàng):
friends:dexter@elm,ogden@willow,mary@maple
第9章、文件存取問(wèn)題分析
本章描述的是與查找路徑、存取數(shù)據(jù)以及所有權(quán)等有關(guān)的問(wèn)題。
當(dāng)用戶無(wú)法訪問(wèn)一個(gè)程序、一個(gè)文件或者是一個(gè)目錄時(shí),可以從以下兩個(gè)方面來(lái)進(jìn)行檢查:
1、 用戶的查找路徑是否已被改變,或者查找路徑中所列的目錄次序是否正確。
2、 文件或目錄是否有合適的權(quán)限和所有者。
該章簡(jiǎn)單地描述如何判斷以上問(wèn)題,并指出可能的解決方法。
9.1 診斷與查找路徑有關(guān)的問(wèn)題
如果用戶鍵入一個(gè)不在查找路徑中的命令,系統(tǒng)將提示"Command not
found"信息,通常導(dǎo)致命令無(wú)法找到的原因有兩點(diǎn):系統(tǒng)中根本沒(méi)有這一命令,或者命令不在查找路徑中。
如果在查找路徑的某個(gè)目錄中存在同名或者錯(cuò)誤版本的命令,系統(tǒng)也將無(wú)法正確執(zhí)行該命令。
為了診斷和解決與查找路徑有關(guān)的問(wèn)題,可采用以下方法:
1、 顯示當(dāng)前的查找路徑;
2、 編輯設(shè)置查找路徑的文件(C Shell的.cshrc或.login,Bourne和Korn
shell的.profile文件),在路徑中加入所需目錄名或者重新安排路徑的次序。注意:對(duì)于C
shell,應(yīng)該同時(shí)檢查.cshrc和.login文件,以確保路徑設(shè)置的一致性,重復(fù)定義將導(dǎo)致路徑難以查找并降低用戶查找命令的效率。
3、 對(duì)C Shell用source命令操作該文件,對(duì)Bourne和Kron Shell使用.命令,使路徑設(shè)置生效;
4、 檢查該命令是否在正確路徑中;
5、執(zhí)行該命令。
9.1.1顯示當(dāng)前查找路徑
為了顯示當(dāng)前的查找路徑,可鍵入echo $PATH,如:
$echo $path
/sbin:/usr/sbin:/usr/bin:/etc
$
9.1.2為Bourne和Korn shells設(shè)置路徑
為Bourne和Korn shells設(shè)置的路徑在用戶的$HOME/.profile文件中:
PATH=.:/usr/bin:$HOME/BIN;export path
路徑表開(kāi)始的點(diǎn)(.)表示系統(tǒng)首先要查找的是當(dāng)前目錄。
9.1.3Source Bourne和Korn shell的初始化文件
當(dāng)改變了.profile文件中的內(nèi)容后,需要使文件中的修改內(nèi)容生效,此時(shí)可鍵入:
$. ./.profile
9.1.4為C shell設(shè)置路徑
C shell中的路徑設(shè)置在用戶的$Home/.cshc或.login文件中。
set path=(./usr/bin $home/bin)
路徑名開(kāi)始的點(diǎn)(.)表示系統(tǒng)首先要查找的是當(dāng)前目錄。
9.1.5Source C shell初始化文件
當(dāng)你改變了.cshrc或.login文件中的內(nèi)容后,為變量設(shè)置生效,可鍵入:
$source.login
9.1.6檢查當(dāng)前的查找路徑
當(dāng)修改完.cshrc文件后,可以使用which命令來(lái)加以驗(yàn)證。該命令可自動(dòng)檢查.cshrc文件,如果在Bourne或Korn
shell中執(zhí)行which命令,并且在.cshrc文件中有一個(gè)which的別名,那么執(zhí)行which命令可能導(dǎo)致錯(cuò)誤的結(jié)果,為保證正確執(zhí)行,Which命令應(yīng)在C
shell中執(zhí)行。當(dāng)然也可以在Korn shell中運(yùn)行直應(yīng)的Whence命令。
為了檢查查找路徑,可以鍵入which ,當(dāng)系統(tǒng)在路徑名表中找到該命令時(shí),該命令的名稱和路徑就被顯示出來(lái)。
以下例子表明openwin命令不在搜索路徑中。
panda% which openwin
no openwin in
/home/ingnatz/$bin/usr/sbin/usr/bin/etc/home/ignater/bin/bin/home/bin/usr/etc
panda%
以下例子則表明找到了openwin命令
panda% which openwin
/usr/openwin//bin/openwin
panda%
如果找不到某個(gè)命令,就需要查看有關(guān)手冊(cè)。例如找不到lpsched命令,那么手冊(cè)中的lpsched(1M)節(jié)中會(huì)告訴你lpsched命令的路徑是/usr/lib/lp/lpsched。
9.1.7執(zhí)行一個(gè)命令
鍵入即可執(zhí)行一個(gè)命令,如果該命令在查找路徑中,那么在任何路徑下,該命令均可執(zhí)行。如果不在查找路徑,那么必須鍵入該命令的整個(gè)路徑名。
9.2分析與權(quán)限和所有權(quán)有關(guān)的問(wèn)題
用戶不能存取文件或目錄的最大可能是它們的權(quán)限或所有權(quán)被修改過(guò)了。例如,當(dāng)用戶作為根用戶編輯文件時(shí),文件和目錄的所有權(quán)就可能改變,在為新用戶建立主目錄時(shí),特別要注意將主目錄下點(diǎn)(.)文件的所有者設(shè)置成該用戶,如果用戶不是點(diǎn)(.)文件的所有者,他們就?/span>


本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/5411/showart_17624.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP