Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

newgrp(1)

名前

newgrp - 新たなグループへのログイン

形式

コマンド

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

sh 組み込み

newgrp [argument]

ksh88 組み込み

*newgrp [argument]

ksh 組み込み

+newgrp [argument]

説明

コマンド

newgrp コマンドは、ユーザーの実および実効グループ ID を変更してユーザーを新たなグループへログインさせます。ユーザーはログイン状態を保ち、またカレントディレクトリも変わりません。newgrp を実行すると、常にシェルは新たなものに入れ替えられます。これはコマンドが、グループ名不明のためにエラーで終了した場合でも同様です。

エクスポートされない変数は、NULL またはデフォルト値にリセットされます。エクスポートされた変数は、その値を保持します。PS1、 PS2、 PATH、 MAIL、 HOME のようなシステム変数は、システムやユーザーによりエクスポートされないかぎり、デフォルト値にリセットされます。たとえば、ユーザーが主プロンプト文字列として、デフォルトの $ の代わりに PS1 を使っていて、PS1 をエクスポートしなかった場合、ユーザーの PS1 はデフォルト文字列の $ に設定されます。これは newgrp がエラーで終了したとしても同様です。なおシェルコマンドの export (sh(1)set(1) を参照) は、変数をエクスポートするための方法で、これを使うと、新たなシェルを呼び出す際に割り当て済みの変数値を保持できます。

オペランドとオプションをすべて省略した場合、newgrp は、ユーザーのグループ ID (実 ID と実効 ID) を、ユーザーのパスワードファイルエントリに指定されているグループに戻します。この方法を使うと、いったん newgrp コマンド実行により変更した状態を、元に戻すことができます。

グループがパスワードを持っていて、ユーザーがそのグループのメンバーである旨が /etc/group ファイルに定義されていない場合、パスワードの入力が要求されます。グループ用にパスワードを生成する唯一の方法は、まず passwd(1) を実行し、さらに /etc/shadow から /etc/group へパスワードを「カット & ペースト」することです。グループ用パスワードは、今日ではあまり使われません。

sh 組み込み

exec newgrp argument を実行した場合と同等です。argumentnewgrp コマンドのオプションまたはオペランド、もしくはその両方を表します。

ksh88 組み込み

exec /bin/newgrp argument を実行した場合と同等です。argumentnewgrp コマンドのオプションまたはオペランド、もしくはその両方を表します。

このマニュアルページでは、1 つまたは 2 つの * (アスタリスク) が先頭に付加されている ksh88(1) コマンドは、次のような特殊な扱いを受けます。

  1. コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。

  2. 入出力のリダイレクトは変数代入後に行われます。

  3. エラーが発生すると、それを含むスクリプトは中止されます。

  4. 変数代入形式で、** を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は = 符号のあとに実行され、ワード分割とファイル名生成は実行されません。

ksh 組み込み

exec /bin/newgrp argument を実行した場合と同等です。argumentnewgrp コマンドのオプションまたはオペランド、もしくはその両方を表します。

このマニュアルページでは、1 つまたは 2 つの + (プラス符号) が先頭に付加されている ksh(1) コマンドは、次のような特殊な処理を受けます。

  1. コマンドが完了しても、コマンドの直前の変数代入リストは依然として有効です。

  2. 入出力のリダイレクトは変数代入後に行われます。

  3. エラーが発生すると、それを含むスクリプトは中止されます。

  4. これらは有効な関数名ではありません。

  5. 変数代入形式で、++ を先頭に持つコマンドに続くワードは、変数代入と同一の規則で展開されます。つまり、チルド置換は = 符号のあとに実行され、フィールド分割とファイル名生成は実行されません。

オプション

次のオプションがサポートされています。

–l | -

環境を、ユーザーが実際に新グループのメンバーとしてログインした場合に得られるものに変更します。

オペランド

次のオペランドがサポートされています。

group

グループデータベースから得られるグループ名、または負でない数値のグループ ID。実グループ ID と実効グループ ID として新たに用いるグループ ID を指定します。group が負でない数値で、グループ名としてグループデータベースに存在している (getgrnam(3C) を参照) 場合、そのグループ名に対応した数値グループ ID が新たなグループ ID として用いられます。

argument

shksh88 でのみ使用。newgrp コマンドのオプションまたはオペランド、もしくはその両方。

環境変数

newgrp の実行に影響を与える次の環境変数についての詳細は、environ(7) を参照してください。LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、および NLSPATH。

終了ステータス

newgrp が新たなシェル実行環境を生成できた場合、グループ ID の変更が正常終了したかどうかにかかわらず、終了ステータスはシェルの終了ステータスと同じになります。環境が生成できなかったとき、次の終了値が返されます。

>0

エラーが発生しました。

ファイル

/etc/group

システムグループファイル

/etc/passwd

システムパスワードファイル

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

/usr/bin/newgrp、ksh88、sh

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
確実
標準
standards(7) を参照してください。

ksh

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
不確実

関連項目

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