名前 | 機能説明 | コマンドの構文 | ラベルの入力と表示の規則 | 使用例 | Trusted Solaris の違い | Trusted Solars での変更点 | 属性 | 関連項目 | 診断 | 注意事項
本セクションで説明するシステム保守および管理用 Trusted SolarisTM コマンドは、次のとおりです。
Trusted Solaris 環境に固有で、ここから派生したコマンド。たとえば、adminvi(1M) コマンドを管理者やその他のユーザーが使用すると、セキュリティリスクをともなう一部の vi 操作を避けながらファイルを編集できます。
Trusted Solaris のセキュリティポリシーに従って動作するように変更された SunOS
5.7 コマンド (たとえば、mount(1M))。変更されたコマンドのマニュアルページは書き直され、Trusted Solaris 環境でのコマンドの動作に当てはまらない情報は削除されました。変更されたマニュアルページには、Trusted Solaris で追加された新しい機能、オプション、引数などの説明も追加されています。
Solaris 7 リリースから変更されていない SunOS
5.7 コマンド (たとえば、ln(1))。
Trusted Solaris 環境では特定のコマンドがインストールされても、すべてのユーザーがそのコマンドを使用できるように構成されるとは限りません。サイトのセキュリティ管理者が一部のコマンドを制限したり、実行プロファイルを使用してコマンドのセキュリティ属性を変更している場合があります。(セキュリティ属性、実行プロファイル、その他の新しい Trusted Solaris 用語は、Intro(1) のセクションで定義され、さらに Trusted Solaris 管理の概要 および Trusted Solaris 管理の手順 で説明されています。実行プロファイルに特定のコマンドを持っていないユーザーは、そのコマンドを使用できません。コマンドがユーザーの実行プロファイルにあっても、期待通りにそのコマンドが動作しないことがあります。これは、実行プロファイルに指定されているラベル範囲や他のコマンドのセキュリティ属性が、そのコマンドの動作を制限している場合があるからです。このセクションに記載されているコマンドが完全に動作しない、または期待通りに動作しない場合、セキュリティ管理者に問い合わせてください。
コマンドが仮想ファイルシステムのアーキテクチャに合わせて再構成されているため、同じ名前で始まる複数のマニュアルページが存在します。 たとえば、mount の名前に関しては、mount(1M)、 mount_hsfs(1)、 mount_nfs(1M)、 mount_tmpfs(1M)、 mount_ufs(1) のように 6 つのマニュアルページが存在します。 このような場合、最初のマニュアルページにだけ、 その総称コマンドの構文およびオプションが説明されています。 つまり、これらのオプションは、 すべてのファイルシステムのタイプに適用されるということです。 以降のマニュアルページには、そのコマンドの機能のうちファイルシステムタイプに特有な部分が説明されています。このようなマニュアルページ名には、下線( _ ) とそのコマンドに関係するファイルシステムのタイプ名が伴われています。 管理者は、このようなファイルシステムに特有な部分を直接呼び出してはなりません。総称コマンドは、すべてのファイルシステムに共通なインタフェースを 提供します。ですから、ファイルシステムタイプに特有なマニュアルページは、個々のコマンドを説明していると考えるべきではなく、コマンドのファイルシステムに特有な面を詳細に述べたものだと考えるべきです。
name [option(s)] [cmdarg(s)]
実行可能ファイルの名前です。
- noargletter(s) or,
- argletter< >optarg
< >は、空白 (オプション)。
引数が必要でないオプション 1 文字を表します。
引数が必要なオプション 1 文字を表します。
argletter に必要な引数 (文字列) です。
パス名 (または他のコマンドの引数)。 - だけを指定すると標準入力を表します。
UNIX シェルにおいてコマンド行にラベルを入力する場合は、次の規則に従います。グラフィカルユーザインタフェースでラベルを入力する場合は、Intro(1) を参照してください。構成ファイルにラベルを入力する場合は、Intro(4) を参照してください。
機密ラベル (SL)、情報ラベル (IL)、認可上限をフォント default で入力するときは、次の形式に従います。
{ + } { classification } { { +|- }word } ... |
システムは常にラベルを大文字で表示します。ユーザはラベルを大文字と小文字の任意の組み合わせで入力できます。
ラベルの格付け部分は、label_encodings(4) で定義されている有効な格付け名でなければなりません。label_encodings で定義されていれば、格付け名に空白や句読点を埋め込むことができます。格付け名は短い形式でも長い形式でも表示できます。
ラベルで使用される単語 (コンパートメントとマーキング) は、 label_encodings で定義されている有効な語句でなければなりません。 label_encodings で定義されていれば、単語に空白や句読点を埋め込むことができます。
語句は短い形式でも長い形式でも表示できます。語句は任意の順序で指定できます。ただし、単語は左から右に処理されるため、お互いに衝突する単語がある場合は、左側にある語句が優先されます。
既存のラベルを変更するときにプラス記号とマイナス記号を使用すれば、単語に関連付けられたコンパートメントとマーキングをオンまたはオフに切り替えることができます。
CMW ラベルは、文字では、次の形式で表されます。
{ INFORMATION LABEL } { [ SENSITIVITY LABEL ] } |
INFORMATION LABEL には情報ラベルが SENSITIVITY LABEL には機密ラベルが表示されます。 中括弧で囲まれた項目はオプションです。先行と後続の空白は無視されます。項目は、空白、タブ、コンマ、スラッシュ (/) で区切ることができます。
コマンド行では、複数の語句からなるラベルは二重引用符で囲みます。これは、引用符がないと、空白で区切られた 2 番目の単語または文字が 2 番目の引数として解釈されるためです。
$ setlabel -i "C A B" somefile $ setlabel -s SECRET somefile |
[ と ] の文字を含むラベルは二重引用符で囲みます。これは、シェルがファイル名置換でこれらの文字を使用することを抑止するためです。
$ setlabel -s SECRET somefile |
大文字と小文字の任意の組み合わせを使用できます。ラベル中の項目は、空白、タブ、コンマ、スラッシュ (/) で区切ることができます。他の句読点は使用しないでください。
$ setlabel "CONFIDENTIAL[ts a b]" somefile $ setlabel "confidential[ts,a,b]" somefile $ setlabel "confidential[ts/a b]" somefile |
完全な CMWラベルを入力するときは、最初にIL を入力して、次に SL を角括弧で囲んで入力します。
Information Label[Sensitivity Label]
SL を設定するコマンドオプションで SL を入力するときは、SL を角括弧で囲む必要はありません。
$ setlabel -s "TOP SECRET A B" somefile |
somefile の SL を SECRET A に設定するには、次のように入力します。
$ setlabel "[Secret a]" somefile |
somefile の SL にあるコンパートメント B を表示にするには、次のように入力します。
$ setlabel -s +b somefile |
somefile の SL にあるコンパートメント A を非表示にするには、次のように入力します。
$ setlabel -s -A somefile |
スーパーユーザの責任と特権は複数の管理役割に分割されました。Trusted Solaris システム用に変更されていないマニュアルページにおいて、あるコマンドまたはオプションを実行するためにスーパーユーザが必要であると述べている場合、その代わりに 1 つ以上の特権が必要であることを覚えておいてください。 サイトのセキュリティ管理者は、特権デバッグ (runpd(1M) を参照) を実行して、どの特権が必要であるかを調べることができます。そして、コマンドとそのコマンドを使用するように設定されたユーザが、サイトのセキュリティポリシーに違反しないように特権を利用できるかどうかを見極めた後、コマンドに特権を与えるかどうかを決定できます。
アクセス制限の適用を免れ、特別なコマンドを実行し、他のユーザは利用できないコマンドオプションを使用するという UNIX のスーパーユーザの能力は、プロファイルメカニズムによって置き換えられました。このメカニズムでは、セキュリティ管理者が、実行プロファイルを使用して、さまざまなユーザに異なるコマンドのセットを割り当て、異なる特権をコマンドに割り当てます。あるコマンドまたはコマンドのオプションが成功するために特権が必要であるとき、その特権は必須特権と呼ばれています。この必須特権をセキュリティ管理者がユーザの実行プロファイルで与えていない場合、そのコマンドは動作しません。必須特権は、マニュアルページの次のような文章において「しなければなりません」という表現で示されています。「ifconfig(1M) コマンドは、ネットワークインタフェースを変更するための sys_net_config
特権を持っていなければなりません。」
また、コマンドがセキュリティポリシー内で動作するように設計されているのに、DAC または MAC チェックを通過しなかったために、そのコマンドが失敗した場合、セキュリティ管理者は、その自由裁量によって、無効化特権を割り当てることができます。マニュアルページでは、アクセス制限を無効にするために使用できる特権の名前は「エラー」節にあります。次に、ファイルまたはディレクトリの DAC または MAC の制限が適用されないようにするための無効化特権を示します。
DAC 無効化特権は file_dac_read
と file_dac_write
です。ユーザが DAC アクセス権をファイルに持っていない場合、セキュリティ管理者は、読み取り権または書き込み権、またはその両方が希望されているのかどうかによって、これらの特権の 1 つまたは両方をコマンドに割り当てることができます。MAC 無効特権は file_mac_read
と file_mac_write
です。ユーザが MAC アクセス権をファイルに持っていない場合、セキュリティ管理者は、読み取り権または書き込み権、またはその両方が希望されているのかどうかによって、これらの特権の 1 つまたは両方をコマンドに割り当てることができます。
無効化特権を割り当てる以外の方法で、DAC または MAC 制限の適用を回避できます。たとえば、セキュリティ管理者は、特権の使用を避けるために、そのコマンドが別のユーザ ID (通常、スーパーユーザー ID 0) またはグループ ID で実行されるように指定できます。このようにすると、ファイルまたはディレクトリへのアクセスはその ID のアクセス権や ACL に基づいて判断されるため、そのコマンドの実行が許可されます。
デフォルトのシステムで出荷される実行プロファイルにおいて、どのように特権がコマンドで利用できるかを調べ、どの処理、コマンド、および特権が各役割に割り当てられているかを正確に調べる方法については、『Trusted Solaris 管理の手順』を参照してください。
また、ユーザのサイトにおいてどの役割が構成されているか、また、どの役割がユーザのサイトのセキュリティポリシーに適合するように再構成されているかを調べる方法については、セキュリティ管理者に問い合わせてください。
Trusted Solaris 環境では、コマンドが期待どおりに動作しないことがあります。これは、Trusted Solaris の管理者が、各ユーザがコマンドにアクセスできる条件を制限したり、あるユーザからのコマンドのアクセスを制限できるためです。
印刷版マニュアル版には、Trusted Solaris の新規内容および変更されたマニュアルページしか含まれていません。ただし、オンライン版のマニュアルページには、ベースとなる製品と Trusted Solaris の両方のマニュアルページが入っていて、man コマンドおよび AnswerBook2
で表示できます。マニュアルページのヘッダーは、印刷版マニュアルのユーザーが参照するマニュアルページの位置がわかるように分割されています。
ユーザの代わりに動作しているプロセスがファイルまたはディレクトリにアクセスしようとするときに実行される通常の UNIX DAC チェックの他に、必須アクセスチェックも通過しなければなりません。考えられるさまざまなアクセスの失敗に対して、セキュリティ管理者は、その自由裁量によって、特定の無効化特権をコマンドに割り当てることができます。
変更されたマニュアルページに「Trusted Solaris での変更の点」がある場合、そこに主な変更詳細については、「Trusted Solaris における変更の要約」だけでなく、マニュアルページ全体をお読みください。
このセクションにリストされた属性については attributes(5) のマニュアルページを参照してください。
関連項目 セクションの Trusted Solaris 7 リファレンスマニュアル ヘッダーにリストされているコマンドは、Trusted Solaris 環境で変更または追加されたコマンドです。関連項目 セクションの SunOS 5.7 リファレンスマニュアル ヘッダーにリストされているコマンドは、Trusted Solaris 環境で変更されていないコマンドです。印刷版マニュアルを使用している場合、Trusted Solaris 環境で変更されていないコマンドについては、SunOS 5.7 リファレンスマニュアル を参照してください。
Trusted Solaris 管理の概要 および Trusted Solaris 管理の手順 マニュアル。
終了時、すべてのコマンドは、正常に終了すると 0 を返します。ゼロでない値を返した場合、間違った引数を指定した、不良で受け入れることができないデータを指定した、その他、現在はうまく処理できないなどの障害を示します。このような値は、「終了コード」、「終了ステータス」、「リターンコード」など さまざまな呼ばれ方をします。そして、特別な使い方がある場合にかぎって説明されます。
残念なことに、すべてのコマンドが標準の講文を厳守しているわけではありません。
名前 | 機能説明 | コマンドの構文 | ラベルの入力と表示の規則 | 使用例 | Trusted Solaris の違い | Trusted Solars での変更点 | 属性 | 関連項目 | 診断 | 注意事項