setsenv コマンド

目的

ユーザーの保護状態の環境をリセットします。

構文

setsenv [ - ] NewEnvironment

説明

setsenv コマンドは、ログインしている間に保護状態環境をリセットします。 保護状態環境は 1 セットの変数として定義されます。 これらの変数はカーネル内に保持され、SETUINFO システム・コールによってのみ変更できます。 setsenv コマンドは、NewEnvironment パラメーターで指定された変数を使用します。 このパラメーターは、ブランク・スペースで区切られた EnvironmentVariable=Value 定義で構成されています。 環境変数の情報については、environment ファイルを参照してください。

以下の環境変数は、setsenv コマンドでリセットできません。

項目 説明
NAME 現在認証されているユーザー名。これは現行プロセスの実ユーザー ID に対応します。
TTY ログインした端末名。 これはプロセスの初期制御端末に対応します。 この変数は完全ログイン せずに開始されたプロセスに対しては設定できません。 完全ログインとは、getty コマンドで開始したログインのことです。
LOGNAME 現行セッションが端末ログイン・プログラムから始動された場合、ログインに使用した名前。 セッションが端末から始動されなかった場合は、この変数は設定されません。

定義された変数を使用せずに setsenv コマンドを入力した場合は、現在の保護状態が表示されます。 setsenv コマンドでは、制御端末のセキュリティー特性は変更されません。

setsenv コマンドを実行すると、 現行シェルが置き換えられ、新規のシェルが与えられます。 このコマンドは、正常に完了したかどうかに関係なくシェルを置き換えます。 したがって、このコマンドはエラー・コードを戻しません。

フラグ

項目 説明
- ユーザーがシステムにログインしたように、環境を再初期化します。 このフラグがなければ、環境は変更されません。

セキュリティー

アクセス制御: このコマンドは、標準ユーザー・プログラムでなければなりません。 このコマンドは、トラステッド・コンピューティング・ベース (TCB) 内のプログラムとしてインストールします。このコマンドは、 setuid (SUID) ビットが設定されている root ユーザーが所有しなければなりません。

アクセスされるファイルは以下のとおりです。

モード ファイル
r /etc/environment
r /etc/security/environ

監査イベントは以下のとおりです。

イベント 情報
USER_SetEnv 新規の環境文字列

  1. 現行環境変数を表示するには、以下のように入力します。
    setsenv
  2. PSEUDO=tom 保護環境変数を追加するには、以下のように入力します。
    setsenv PSEUDO=tom 
    この例では、PSEUDO 保護環境変数用のユーザー名が設定されます。

ファイル

項目 説明
/usr/bin/setsenv setsenv コマンドへのパスを指定します。
/etc/environment 各ユーザー用の環境情報が入っています。
/etc/security/environ 各ユーザー用の特権環境情報が入っています。