AIX 5L 學習大綱/簡易教程(2)(未經許可,請勿COPY)

大可山發表於2009-01-06

(續前,聯絡:a3news(#)hotmail.com

(四)系統管理工具 SMIT

SMIT:System Management Interface Tool
Smit兩種介面
(1)字元方式
(2)圖形方式(必須系統執行在圖形方式下,需要使用滑鼠)
切換方式:
在圖形方式下,開啟一個dtterm終端視窗,以命令列提示符方式輸入smitty,進入文字方式
在圖形方式下,在dtterm或xterm,aixterm圖形終端視窗的命令列下,輸入smit,就進入smit的圖形介面。

SMIT執行時生成兩個檔案:smit.script和smit.log。
smit.script是一個可執行的shell程式檔案,它自動記錄SMIT生成帶有引數的命令。
對初學者來說,要安全使用SMIT,防止誤操作而對系統造成破壞,可使用-x或-X引數,但只能對SMIT選單和其他介面進行瀏覽,不能執行命令。

SMIT的日誌檔案:
smit.log    記錄所訪問的所有選單、對話內容、所執行的命令及輸出結果,如smit會話中出現錯誤,則錯誤也會記錄。
smit.script. 記錄所有通過SMIT選單執行的AIX命令。
smit.transaction 記錄所有通過SMIT選單執行的AIX命令及其命令的說明。

Chapter 5 物件資料庫管理器(ODM)
ODM:Object Database Manager
ODM是一組用於管理物件導向資料庫的程式和命令。
ODM提供一些類似SQL語法的命令,來存取系統物件類資料庫。
ODM資料庫資訊存放於以下三個目錄中:
(1)/etc/objrepos    不能網路共享:使用者裝置定義類和用於SWVPD root部分的四個物件類
(2)/usr/lib/objrepos  可共享,但只能被AIX系統共享,並且是隻讀的
(3)/usr/share/lib/objrepos  可共享,不依賴於AIX。儲存著用於SWVPD可安裝產品的usr/share部分的四個物件類。
最基本的元件是物件類(Object Classes)和物件(Object)。
VGDA:在ODM上的裝置配置資訊,也稱VGDA資料,包含了所有的物理卷(PV)、卷組(VG)和邏輯卷(LV)的配置資訊。
ODM主要管理和維護的系統資料有:
(1)裝置配置資訊
(2)SMIT工具相關資訊
(3)軟體安裝更新資訊
(4)網路通訊配置
(5)系統資源
但不負責:(由傳統UNIX的文字方式儲存)
(1)檔案系統資訊
(2)安全資訊、使用者資訊
(3)列印假離線資訊

ODM資料庫的物件類(六種)
(1)預定義裝置資訊:PdDV, PdAt, PdCn
(2)使用者定義裝置資訊
(3)軟體資訊:history, inventory, lpp, product
(4)SMIT選單
(5)日誌資訊
(6)網路安裝管理器

ODM命令
(1)設定$ODMDIR環境變數:
     export DMDIR=/etc/objrepos
(2)從ODM資料庫中檢索符合條件的物件:
     odmget [-q "條件"] 物件名稱
條件語句(記住用雙引號括起):
Name like '?B?'       ? 表示一個字元
Name like '*ot*'      * 表示0到多個字元
Name like '[ST]*'     [ST]* 表示以“S”或“T”開頭的任意多個字串
Name like '[AD-GST]*' D-G表示範圍,可以是D、E、F、G(從D到G)中任一字元。
Name like '[!ST]*'    [!ST]*表示不以“S”或“T”打頭的任意字串
與SQL語句類似,查詢條件中還可以使用=,!=,>,>=,eg. odmget [-q "uniquetype=tape/scsi/8mm and attribute=block_size"] PdAt
如省略關鍵字-q及條件(引號內的部分),則顯示指定物件類(PdAt)中的所有物件(這是不指定條件的情形)

(3)從指定物件類中刪除符合指定條件的物件:
     odmdelete -o ObjectClass [-q Criteria]

(4)新增物件:odmadd [Input File ...]
                       輸入檔名(可以是多個)
     當只使用odmadd時,則從標準輸入(stdin)讀取資料。
(5)修改指定物件類中某個符合條件物件的內容:
     odmchange -o ObjectClass [-q Criteria] [Input File]
(6)顯示指定物件類的定義結構:
     odmshow ObjectClass
 eg. odmshow CuDv
(7)刪除一個物件類:
     odmdrop -o ObjectClass
     注意:如其他物件類連線到這個物件類上,亦不做檢查而直接刪除;刪除此物件類時,同時也刪除其中的所有物件。
(8)建立一個新的物件類:
     odmcreate [-p][-c|-h] ClassDescriptionFile (如:a)
                 |   |  |            |
                 |   |  |            |         +----------------------------------------+
                 |   |  |            +---------|     ASCII檔名(描述新物件類的結構),根 |
                 |   |  |                      | 據它的結構:                            |
+----------------+   |  +------------------+   | (a)產生如a.cre(人工加,否則自動加)的文 |
|   對a檔案執行c |   |  |只產生.c和.h檔案,|   | 件名;                                  |
| 語言預處理程式 |   |  |不產生空物件類。  |   | (b)執行結束後產生一個a.h(c語言定義)和 |
+----------------+   |  +------------------+   | 一個包含新物件類結構和定義的a.c檔案。  |
                     +                         | (c)a.c經過編譯,可連線到應用程式。應用 |
   +-------------------------------------+     |    程式執行時,在ODM內部使用這些結構及 |
   |   只產生空物件,不產生.c和.h檔案    |     |    定義。                              |
   +-------------------------------------+     +----------------------------------------+

舉例:
把磁帶機上的block_size屬性值從1024改為512。
(a) odmget -q "name=rmt0 and attribute=block_size" CuAt >tapeattr (存入tapeattr檔案中)
(b) vi tapeattr   (用vi修改tapeattr檔案並儲存修改結果並退出vi)
(c) odmchange -o CuAt -q "name=rmt0 and attribute=block_size" tapeattr(用它修改磁帶機屬性)
[也可:(c) odmdelete -o CuAt -q "name=rmt0 and attribute=block_size"
        (d) odmadd tapeattr
     (兩步走:先刪除,後建立新物件)               ]

CuDv物件類儲存一個系統連線所有裝置的列表;
PdAt物件類儲存每一個裝置的預設屬性值;
PdDv物件類儲存可能連線在系統上的裝置;
CuAt物件類儲存修改後的裝置屬性資訊。

(五)使用者和安全管理

UNIX是一個多使用者OS,使用者分成N組,同組使用者有共同特性。
一般的使用者與安全管理完全可用SMIT工具完成:smit security
Users, Groups, Passwords, Login Controls, Roles五個子選單。
超級使用者root登入系統後,命令提示符是#,一般使用者是$。
登入系統後的通知資訊:/etc/motd檔案(可以修改成你的通知資訊)
如不讓系統顯示/etc/motd的內容,可在使用者的HOME目錄下,建立一個.hushlogin檔案。
比如:johnsun使用者,則在/home/johnsun目錄下建立一個.hushlogin空檔案。(只能由root使用者建立)

        +- User Name  ---+
        |                |---確保唯一性
User ---|- User ID(UID) -+
        |
        +- Password

User Name最多8個位元組,首字母不能為“+,-,@,~”之一,不能使用ALL,default關鍵字,不能包含空格、Tab鍵及其他標點符號。
User ID為0的使用者是root使用者,系統使用的UserID為:0~199;因此,自定義使用者ID從200開始。
Password預設最長8位,超過者舍尾,取頭8位。
User Name,UID存放在/etc/passwd檔案中;           [此檔案只有root有寫許可權,其他有讀許可權]
但AIX中使用者密碼存放在/etc/secuity/passwd檔案中   [此檔案只有root有直接讀寫許可權        ]
/etc/security/user中存放使用者擴充套件屬性。           [               ?                   ]

預設系統使用者:root,daemon,bin,sys,adm,uncp,guest,nobody,lpd, 除root外,其他使用者均不能登入系統。

         +- Group Name        <= 8 bytes
Group ---|                                (一個使用者可同屬一個或多個組)
         +- Group ID(GID)     正整數

/etc/group檔案:組名、組ID、存放組的一些基本屬性;
/etc/security/group檔案:存放組的擴充套件屬性。

           +- 使用者級的組:使用者
           |
AIX的組 ---|- 系統管理組:如system組中就有root使用者,也可將一些使用者加入system組
           |
           +- 系統預定義組:除staff組外,其他系統預設組都具有一定的管理權力。

使用者分層:  +--------------------+
            |       root使用者     |
            +--------------------+
                       |
                       |
            +--------------------+
            |   管理型使用者和組   | /etc/security/user檔案 admin域=TRUE
            +--------------------+
                       |
                       |
            +--------------------+
            |    普通使用者和組    |
            +--------------------+

/etc/passwd檔案:
* 使用mkuser新增使用者時,向/etc/passwd檔案中新增一條新使用者的記錄資訊,使用者修改密碼後,密碼存於/etc/security/passwd檔案中。
* 用rmuser命令刪除使用者,從/etc/passwd檔案中刪除一條記錄
* 用chuser可修改除密碼外的所有屬性
* 用chfn修改FullName欄位的值
* 用chsh修改Shell欄位的值
* 用lsuser顯示某個使用者的所有屬性值

/etc/security/passwd檔案:
使用者修改密碼:
passwd              [ 超級使用者修改其他使用者的密碼也可用passwd命令 ]
security組使用者修改其他使用者的密碼: pwdadm

/etc/security/user檔案:
記錄使用者的擴充套件資訊 [ 以ASCII碼,節(Stanzas)格式組織 ]
讀許可權: root使用者及security組的使用者
寫許可權: root使用者
chuser(修改屬性),mkuser(增加使用者),rmuser(刪除使用者)都能對該檔案內容進行修改。
mkuser根據/user/lib/security/mkuser.default檔案的內容設定預設屬性。(普通使用者、管理型使用者)
lsuser顯示使用者屬性時,讀取此檔案及/etc/passwd檔案。

/etc/group檔案:
組定義,記錄每組的基本資訊,包括組名、GID、成員名,是ASCII碼檔案。
任何使用者都有讀許可權,只有root使用者及security組使用者才有寫許可權。
mkgroup,mkuser,chgroup,chuser,rmgroup,rmuser,chgrpmem可以對/etc/group及/etc/security/group檔案進行修改。lsgroup顯示組的屬性。
與/etc/security/group區別:後者存放組的擴充套件資訊,節格式,只有root使用者及security組使用者有讀許可權,只有root有寫許可權。

/etc/security/login.cfg檔案:
系統登入和使用者身份驗證控制的屬性。(ASCII,節格式)
只有root使用者和security組使用者的才能讀寫。
終端節:對從某終端的登入進行控制;
驗證使用者方法節:定義驗證使用者身份的方法;
使用者配置節:定義其他安全屬性
使用ls -l顯示該檔案的內容。

如何為每個使用者建立不同的環境?
root使用者修改/etc/security/environ檔案。(ASCII碼,節格式;root使用者:可讀寫;security組使用者:讀許可權。)
mkuser建立使用者時,根據/user/lib/security/mkuser.default檔案建立預設值;
chuser修改/etc/security/environ檔案的屬性(用lsuser顯示這些屬性)
rmuser刪除使用者時,同時也刪除此檔案中的使用者資訊。

如何限制使用者對資源的訪問量(如檔案大小限制、CPU佔用限制等)?
修改/etc/security/limits檔案
mkuser設定
chuser修改
ulimit設定和顯示
如:ulimit -a 顯示所有限制的值

/etc/security/lastlog檔案:
儲存使用者上次登入系統的資訊。[root使用者:可讀可寫;security組使用者:只有讀許可權。]

使用者管理:smit user(使用SMIT工具安全建立使用者帳號、修改使用者資訊、刪除、顯示等)
(1)命令列方式:
     建立新使用者johnsun並使他為管理型使用者:
     mkuser -a su=FALSE johnsun
        其中,su=FALSE: 使其他使用者不能用su命令切換到該使用者的身份下
     passwd johnsun     (修改密碼,使johnsun能夠登入系統)
(2)SMIT工具方式:
     smitty mkuser  (然後在選單下操作)
     完成後,johnsun就可以使用此密碼登入了,登入時,系統會提示johnsun自行修改密碼,以保證使用的密碼是私有的。

顯示系統使用者:
    pg /etc/passwd (因為使用者的基本資訊存放於/etc/passwd檔案中)
 也可: lsuser ALL (顯示所有使用者)
        lsuser -f johnsun (按節格式顯示某使用者的屬性)

 說明:lsuser [-c | -f] [-a attr1 attr2 ...] { "ALL" | usr1,usr2....}
                |    |    |                      |      |
     冒號分隔 --+    |    |                      |      +-- 指定一個或多個使用者
                  節格式  +--- 顯示屬性,        |
              (預設一行,     空格隔開          +-- 所有使用者
               空格分隔)

    提示:由於許可權不同,普通使用者用lsuser顯示使用者屬性的結果可能與root使用者或security組使用者顯示該使用者所看到的結果不同,root看到的更詳細。
  
    chuser Attribute=value ... Name (修改使用者某個或某幾個屬性的值) 
    eg. 修改johnsun為管理型使用者:   chuser admin=TRUE johnsun
        禁止johnsun登入:           chuser login=FALSE johnsun
     注:修改多個屬性時,各屬性用“”引起來,屬性之間用空格隔開。

   常見Shell:
(1)Bourne Shell
(2)C Shell
(3)Korn Shell(與Bourne Shell完全相容,互動能力優於c Shell,開發效率高)
   ----------
    |
    +---- AIX預設Shell

  Shell切換:
(1)臨時切換:
     $tty                                   [獲取當前終端號]
     $ps -t tty0  (tty0:獲取的當前終端號)   [顯示在當前終端上執行的程式]
     $csh                                   [轉到C Shell]
     %ps -t tty0                            [顯示在當前終端上執行的程式]
     ...
     %exit                                  [退出C Shell]
 (2) 永久更換登入時的Shell:
     chuser shell=/usr/bin/csh johnsun
     chsh johnsun /usr/bin/csh
        語法:chsh [Name [Shell]] 省略時以互動方式進行

正確的Shell檔案列在/etc/security/login.cfg中的usw屬性中,修改使用者登入的Shell實際上是修改/etc/passwd檔案中的Shell欄位的內容。

修改使用者配置檔案的安全屬性: chsec  (Change Security)
使用者配置檔案
/etc/security/environ
             /group
             /lastlog
             /limits
             /login.cfg
             /password
             /portlog
             /user
還有一個預設的配置檔案:
/usr/lib/security/mkuser.default
語法:chsec -f file -s stanza -a "attr=value" [-a "attr=value" ...]
            --+---- ---+----- ------+-------- ---------+-----------
              |        |            |                  |
  +-----------------+  |            +--- 屬性並賦值 ---+
  |要修改的配置檔案 |  | +--------------------+
  +-----------------+  +-| 配置檔案的某一個節 |
                         |(如不存在,則建立)|            
                         +--------------------+

注意:
(1)chsec不能修改/etc/security/passwd檔案中的password屬性,只能用passwd命令修改。
(2)chsec只能由root使用者和security組的使用者使用。
eg. 
(1)從/dev/tty0終端登入系統時,如在60秒內5次未成功登入,則鎖定該終端:
   #chsec -f /etc/security/login.cfg -s /dev/tty0 -a logindisable=5 -a logininterval=60
(2)只允許所有使用者從上午8:00到下午6:00進入系統:
   #chsec -f /etc/security/user -s default -a logintimes=:0800-1800

刪除使用者:(SMIT快捷:smit rmuser)
    rmuser [-p] Name
      |      |
      |      +-除刪除使用者及其屬性外,還刪除/etc/security/passwd
      |        檔案中的密碼資訊及相關使用者身份驗證資訊。
      |
      +- 注意:該命令不能刪除使用者的初始目錄及其下的檔案和子目錄。

徹底刪除使用者:
(1)rmuser -p johnsun
     刪除使用者、使用者屬性、密碼資訊及相關使用者身份驗證資訊後,如果再刪除初始目錄及檔案,則:
(2)rm -r /home/johnsun

給tom使用者加鎖:chuser account_locked=TRUE tom   (快捷:smit lockuser)
給tom使用者解鎖:chuser account_locked=FALSE tom
加鎖後使用者無法登入系統,直到解鎖後方可使用。
實質:修改了/etc/security/user檔案中使用者的account_locked屬性。

重置某使用者失敗登入次數 (快捷:smit failed_logins)
chsec -f /etc/security/lastlog -s tom -a unsuccessful_login_count=0

阻止使用者登入系統:
    如果存在/etc/nologin檔案,則允許使用者輸入UserName和Password,但不允許使用者進入系統,同時給登入使用者顯示/etc/nologin檔案的內容。因此,系統管理員可通過增加或刪除此檔案的方法來阻止和允許使用者登入。

組管理(快捷:smit xxgroup):建立組、修改組屬性、刪除組。

(1)建立組: [ 僅root使用者和security組使用者才能用mkgroup ]

     mkgroup [-a] [-A] [Attribute=Value ...] GroupName
               |    |  --------------------- ----+----
               |    |   (設定一個或多個屬性)     |
               |    |                            |
 建立管理型組 -+    +-----------------+ +--------+-------------------+
(僅root使用者)      | 讓執行mkgroup命 | | 保證唯一性,勿與其他重複   |
                    | 令的使用者成為組  | | 不能用ALL,default等關鍵字 | 
                    | 的管理員。      | +----------------------------+
                    +-----------------+

(2)顯示組屬性: [ 僅root使用者和security組使用者才能用mkgroup ]

     lsgroup [-c | -f] [-a List] {ALL | Group[,Group]...}
               |    |    |         |            |
               |    |    |         +-全部屬性   +- 一個或多個組名
      冒號分隔-+    |    |
            節格式 -+    +-顯示個別屬性,List是屬性清單,用空格隔開
                 

(3)修改組屬性: [ 僅root使用者和security組使用者才能用mkgroup ]

     chgroup Attribute=Value[...] Group
                |        |
                |        +- 屬性間空格分開 
                |
                +- 可修改的屬性:adms, admin,gid,users等。

    eg. 將使用者Johnsun加入infomix組:
        chgroup users=infomix,johnson infomix

(4)刪除組:  rmgroup GName 或快捷:smit rmgroup
     當刪除組時,同時刪除組的所有屬性,包括清空所屬組的使用者清單。但不能刪除基本組。

使用者密碼管理:
AIX修改使用者密碼的命令:
(1)passwd
(2)pwdadm(Password Admin,主要由root使用者和security組使用者使用)

不要將/etc/passwd與/usr/bin/passwd檔案混淆。
/etc/passwd是ASCII碼檔案,存放使用者的基本資訊,可編輯,不是命令檔案。
/usr/bin/passwd是二進位制命令檔案,用來修改使用者密碼。
任何使用者都可使用passwd修改自己的密碼,普通使用者只能修改自己的密碼;root使用者和security組使用者可修改其他使用者的密碼。

語法:passwd [-f | -s] [User]
-f: 表示要修改/etc/passwd檔案中的gecos欄位(即FullName欄位)的內容;
-s:表示要修改使用者登入Shell;
如root使用者和security組使用者要修改其他使用者的密碼,必須指定使用者名稱。
修改使用者登入的Shell,可用chsh或chuser命令,也可用passwd命令。
eg. 
    $id                           顯示當前使用者的UID和GID(假設當前使用者是johnson)
    $passwd -s                    修改自己的登入shell
    change (yes) or (no)? > yes    (回答繼續修改)
    TO? >/usr/bin/csh             修改為/usr/bin/csh
    $lsuser -a shell johnson      顯示修改後的值

#pwdadm [-f flags | -q | -c] user        [只能root使用者、security組使用者使用]

-f flags:   設定flags屬性的值,可能值有(之一):
            (1)ADMIN
                (只能由root設定和修改,已設flags屬性值為"ADMIN"的使用者的密碼只能由root修改)
            (2)ADMCHG
            (3)NOCHECK 
                (security組使用者可設定“ADMCHG”,“NOCHECK”的flags值)

-q          檢視使用者在/etc/security/passwd檔案中的lastupdate和flags屬性的值
-c          清除flags屬性的值
user        被管理的使用者名稱或使用者自己

    如某使用者在/etc/passwd中passwd欄位的值或/etc/security/passwd檔案中Password屬性是“*”,則他的密碼只能由root或security組使用者修改。

顯示和修改使用者密碼屬性:(修改/etc/security/user檔案)
(1)chuser     (2)chsec
SMIT快捷:#smit passwdattrs

問題:如何去掉root使用者密碼?
[原理:從安裝介質啟動系統到單使用者方式下,啟用rootvg,獲得rootvg的權力,再刪除root使用者的密碼]
(1)AIX系統No.1安裝介質放入磁帶機或CD-ROOM中;
(2)從光碟或磁帶機啟動機器(經典RS/6000,前皮膚鑰匙扳到Serivice位置;PCI的RS/6000,加電自檢中按F5或數字“5”鍵);
(3)選擇“3. Start Maintenance Mode for System Recovery”選單項(啟動維護選單);
(4)選擇“1. Access a Root Volumn Group”, 按Enter鍵,警告資訊;
(5)確定繼續,選擇“0. Continue”,按Enter鍵;
(6)選擇可引導卷組(rootvg包含著引導邏輯卷hd5,所以可引導系統),如包含hd5的卷組,然後Enter鍵;
(7)選擇1,進入並啟用rootvg, 安裝root卷組的檔案系統,執行shell並給出shell提示#;
(8)export設定TERM環境變數;
(9)#vi /etc/security/passwd 編輯/etc/security/passwd檔案,刪除root使用者節中的passwd欄位的值(即讓password的值為空),儲存檔案退出vi,返回#提示符下。
(10)執行兩次sync命令把記憶體中的資料同步到磁碟中。#sync;sync
(11)#shutdown -Fr 重新啟動系統(也可reboot命令),取出安裝介質,以正常方式重啟。
(12)以root使用者登入系統,在輸入密碼時,直接按回車。

[啟示] root密碼同樣也可能被竊,所以機器房間上鎖,也要保管好AIX的安裝盤。

使用者的工作環境
1、使用者的登入過程

                              +-----------------------------------+
                              | init程式--啟動終端---&gt> getty程式 |
                              +-----------------------------------+
                                               |
                                               |
+-------------------------------------+   +---------------+
| 根據/etc/security/login.cfg檔案設定 |--&gt| login:提示符 |
+-------------------------------------+   +---------------+
                                           |    |
                                           |    +-<>-+----------------+
+------------------------------+           |    |    | UserName Input |
| 由/etc/security/user定義次數 |------&gt----+    |    +----------------+
+------------------------------+                |
            |                                   +-<>-+----------------+
+----------------------+                        |    | Password Input |
|顯示UserName,PassWord |    +----------+        |    +----------------+
|不正確,提示重登入    +-+----------------------+    +--+--+----+   | 驗   證  |
                               |  |        +--+-+-----+
+---------------------------+| /etc/security/failedlogin |     +-<< 不正確-+ |
+---------------------------+                   |
                                                |
+------------------------+                      +--<< 正確
| /etc/security/environ  |                      |
| /etc/security/limits   |--&gt--+                |
| /etc/security/user     |     |                |
+------------------------+     |                |
 +------------------+          |         +------+-----------+
 | LOGNAME,HOME變數 |------&gt---+----&gt>---|   設定使用者環境   |
 +------------------+                    +------+-----------+
                                                |
                                             判 | 斷
                                                |
+-------------------+           +---------------+----+
| 顯示/etc/motd內容 |-<+-------------------+           +---------------+----+
         |                                      |
         |   +------------------------+         | 
         |   | /etc/passwd中定義shell |      存 | 在
         |   +---------------+--------+         |
         |                   |                  |
         |                   +-----&gt----+-------+-------------+
         +-------------------------&gt----| 啟動初始化shell程式 |
                                        +-------+-------------+
        +-------------------+                   |
        |  /etc/profile     |            +------+------------+
        |  /etc/environment +------&gt>----| 建立使用者個人環境,|
        |  $HOME/.profile   |            | 顯示#,$或%提示符  |
        +-------------------+            +------+------------+
                                                |
                                         +------+------------+
                                         |  使用者操作命令.... |
                                         +------+------------+
                                                |
                                           +----+-----+
                exit,logout,Ctrl+d命令--&gt--| 退出系統 |
                                           +----------+

注:/etc/profile檔案:    控制全系統的預設變數(對所有使用者起作用),如TERM,MAILMSG,MAIL等。
    /etc/environment檔案:構造所有程式使用的基本環境變數,如HOME,LANG,TZ,NLSPATH等。
    $HOME/.profile檔案:  使用者本身的profile檔案,對單個使用者起作用,可定義批處理,它可以覆蓋全域性性變數設定。

2. 定製使用者環境

   (1)登入Shell                      ———— 相當於DOS中的Command.com命令
   (2)/etc/profile                [公]  ——+
   (3)/etc/environment            [公]    |- 類似於DOS中的config.sys和autoexec.bat檔案
   (4)$HOME/.profile(或.cshrc檔案)[私]    |
    (5) $HOME/.env(見下面備註)    [私]  ——+

    使用者的登入shell依次執行(2)(3)(4)所示檔案,建立起該使用者的所有環境變數。其中,(2)(3)所示檔案對每個使用者都起作用,控制全系統的預設變數,而(4)檔案放在使用者的主目錄下,對單個使用者起作用。如果需要改變某個使用者的環境設定,可以編輯該使用者主目錄下的.profile(sh/ksh)或.cshrc檔案(csh)或是.dtprofile檔案(CDE登入)。
    [備註]要使$HOME/.env發揮作用,必須在$HOME/.profile檔案中設定:
          ENV=$HOME/.env
          export ENV
     export命令將環境變數傳給當前環境。
  eg. 方式一(通用方式,它也是sh支援的唯一方式)
      $PATH=/bin:/etc:/usr/bin
      $export PATH
      方式二:
      $PATH=/home/$LOGNAME:$PATH;export PATH
      方式三:(ksh)
      $export PATH=/bin:/etc:/usr/bin
    export可同時將多個環境變數傳給當前環境,如:
      $export PATH HOME LOGNAME
      或: $export PATH=/bin:/etc:/usr/bin LOGNAME=johnson HOME=/usr/$LOGNAME
      $HOME/.profile檔案是個隱藏檔案,只能用ls -al命令才能檢視。

預設提示符:
   # : root使用者
   $ : 一般使用者(sh,ksh)
   % : 一般使用者(csh)
命令提示符的環境變數:
   PS1: 主提示符
   PS2: 副提示符
   PS3: root使用者提示符
臨時改變命令提示符:在命令列直接輸入 eg. #PS1="Enter Command>"
永久改變命令提示符:PS1="$PWD>"  (加入$HOME/.profile或$HOME/.env檔案中)
如引用環境變數的內容,則用“$環境變數名”,比如:
將root使用者的shell提示符改為主機名加工作目錄:
   #HOSTNAME = 'hostname'
   #export PS1="[$HOSTNAME][$"PWD"]#"
結果提示符變成類似: [client][/tmp]#

顯示環境變數的內容:
(1)echo $LOGNAME (其中:LOGNAME為變數名稱)
(2)set 顯示所有環境變數及相應的值
(3)env 顯示所有環境變數及其值

檢視每個使用者使用su切換命令的記錄:(實質:檢視/var/adm/sulog檔案)
#cd /var/adm
#more sulog     (more也可以換成pg或cat)

檢視使用者進出入系統的記錄:
who或last命令(實質:讀取/var/adm/wtmp檔案內容)
#last [-f FileName] [-Number] [-User ...] [Terminal ...]
-f FileName        指定檔名(預設為wtmp檔案)
-Number            最新N條
-User ...          指定使用者
Terminal ...       指定終端
使用who命令:
#cd /var/adm
#who wtmp
只包括進入到系統中的使用者記錄: #who /etc/wtmp
顯示失敗登入系統的記錄:       #who /etc/security/failedlogin
#who [-AabdHilmpgrsTtuw][am{i,I}][utmp_like_file]
who不帶引數時,與w命令作用相似,都顯示當前已登入使用者。
-A 顯示所有
-a 顯示預設檔案(/etc/utmp)或由引數utmp_like_file指定檔案中的所有資訊(相當於使用AbdHlprTtu引數)
-b 最近一次啟動時間
-d 顯示有終止程式,exit域是終止或退出值,可判斷程式為何終止
-H 顯示頭標題
-i或-u 活動中的使用者
-l 所有login程式
-m 當前終端
-p 由init建立正在執行的程式
-q 顯示活動使用者的使用者名稱、主機名
-r 當前系統的執行級別
-s 只顯示使用者名稱,終端和時間資訊(who預設引數)
-t 最後修改date時鐘的記錄
-T或-w 終端的狀態(+ 可寫,- 不可寫,X 獨佔開啟,?沒有響應)
am i或am I: 當前使用者名稱

登入AIX 5L時禁止顯示使用者名稱,如何做?
/etc/security/login.cfg中關於安全選項有兩個屬性:
(1)pwdprompt:   定義提示輸入密碼的資訊
(2)usernameecho:是否顯示使用者名稱及相關安全資訊
#chsec -f /etc/security/login.cfg -s default -a pwdprompt="Password:"
把pwdprompt="Password:"的屬性加到login.cfg檔案的default節中。
這樣,login輸入使用者名稱時顯示使用者名稱,但Password前不再顯示使用者名稱,輸入密碼時,也不顯示密碼了。

#chsec -f /etc/security/login.cfg -s default -a usernameecho=FALSE
login輸入使用者名稱時不再顯示輸入的使用者名稱了,Password行也不會顯示使用者名稱,密碼輸入亦不顯示。

給某個終端(如/dev/lft0)設定usernameecho屬性:
#chsec -f /etc/security/login.cfg -s /dev/lft0 -a usernameecho=FALSE

(六)檔案系統

AIX 5L支援的5種檔案系統:JFS,JFS2,NFS,CDRFS,UDFS。
JFS(Journaled File System):             日誌型檔案系統
JFS2(Enhanced Journalted File System):  增強的日誌型檔案系統
NFS(Network File System):              網路檔案系統
CDRFS(CD-ROM File System):             CD-ROM檔案系統
UDFS(DVD-ROM File System):             DVD-ROM檔案系統

系統中所有檔案和目錄都儲存在樹根(/)之下,根檔案系統存在於rootvg中。
其他檔案系統都獨立於根檔案系統。
手工安裝本地/遠端檔案系統:    mount
解除安裝本地/遠端檔案系統:        umount
root檔案系統位於/dev/hd4邏輯捲上,所有權屬性:
(1)AIX Ver4.3.3及以前:bin.bin
(2)AIX Ver5.1L:    

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

相關文章