su 命令 更改与会话关联的用户标识。

su 命令

用途

更改与会话关联的用户标识。

语法

su [ ] [ Name [ Argument ... ] ]

描述

su 命令将用户凭证更改为 root 用户凭证或由 Name 参数指定的用户,然后开始一个新的会话。用户名可能包含 DCE 单元规范。

注:
当转换为 DCE 用户时,root 用户不需要满足分布式计算环境(DCE)认证的要求。在这种情况下,该用户不会获得 DCE 凭证。

任何由 Arguments 参数指定的变量(例如标志或参数),必须与 Name 参数指定的用户所定义的登录 shell 相关联。将这些变量传递到指定用户的登录 shell。例如,如果用户 Fred 的登录 shell 是 /usr/bin/csh, 则您可以包含 csh 命令的任何标志,例如 -f 标志。当 su 命令运行时,它将 -f 标志传递到 csh 命令。当 csh 命令运行时,-f 标志省略 .cshrc 启动脚本。

以下功能是由 su 命令执行的:

帐户检查验证用户帐户以确定:该用户帐户存在,已经为 su 命令启用,当前用户是属于被允许使用 su 命令以切换至这个帐户的组,且可以从当前控制终端使用它。
用户认证使用系统定义的主要用户认证方法确认用户身份。如果密码过期,那么用户必须提供新密码。
凭证建立使用用户数据库中的值建立初始用户凭证。这些凭证定义用户对系统的访问权和可记帐性。
会话启动如果指定 - 标志,则 su 命令使用用户数据库和 /etc/environment 文件中的值来初始化用户环境。如果未使用- 标志,则 su 命令不更改目录。

这些功能按照显示的顺序执行。如果某个功能失败,将不执行以后的功能。要获取这些功能的语义,请参阅 ckuseracctckuserIDauthenticatesetpcred 和 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 文件也记录登录尝试是否成功:+(加号)表示登录成功,-(减号)表示登录失败。

注:
仅当用户的  rlogin 和  login 属性在  /etc/security/user 中都设置为  false 时, su 命令的成功使用才会复位  /etc/security/lastlog 文件中的  unsuccessful_login_count 属性。否则, su 命令不会复位  unsuccessful_login_count,因为管理员经常使用  su 命令来修正用户帐户问题。用户能通过本地或远程登录来复位属性。

标志

 

-指定要设置的进程环境,就好像用户已经使用 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用户名

示例

  1. 要获取 root 用户权限,请输入:

     

    su

    该命令使用有效用户标识和 root 用户特权来运行子 shell。将要求您输入 root 用户密码。按下 End-of-File(文件结束符)、Ctrl+D 按键顺序来结束子 shell,并且返回到原始 shell 会话和特权。

  2. 要获得 jim 用户的特权,请输入:

     

    su jim

    该命令使用有效用户标识和 jim 特权来运行子 shell。

  3. 要设置环境,就好像您已作为 jim 用户登录,请输入:
    su  jim
    这将使用 jim 的登录环境来启动子 shell。
  4. 要使用 root 用户权限运行 backup 命令,然后返回到原始 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 子例程。

转自http://study.chyangwa.com/IT/AIX/aixcmds5/su.htm#a248y99c7d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值