Go to main content

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

印刷ビューの終了

更新: 2018年8月8日
 
 

sandbox (1)

名前

sandbox - は、制限付き環境内でプログラムを実行します

形式

sandbox -s sandboxname [command]
sandbox [-n] [-l clearance] [command]

説明

sandbox コマンドは、プログラムを制限付き環境内で実行するために使用できます。デフォルトでは、このコマンドはプロセス認可上限を低下させて制限付きシェルを起動します。

–s オプションを使用して sandboxname が指定された場合、コマンドは、指定されたサンドボックスに関連付けられたプロセス属性およびホームディレクトリで開始されます。このようなサンドボックスは、sandboxadm(8) コマンドを使用して作成されます。サンドボックスを開始することは特権のない操作ですが、呼び出し元のプロセスは、適切なユーザー ID と認可を持つ必要があります。概要については、sandboxing(7) を参照してください。

このセクションの残りの部分は、sandboxname が指定されないときに適用されます。sandbox コマンドは、機密ファイルが含まれていないユーザーのホームディレクトリのサブディレクトリで実行する必要があります。

制限付きシェルは、新しいセッション内で起動されます。デフォルトでは、現在の基本特権セットを低下させます。proc_info および proc_session のプロセス特権を削除して、ユーザーとして実行中のほかのプログラムへのアクセスを防ぎます。プログラムが現行ディレクトリまたは /usr ディレクトリのいずれにもない場合、プログラムの実行を防ぐために proc_exec 特権に関する拡張ポリシーを設定します。

–n オプションが指定された場合、ネットワークのあらゆる使用を防ぐために net_access 特権も削除します。

デフォルトでは、ユーザーのプロセス認可上限を ADMIN_LOW に低下させて、マルチレベル ZFS データセット内のファイルのようなラベル付けされたファイルへのアクセスを防ぎます。また、ユーザーは認可上限によって支配されている任意のラベルを指定できます。

sandbox を開始する前に、ユーザーは setlabel(1) コマンドを使用して、ホームディレクトリ内のファイルおよびディレクトリを更新し、サンドボックス内で実行中のプロセスにアクセスできないようにすることができます。

使用例 1 制限付き環境内での Firefox の実行
~alice:$ cd playground
~alice/playground:$ sandbox firefox
使用例 2 プロセス資格の検査
       ~alice:$ cd playground
	~alice/playground:$ sandbox -n
	~alice/playground:$ ppriv $$
	103889: /usr/bin/bash --login
	flags = PRIV_XPOLICY
		Extended policies:
			{proc_exec}:/export/home/alice/playground
			{proc_exec}:/usr/*
		E: basic,!net_access,!proc_exec,!proc_info,!proc_session
		I: basic,!net_access,!proc_exec,!proc_info,!proc_session
		P: basic,!net_access,!proc_exec,!proc_info,!proc_session
		L: all
	~alice/playground:$ plabel $$
	103889: ADMIN_LOW

属性

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

属性タイプ
属性値
使用条件
system/file_labeling

関連項目

plabel(1), setlabel(1), privileges(7), sandboxing(7), sandboxadm(8), setlabel(1)