Posted on 2009-08-13 18:08
Prayer 阅读(1875)
评论(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下。