天天看點

aix怎麼su到oracle使用者,AIX 使用者管理

使用者管理是系統的重要組成部分,每個登入到系統中的使用者都有一個使用者帳号,一般同時還有一個密碼(在一個安全的系統中,一個有效的使用者必須帶有一個密碼)。如果密碼正确,該使用者就能夠以這個帳号登入,獲得該帳号的各種特權。使用者的密碼儲存在/etc/passwd 和/etc/security/passwd 檔案中。

使用者組是對一個受保護資源共享存取權限的使用者集合。使用者組帶有一個辨別符,由成員和管理者組成。建立組的人通常是該使用者組的第一個管理者。使用者組有三種類型:

使用者定義組:這種使用者組用于在系統中共享檔案的人員,例如:同一部門中或同一項目下工作的人員。通常情況下這種使用者不要建立太多。

系統管理者組:這種使用者組對應于 SYSTEM 使用者組。SYSTEM 使用者組的成員允許不具備超級使用者權限的管理者執行一些系統維護任務。

系統定義組:有一些使用者組是作業系統定義的,系統所建立的非管理者使用者的預設使用者組為 STAFF。SECURITY 使用者組具有執行安全管理的特權。

1、使用者管理指令

下面是一些用于系統管理的重要指令:

mkuser 建立新使用者。

passwd 建立或修改使用者密碼。

chuser 修改除了使用者密碼外的使用者屬性。

lsuser 顯示使用者屬性。

rmuser 删除使用者。

login 使用者登入。

chfn 修改使用者的描述資訊,使用者可以任意填寫諸如位址、全名、别名等資訊。

Finger 指令會顯示使用者的描述資訊。

chsh 修改使用者的 Shell。

who 顯示目前登入的使用者。

2、/etc/passwd 檔案

/etc/passwd檔案中儲存使用者的基本資訊。這個 ASCII 檔案中包含所有使用者的入口。每個入口定義了使用者的基本屬性。用mkuser指令添加使用者時,會自動更新/etc/passwd 檔案。

/etc/passwd 檔案中每個入口用冒号(:)分割不同的屬性,格式如下:

Name:Password: UserID:PrincipleGroup:Gecos: HomeDirectory:Shell

Password 字段的值如果是星号(*)表明密碼無效;如果是感歎号(!)表明密碼在影子檔案/etc/security/passwd 中。一般情況下,該字段是一個感歎号(!)。如果password 字段是星号(*),同時要求認證使用者,那麼使用者将無法登入系統。

Shell 字段指明使用者調用 login或su 指令時所執行的初始程式或 shell。Korn shell是 AIX 作業系統标準的登入 shell,與 Bourne shell 向後相容。如果使用者沒有定義,預設使用/usr/bin/sh(Bourne shell)。 Bourne shell 是 Korn shell 的子集。

用 mkuser 建立使用者時,password 字段總是初始化為星号(*)——标明一個無效的密碼。要用 passwd 或 pwdadm 指令設定密碼。一旦設定好密碼,感歎号(!)将填入/etc/passwd 檔案,表明在/etc/security/passwd 檔案中有加密的密碼。

3、/etc/environment 檔案

/etc/environment 檔案包含所有程序要用到的基本環境變量。每啟動一個新程序,exec 函數按 Name=Value 格式生成一個稱為“環境”的字元串排列,每個字元串左邊的 Name 叫做環境變量或 shell 變量。每個指令在開始運作前都會去檢查環境變量。登入時,系統在讀取使用者的登入腳本。profile 之前,先根據 environment 檔案設定環境變量。

下面是構成基本環境的部分變量:

HOME:使用者登入的完整路徑或使用者主目錄。Login 程式根據/etc/passwd 檔案中的相應字段來設定該值。

LANG:使用者所在的國際區域設定。在系統安裝時,該變量設定在/etc/environment檔案中。

PATH:當不按完整路徑執行指令時,将到 PATH 指定的一系列目錄中去搜尋所執行的指令。PATH 中不同的目錄名用冒号隔開。

TZ:時區資訊。TZ 環境變量在/etc/environment 中設定。

4、建立和修改使用者密碼

passwd指令在/etc/security/passwd檔案中建立一個加密的passwd入口,然後把/etc/passwd 檔案中的相應 Password 字段從星号(*)改成感歎号(!)。下面例子顯

示該指令如何修改使用者密碼:

passwd

如果有舊密碼,并且不是超級使用者,passwd指令先提示輸入舊密碼,之後指令兩次提示輸入新密碼(用于确認)。

5、顯示目前登入使用者

who 指令顯示目前本地系統中線上的所有使用者資訊,包含登入名、登入終端名、登入日期和時間。輸入 whoami 或 who am I 顯示自己登入的名名、終端名、日期和時間。如果是從遠端登入的使用者,同時還會顯示遠端主機名。who 指令還能顯示至上次鍵盤活動以來流逝的時間和指令解釋器(shell)、登入程序等在初始化過程中産生程序的程序号。

下面例子顯示 who指令的不同用法:

(1)顯示目前登入到系統中的所有使用者的資訊:

# who

root pts/0 Nov 17 10:20(sv1166a.itsc.aus)

root pts/2 Nov 23 10:45(sv1121c.itsc.aus)

root pts/3 Nov 23 10:48(sv1121c)

(2)顯示自己的使用者名:

# who am I

root pts/3 Nov 23 10:48(sv1121c)

(3)顯示目前系統的運作級别:

# who -r

. run-level 2 Nov 17 10:19 2 0 S

(4)顯示由 init 産生并且目前活動的程序

# who -p

rc . Nov 17 10:19 4:12 2896 id=rc

fbcheck . Nov 17 10:19 4:12 2898 id=fbcheck

srcmstr . Nov 17 10:19 4:12 2900 id=srcmstr

rctcpip . Nov 17 10:19 4:12 4648 id=rctcpip

rcnfs . Nov 17 10:19 4:12 4650 id=rcnfs

cron . Nov 17 10:19 4:12 4652 id=cron

piobe . Nov 17 10:19 4:12 4984 id=piobe

qdaemon . Nov 17 10:19 4:12 4986 id=qdaemon

writesrv . Nov 17 10:19 4:12 4988 id=writesr

uprintfd . Nov 17 10:19 4:12 4990 id=uprintf

pmd . Nov 17 10:19 4:12 8772 id=pmd

dt . Nov 17 10:19 4:12 9034 id=dt

id 指令也可以顯示使用者目前登入資訊

6、修改使用者的登入 Shell

chsh 指令修改使用者的登入 shell 屬性,該屬性定義了使用者登入後運作的初始程式。該屬性在/etc/passwd檔案中指定。預設情況下 chsh 指令修改的是調用指令者的登入 shell。chsh 指令是互動式的。運作時,系統列出可用的 shell 及使用者目前的 shell 屬性,然後提示修改 shell,輸入時必須包含可用 shell 的完整路徑。隻要具有 chuser 指令的可執行權限,就可以修改别的使用者的登入 shell。

7、修改 SHELL 提示符

shell 使用下述三種提示符變量:

PS1:正常的系統提示符。

PS2:當 shell 等待輸入時的提示符。

PS3:運作 select 子指令時的提示符。

對這些 shell 變量的修改一直作用到使用者退出。在。env 檔案中對這些變量設定可使提示符的改變永久有效。

下列指令顯示目前的 PS1 變量的值:

# echo "prompt is $PS1":

prompt is $

下列指令顯示把目前提示符改成 Ready>:

export PS1="Ready> "

下列指令顯示把要求繼續的提示符改成 Enter more->:

export PS2="Enter more->"

下列指令顯示把運作 select 子指令提示符改成 Root->:

export PS3="Root->”