newgrp 命令
用途
更改用户的实型组标识。
语法
描述
newgrp 命令更改用户的实型组标识。 运行该命令时,系统将使您处于一个新的 shell 中,并且将您的实型组名称更改为用 Group 参数指定的组。 缺省情况下,newgrp 命令将您的实型组更改为 /etc/passwd 文件中所指定的组。
注: newgrp 命令不会从标准输入中获取输入,并且无法从脚本中运行。
newgrp 命令只标识组名称,不标识组标识号。 您的更改仅对当前会话有效。 您只能将您的实型组名称更改为您已经成为其成员的组。 如果您是 root 用户,可以将您的实型组更改为任意组(不管您是不是该组的成员)。
注: 运行 newgrp 命令时,系统始终将 shell 替换为新的 shell。 不管命令是否成功,该命令都会替换 shell。 因此,命令不会返回错误代码。
标志
| 项 | 描述 |
|---|---|
| - | 将环境更改为新组的登录环境。 |
| -l | 表示和 - 标志相同的值。 |
安全性
访问控件:此命令应作为程序安装在可信计算库 (TCB) 中。 带有 setuid (SUID) 位设置的 root 用户应该拥有此命令。
退出状态
如果 newgrp 命令成功地创建了一个新的 shell 执行环境,那么不管组标识是否更改成功,退出状态将是当前 shell 的退出状态。 否则,返回以下退出值:
| 项 | 描述 |
|---|---|
| > 0 | 发生错误。 |
示例
- 要将当前 shell 会话的实际组标识更改为admin,请输入:
newgrp admin - 要将真实组标识更改回原始登录组,请输入:
newgrp
文件
| 项 | 描述 |
|---|---|
| /etc/passwd | 表示密码文件;包含用户标志。 |