システム管理者は、自分自身やユーザーによって意図しないエラーが引き起こされないように防止できます。
制限されたシェルをユーザーに割り当てることもできます。システムのうち各人の作業に必要な部分だけをユーザーに提供するという方法でシェル機能を制限すると、ユーザーエラーを避けることができます。実際、慎重に設定すれば、作業を能率的に行う上で必要な部分以外にユーザーがアクセスできないように制限できます。
そのユーザーがアクセスする必要がないファイルには、限定的なアクセス権を設定できます。
PATH 変数を正しく設定しないと、他人が持ち込んだプログラムを誤って実行し、データを壊したりシステムを損傷したりするおそれがあります。このようなプログラムはセキュリティー上の危険を招くので、「トロイの木馬」と呼ばれます。たとえば、公開ディレクトリの中に別の su プログラムが置かれていると、システム管理者が気づかずに実行してしまう可能性があります。このようなスクリプトは正規の su コマンドとまったく同じに見えます。このようなスクリプトは実行後に自らを削除してしまうため、トロイの木馬が実際に実行されたという証拠はほとんど残りません。
PATH 変数はログイン時に自動的に設定されます。パスは、起動ファイル、すなわち .login、.profile、および .cshrc を通して設定されます。現在のディレクトリ (.) への検索パスを最後に指定すれば、トロイの木馬のようなタイプのプログラムを実行するのを防ぐことができます。スーパーユーザーの PATH 変数には、現在のディレクトリを指定しないでください。
自動セキュリティー拡張ツール (ASET) は、起動ファイルの PATH 変数が正しく設定されているかどうかを調べます。また、PATH 変数にドット (.) エントリが含まれていないか確認します。
標準シェルを使用すると、ユーザーはファイルを開く、コマンドを実行するなどの操作を行うことができます。制限付きシェルを使用すると、ディレクトリの変更やコマンドの実行などのユーザー能力を制限できます。制限付きシェルは、/usr/lib/rsh コマンドで呼び出されます。制限付きシェルは、遠隔シェル /usr/sbin/rsh ではありません。
標準のシェルと異なる点は次のとおりです。
ユーザーはホームディレクトリ内に限定されるため、 cd コマンドを使用してディレクトリを変更できません。したがって、システムファイルを閲覧することはできません。
ユーザーは PATH 変数を変更できないため、システム管理者によって設定されたパスのコマンドしか使用できません。さらに、完全なパス名を使ってコマンドやスクリプトを実行することもできません。
制限付きシェルでは、ユーザーが使用できるシステムファイルを制限できます。このシェルは、特定のタスクを実行するユーザーのために限られた環境を作成します。ただし、制限付きシェルは完全に安全なわけではありません。このシェルの目的は、あくまでも、経験の少ないユーザーが誤ってシステムファイルを損傷するのを防止することです。
制限付きシェルについては、rsh(1M) のマニュアルページを参照してください。このマニュアルページは、man -s1m rsh コマンドで表示できます。
Solaris OS はマルチユーザー環境なので、ファイルシステムのセキュリティーは、システムのもっとも基本的な問題です。ファイルの保護には、従来の UNIX のファイル保護と、より確実なアクセス制御リスト (ACL) との両方が使用できます。
一部のユーザーには特定のファイルの読み取りを許可し、別のユーザーには特定のファイルを変更または削除するアクセス権を与えることができます。一方、あるデータを、どのユーザーからも読み取られないよう設定することもできます。ファイルのアクセス権の設定方法については、第 6 章ファイルアクセスの制御 (作業)を参照してください。