Posted on 2009-08-13 18:08
Prayer 閱讀(1888)
評論(1) 編輯 收藏 引用 所屬分類:
Shell 、
LINUX/UNIX/AIX
su和login命令的不同在于login會把當前用戶注銷以新用戶身份重新登錄。不帶參數直接su,相當于su root。
如果從root身份su other,則不必輸入口令。su成功后會產生一個新的shell進程,用id命令可以看到自己現在的uid和gid已經得到轉變。用ps命令可以看到這個新shell使用的是/etc/passwd中對應的shell。注意,如
果su sys,一般因為sys這類用戶在/etc/passwd中沒有對應的shell,則使用/usr/bin/sh。可以通過exit命令退
出su狀態,也可以按^D。順便說一下,如果set ignoreeof,則^D被屏蔽,unset后又可以。
su - username將模擬一次登錄,所有的初始化文件將得到解釋執行。關于su的控制文件是/etc/default/su,所有的su動作都將被記錄到/var/adm/sulog。
例如:
su bin將成為用戶bin,但環境變量 保持不變。
su - bin將等同于telnet -l bin localhost的效果。
su - root -c "more /etc/shadow"將提示你輸入口令,
然后以root身份看shadow文件,然后立即回到當前用戶,并不停留在root下。