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 | 新規の環境文字列 |
例
- 現行環境変数を表示するには、以下のように入力します。
setsenv
- PSEUDO=tom 保護環境変数を追加するには、以下のように入力します。
この例では、PSEUDO 保護環境変数用のユーザー名が設定されます。setsenv PSEUDO=tom
ファイル
項目 | 説明 |
---|---|
/usr/bin/setsenv | setsenv コマンドへのパスを指定します。 |
/etc/environment | 各ユーザー用の環境情報が入っています。 |
/etc/security/environ | 各ユーザー用の特権環境情報が入っています。 |