手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

newgrp(1)

名称

newgrp - 登录到新组

用法概要

命令

/usr/bin/newgrp [-| -l] [group]

sh Built-in

newgrp [argument]

ksh88 Built-in

*newgrp [argument]

ksh Built-in

+newgrp [argument]

描述

命令

newgrp 命令通过更改用户真实有效的组 ID,将用户登录到新组。用户保留登录状态,当前目录不变。执行 newgrp 时始终会将当前 shell 替换成新的 shell,即使命令因为错误而终止时也是如此(未知组)。

任何未导出的变量都会重置为空或其缺省值。导出的变量保留其值。系统变量(如 PS1、PS2、PATH、MAIL 和 HOME)会重置为缺省值,但系统或用户已导出的系统变量不会重置。例如,当用户的主提示字符串 (PS1) 不是 $(缺省设置),并且未导出 PS1 时,用户的 PS1 会设置为缺省的提示字符串 $,即使 newgrp 因为错误终止时也是如此。请注意,shell 命令 export(请参见 sh(1)set(1))是用于导出变量的方法,以便在调用新 shell 时这些变量可以保留其已有的赋值。

不使用操作数和选项时,newgrp 会将用户真实有效的组 ID 恢复为在用户的口令文件条目中指定的组。这是消除早期 newgrp 命令影响的一种方式。

如果组有口令,并且 /etc/group 中未将用户列为该组的成员,则需要提供口令。为组创建口令的唯一方法是使用 passwd(1),然后将口令从 /etc/shadow 剪切并粘贴到 /etc/group。组口令已废弃,不会经常使用。

sh Built-in

等效于 exec newgrp argument,其中 argument 表示 newgrp 命令的选项和/或操作数。

ksh88 Built-in

等效于 exec /bin/newgrp argument,其中 argument 表示 newgrp 命令的选项和/或操作数。

本手册页中,前面带有一个或两个 *(星号)的 ksh88(1) 命令会通过以下方式进行特殊处理:

  1. 命令完成时,该命令前面的变量赋值列表仍然有效。

  2. 在变量赋值之后处理 I/O 重定向。

  3. 脚本中包含的错误会导致其中止。

  4. 如果字的后面是前面加有 ** 的命令且字为变量赋值的格式,则使用与变量赋值相同的规则扩展这些字。这表示在 = 符号之后执行波浪号替换,并且不执行字拆分和文件名生成。

ksh Built-in

等效于 exec /bin/newgrp argument,其中 argument 表示 newgrp 命令的选项和/或操作数。

在此手册页上,前面带一个或两个 +(加号)的 ksh(1) 命令会通过以下方式进行特殊处理:

  1. 命令完成时,该命令前面的变量赋值列表仍然有效。

  2. 在变量赋值之后处理 I/O 重定向。

  3. 脚本中包含的错误会导致其中止。

  4. 它们不是有效的函数名称。

  5. 如果字的后面是前面加有 ++ 的命令且字为变量赋值的格式,则使用与变量赋值相同的规则扩展这些字。这意味着将在 = 符号之后执行波浪号替换,并且不执行字段分割和文件名生成。

选项

支持以下选项:

–l |

将环境更改为用户以新组成员身份实际重新登录时应有的环境。

操作数

支持下列操作数:

group

组数据库中的组名称,或者非负数字组 ID。指定要将真实有效的组 ID 设置成的组 ID。如果 group 是一个非负数字字符串,并且以组名称的形式存在于组数据库中(请参见 getgrnam(3C)),则使用与该组名称关联的数字组 ID 作为组 ID。

argument

仅限 shksh88newgrp 命令的选项和/或操作数。

环境变量

有关影响 newgrp 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

退出状态

如果 newgrp 成功创建了新的 shell 执行环境,那么,不管是否成功更改了组标识,退出状态都是 shell 的退出状态。否则,返回以下退出值:

>0

出现错误。

文件

/etc/group

系统组文件

/etc/passwd

系统口令文件

属性

有关下列属性的说明,请参见 attributes(5)

/usr/bin/newgrp, ksh88, sh

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)
标准
请参见 standards(5)

ksh

属性类型
属性值
可用性
system/core-os
接口稳定性
Uncommitted(未确定)

另请参见

login(1)ksh(1)ksh88(1)set(1)sh(1)Intro(3)getgrnam(3C)group(4)passwd(4)attributes(5)environ(5)standards(5)