使用者管理是系統的重要組成部分,每個登入到系統中的使用者都有一個使用者帳號,一般同時還有一個密碼在一個安全的系統中,一個有效使用者必須帶有一個密碼)。如果密碼正確,該使用者就能夠以這個帳號登入,獲得該帳號的各種特權。使用者的密碼儲存在/etc/passwd 和/etc/security/passwd 檔案中。
使用者組是對一個受保護資源共用存取許可權的使用者集合。使用者組帶有一個標識符,由成員和Administrator 群組成。建立組的人通常是該使用者組的第一個管理員。使用者組有三種類型:
使用者定義組:這種使用者組用於在系統中共用檔案的人員,例如:同一部門中或同一項目下工作的人員。通常情況下這種使用者不要建立太多。
系統管理員組:這種使用者組對應於 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/shBourne 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:20sv1166a.itsc.aus)
root pts/2 Nov 23 10:45sv1121c.itsc.aus)
root pts/3 Nov 23 10:48sv1121c)
2)顯示自己的使用者名稱:
# who am I
root pts/3 Nov 23 10:48sv1121c)
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->”
oracle視頻教程請關注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html