Unix程式設計/應用問答中文版 ---1.系統管理配置問題(轉)

post0發表於2007-08-10
Unix程式設計/應用問答中文版 ---1.系統管理配置問題(轉)[@more@]

作者:不祥 [文章出自: ]

1. 系統管理配置問題

1.1 如何給SUN工作站增加eeprom硬體口令保護

1.2 如何增加交換空間

1.3 為什麼我不能在/home目錄下建立子目錄

1.4 如何改變一臺主機的locale

1.5 Solaris 7自動登出

1.6 一個目錄擁有setgid設定,怎麼理解

1.7 非Sun Console上有無等價Stop-A的按鍵

1.8 如何讓一個使用者只能ftp而無法telnet

1.9

1.10 為什麼Sun工作站非要輸入boot命令才能啟動

1.11 如何讓Solaris識別新增加的硬體

1.12

--------------------------------------------------------------------------

1. 系統管理配置問題

1.1 如何給SUN工作站增加eeprom硬體口令保護

A: scz

man -s 1M eeprom瞭解細節,要求當前是root身份

# /usr/sbin/eeprom (顯示當前eeprom配置)

# /usr/sbin/eeprom security-mode=full ( 可選的有command, full, none)

此時進入互動式設定口令過程,總共輸入兩次,如果兩次口令輸入不一致,則本次設

置作廢。成功設定之後除了go命令之外的其他ok狀態下命令均需要口令,包括boot命

令。

設定成command時,同樣進入互動式口令輸入過程。此時,除了boot和go命令之外的

其他ok狀態下命令均需要口令。注意,如果僅僅輸入boot命令,不需要口令,一旦

boot命令後面帶了引數,比如boot cdrom -s,同樣需要輸入口令。

如果設定成none(預設設定),表示去掉這種口令保護。

# /usr/sbin/eeprom security-password= (等號後面無其他字元,直接回車)

如果想改變前面設定的口令,用這條命令,同樣是互動式輸入過程。

# /usr/sbin/eeprom security-#badlogins=3 (預設是0)

設定口令輸入嘗試次數。

警告:如果設定了eeprom硬體保護口令而又忘記,會帶來很多麻煩,務必小心。

一個可行的設定辦法是,安全模式設定到command而不是full,這樣至少可以正常啟

動系統。於是只要記得root口令或者還有其他機會獲得root許可權(緩衝區溢位?),就

可以透過設定安全模式為none而挽救回來。

但是如果設定成full模式卻忘記了eeprom口令,我想首先應該打電話給SUN的技術支

持。如果出於某種理由你不想這樣做,我不確認eeprom是否可以熱插拔,先用一個無

口令保護的eeprom啟動系統,然後熱插拔換上那個有口令保護的eeprom,然後用root

許可權抹去eeprom口令。

1.2 如何增加交換空間

A: WT

你無法改變分割槽大小,但是可以增加/刪除交換檔案,效果類似交換分割槽。下列命令

在根目錄下建立一個500MB的交換檔案,名為swapfile

# mkfile 500m /swapfile

下列命令將使之生效

# swap -a /swapfile

現在你有了額外的500MB交換空間,為了每次重啟後依舊有效,編輯/etc/vfstab檔案

增加如下行

/swapfile - - swap - no -

# swap -l

這裡"-l"意味著"list",顯示所有交換空間。仔細閱讀"swap"和"mkfile"的手冊頁。

1.3 為什麼我不能在/home目錄下建立子目錄

Q: Solaris 7下,root身份,當我試圖在/home目錄下建立子目錄時,系統拒絕,為

什麼?

A: mohansundarraj

如果/etc/rc2.d/S74autofs指令碼中automount(1M)守護程式已經mount了/home,就是

這種現象,而這還是預設安裝後的情形。可以

# /etc/init.d/autofs stop

# umount /home

然後你就可以用root身份在/home下建立子目錄,增加檔案了。為了永久取消autofs

特性,可以將/etc/rc2.d/S74autofs指令碼改名,並註釋掉/etc/auto_home、

/etc/auto_master兩個檔案中的入口點。

SPARC/Solaris的預設使用者主目錄是/export/home,而不是/home。

1.4 如何改變一臺主機的locale

Q: 一臺SPARC/Solaris 8執行在US locale環境中,現在我們想讓它執行在

IE(Ireland) locale環境中,以便可以使用歐洲日期格式,怎麼辦?

A: Sharad Ramachandran

執行sys-unconfig,在此之前請man -s 1M sys-unconfig,:-)

A: chad schrock

天啊,為了拍死一隻蒼蠅,你要引爆原子彈嗎?

只需要做如下操作,在你的.cshrc/.profile/.bashrc等啟動指令碼中設定$LANG環境變

量的值為en_UK,登出,重新登入即可。為了使這個設定全域性有效,修改

/etc/default/init檔案,LANG=en_UK,重啟動。

--------------------------------------------------------------------------

# @(#)init.dfl 1.2 92/11/26

#

# This file is /etc/default/init. /etc/TIMEZONE is a symlink to this file.

# This file looks like a shell script, but it is not. To maintain

# compatibility with old versions of /etc/TIMEZONE, some shell constructs

# (i.e., export commands) are allowed in this file, but are ignored.

#

# Lines of this file should be of the form VAR=value, where VAR is one of

# TZ, LANG, or any of the LC_* environment variables.

#

TZ=GMT+8

LANG=zh.GBK

--------------------------------------------------------------------------

參看locale(1)和locale(5),瞭解更多關於locale的資訊。執行"locale -a",檢視

當前系統所支援的所有locale。

A: Sun Microsystems 2001-06-12

有三種方式改變locale。首先用"locale -a"命令確認系統中已安裝的locale

1) 從CDE登入螢幕上修改locale

選擇 options -> languages -> choose the new locale

注意,如果登入使用者的初始化檔案中有不同的locale設定,將優先於系統全域性locale

設定。

2) 臨時設定locale(shell相關的)

ksh : LANG=

sh : LANG=

export LANG

csh : setenv LANG

bash: export LANG=en_US(zh.GBK)

3) vi /etc/default/init

增加如下內容

LANG=

LC_ALL=

重啟系統。

執行"locale"命令確認改變生效。

如果你希望使用的locale並未安裝,參看如下文件安裝locale

Solaris 8 : <>

Solaris 7 : <>

Solaris 2.6: <>

D: scz 1998-08

SPARC/Solaris 2.5下,為了在vi中正確看到中文需要設定環境變數

sh

LANG=C;export LANG

LC_CTYPE=iso_8859_1;export LC_CTYPE

csh

setenv LANG zh

關於設定LANG這個環境變數涉及到/usr/lib/locale下的目錄許可權。

1.5 Solaris 7自動登出

Q: 怎樣設定才能30秒後自動登出

A: shridhara

不幸的是,Solaris對此沒有什麼好的支援。如果正在使用telnet會話,或許可以考

慮"logout"變數,參看telnet的手冊頁。一個變通的辦法,使用K-Shell,它支援

TMOUT變數,用於指定非活動時限(以秒為單位)。比如,如果一個shell會話3分鐘內

不活動,則終止這個shell會話

$ TMOUT=180;export TMOUT

可以在使用者的.profile檔案中放置該行。缺點是你只能使用ksh。

D: scz

vi /etc/default/login

# TIMEOUT sets the number of seconds (between 0 and 900) to wait before

# abandoning a login session.

#

TIMEOUT=180

這裡的超時設定針對登入過程,而不是登入成功後的shell會話超時設定。

1.6 一個目錄擁有setgid設定,怎麼理解

Q: 對一個目錄做了setgid設定,可我並沒有發現這和正常情況有什麼區別

A: John Riddoch

在這種目錄下建立新檔案時將採用setgid設定對應的屬組,比如

$ ls -ld b

drwxrws--- 2 jr group 512 Mar 14 17:13 b/

$ touch b/a

$ ls -l b/a

-rw------- 1 jr group 0 Mar 14 17:13 b/a

$ id

uid=178(jr) gid=10(staff)

jr的預設組是staff,而現在b/a檔案屬組是group。

D: 小四

SPARC/Solaris 7下測試

如果目錄擁有SGID設定,那麼該目錄下新建立的檔案將繼承該目錄的屬組,而不是創

建者所對應的GID。

[root@ /export/home/scz]> id

uid=0(root) gid=1(other) [root@ /export/home/scz]> mkdir groupsgid

[root@ /export/home/scz]> ls -ld groupsgid

drwxr-xr-x root other groupsgid/

[root@ /export/home/scz]> chown scz:users groupsgid

[root@ /export/home/scz]> chmod g+s groupsgid

[root@ /export/home/scz]> ls -ld groupsgid

drwxr-sr-x scz users groupsgid/ [root@ /export/home/scz]> cd groupsgid/

[root@ /export/home/scz/groupsgid]> touch scz_0

[root@ /export/home/scz/groupsgid]> ls -l scz_0

-rw-r--r-- root users scz_0 [root@ /export/home/scz/groupsgid]> chmod g-s ../groupsgid/

[root@ /export/home/scz/groupsgid]> ls -ld ../groupsgid/

drwxr-xr-x scz users ../groupsgid/

[root@ /export/home/scz/groupsgid]> touch scz_1

[root@ /export/home/scz/groupsgid]> ls -l scz_1

-rw-r--r-- root other scz_1 [root@ /export/home/scz/groupsgid]>

1.7 非Sun Console上有無等價Stop-A的按鍵

A: neomilev

如果是便攜機,嘗試alt/break 或者 ctrl/break。如果是vt100終端,嘗試F11 或者

break

1.8 如何讓一個使用者只能ftp而無法telnet

A: 小四

修改該使用者在/etc/passwd中的shell為/bin/false,在/etc/shells檔案中增加

/bin/false,此時,該使用者只能ftp,telnet失敗。

1.10 為什麼Sun工作站非要輸入boot命令才能啟動

Q: 我有臺Sun工作站,每次開機後停在ok狀態下,需要手工輸入boot命令才能啟動,

現在想避免這種效果,怎麼辦

A: /usr/sbin/eeprom auto-boot?=true

/usr/sbin/eeprom auto-boot?

A: dengdai@SMTH

進入OBP狀態

ok setenv auto-boot? true

ok setenv boot-device disk

反之

ok setenv auto-boot? false

1.11 如何讓Solaris識別新增加的硬體

Q: 比如新增加了網路卡、硬碟、光碟機什麼的,如何讓Solaris意識到這種增加

A: spp(低音炮) & suxm

有三種辦法

a. Stop-A進入OBP狀態,輸入boot -r

b. sync(重複);reboot -- -r

c. touch /reconfigure;sync(重複);reboot

參看reboot(1M)、boot(1M)、eeprom(1M)、kernel(1M)、cfgadm(1M)、psradm(1M)手

冊頁

Q: 我新增加了一塊硬碟,不想boot -r而立即生效,怎麼辦

A: 老大 2001-12-04 16:51

直接將第二塊硬碟接上去,然後順序執行如下命令,不用重新啟動機器

modunload -i 0

drvconfig(1M)

devlinks(1M)

disks(1M)

如果需要重新格式化、分割槽、建立檔案系統,就繼續執行

format(1M)

newfs(1M)&nbs

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

相關文章