newgrp 命令更改用户的实型组标识符。运行该命令时,系统将使您处于一个新的 shell 中,并且将您的实型组名称更改为用 Group 参数指定的组。缺省情况下,newgrp 命令将您的实型组更改为 /etc/passwd 文件中所指定的组。
注意:newgrp 命令不能从标准输入获得输入,也不能在脚本里运行。
newgrp 命令只标识组名称,不标识组标识号。您的更改仅维持在当前会话中。您只能将您的实型组名称更改为您已经成为其成员的组。如果您是 root 用户,可以把您的实型组更改为任意组(不管您是不是该组的成员)。
注意: 当您运行 newgrp 命令时,系统总会用一个新的 shell 替换您的 shell。不管该命令是否成功运行,它都会替换您的 shell。由于这个原因,该命令不返回错误代码。
- | 将环境更改为新组的登录环境。 |
-l | 表示和 - 标志相同的值。 |
访问控件:该命令应该作为一个程序安装在可信计算基(TCB)中。该命令应该属于拥有 setuid (SUID) 位集的 root 用户。
如果 newgrp 命令成功地创建了一个新的 shell 执行环境,那么不管组标识是否更改成功,退出状态将是当前 shell 的退出状态。 否则,返回如下的出口值:
>0 | 发生错误。 |
/etc/group | |
表示组文件;包含组标识。 | |
/etc/passwd | |
表示密码文件;包含用户标志。 |