setsenv [ - ] NewEnvironment
登录时,setsenv 命令复位受保护的状态环境。受保护的状态环境定义为一个变量集。这些变量保留在内核中,只有 SETUINFO 系统调用才能修改它们。setsenv 命令使用 NewEnvironment 参数指定的变量。变量由一个空格分隔的 EnvironmentVariable= Value 定义构成。关于环境变量的信息,请参阅 environment 文件。
您无法用 setsenv 命令复位以下环境变量:
NAME | 您最后认证的用户名称。它与当前进程中实用户标识相符。 |
TTY | 您登录的终端名称。它与进程的初始控制终端相符。不使用 full login 初始化的进程,就无法设置这个变量。完全登录是由 getty 命令初始化的登录。 |
LOGNAME | 如果是从终端登录程序启动的话,就是当前会话登录名称。如果会话不是从终端启动的话,则不能设置这个变量。 |
如果您输入的 setsenv 命令不包含任何已定义的变量,则它会显示出当前受保护的状态。setsenv 命令不能改变控制终端的安全性特征。
当您运行 setsenv 命令时,它会替换当前的 shell 并给出一个新的 shell。不管是否成功完成,该命令都会替换您的 shell。因此,此命令不返回错误代码。
- | 重新初始化环境,就象用户刚刚登录到系统那样。否则,不能更改环境。 |
访问控制:此命令应该是一个标准的用户程序。该命令应该作为一个程序安装在“可信计算库”(TCB)上。带有 setuid(SUID)位设置的 root 用户应该拥有此命令。
文件访问:
方式 | 文件 |
---|---|
r | /etc/environment |
r | /etc/security/environ |
审计事件:
事件 | 信息 |
---|---|
USER_SetEnv | 新的环境字符串 |
/usr/bin/setsenv | 给 setsenv 命令指定路径。 |
/etc/environment | 包含每位用户的环境信息。 |
/etc/security/environ | 包含每位用户的特权环境信息。 |
login 命令、setgroups 命令、su 命令、tsm 命令。
getuinfo 子例程、setpenv 子例程、usrinfo 子例程。
关于用户的标识和认证、自主访问控制、可信计算库以及审计的更多信息,请参阅《AIX 5L V5.2 安全指南》中的『独立系统安全性』。