su [ - ] [ Name [ Argument ... ] ]
su 命令将用户凭证更改为 root 用户凭证或由 Name 参数指定的用户,然后开始一个新的会话。用户名可能包含 DCE 单元规范。
任何由 Arguments 参数指定的变量(例如标志或参数),必须与 Name 参数指定的用户所定义的登录 shell 相关联。将这些变量传递到指定用户的登录 shell。例如,如果用户 Fred 的登录 shell 是 /usr/bin/csh, 则您可以包含 csh 命令的任何标志,例如 -f 标志。当 su 命令运行时,它将 -f 标志传递到 csh 命令。当 csh 命令运行时,-f 标志省略 .cshrc 启动脚本。
以下功能是由 su 命令执行的:
这些功能按照显示的顺序执行。如果某个功能失败,将不执行以后的功能。要获取这些功能的语义,请参阅 ckuseracct、ckuserID、authenticate、setpcred 和 setpenv 子例程。
要恢复以前的会话,请输入 exit 或按下 Ctrl-D 按键顺序。这项操作结束由 su 命令调用的 shell,并使您返回以前的 shell、用户标识和环境。
如果 su 命令是从 /usr/bin/tsh shell(可信 shell)运行的,您将从那个 shell 退出。 su 命令不更改控制终端的安全性特征。
每次执行 su 命令时,将在 /var/adm/sulog 文件中产生一个条目。/var/adm/sulog 文件记录以下信息:日期、时间、系统名称以及登录名。 /var/adm/sulog 文件也记录登录尝试是否成功:+(加号)表示登录成功,-(减号)表示登录失败。
- | 指定要设置的进程环境,就好像用户已经使用 login 命令登录系统。当前环境中无任何东西传播到新的 shell 中。 |
访问控制:所有用户必须拥有对该命令的执行(x)权限。该命令必须是 setuid,使 root 用户可以访问认证信息并具有可信计算库属性。
访问的文件:
方式 | 文件 |
---|---|
r | /etc/passwd |
r | /etc/group |
r | /etc/environment |
r | /etc/security/user |
r | /etc/security/passwd |
r | /etc/security/limits |
r | /etc/security/environ |
w | /var/adm/sulog |
审计事件:
事件 | 信息 |
---|---|
USER_Su | 用户名 |
su
该命令使用有效用户标识和 root 用户特权来运行子 shell。将要求您输入 root 用户密码。按下 End-of-File(文件结束符)、Ctrl+D 按键顺序来结束子 shell,并且返回到原始 shell 会话和特权。
su jim
该命令使用有效用户标识和 jim 特权来运行子 shell。
su root "-c /usr/sbin/backup -9 -u"
这将在 root 用户的缺省 shell 内使用 root 用户权限来运行 backup 命令。在查询要执行的命令时,必须给出正确的 root 用户密码。
/usr/bin/su | 包含 su 命令。 |
/etc/environment | 包含用户环境值。 |
/etc/group | 包含基本组属性。 |
/etc/passwd | 包含基本用户属性。 |
/etc/security/user | 包含用户的扩展属性。 |
/etc/security/environ | 包含用户的环境属性。 |
/etc/security/limits | 包含用户的进程资源限制。 |
/etc/security/passwd | 包含密码信息。 |
/var/adm/sulog | 包含登录尝试的信息。 |
bsh 命令、csh 命令、getty 命令、ksh 命令、login 命令、setgroups 命令、setsenv 命令、tsh 命令和 tsm 命令。
authenticate 子例程、ckuseracct 子例程、ckuserID 子例程、setpcred 子例程、setpenv 子例程。
关于用户的识别和认证、任意访问控制、可信计算库以及审计的详细信息,请参阅《AIX 5L V5.2 安全指南》中的『安全性管理』。