Trusted Solaris システムの設定時には、2 つのユーザーアカウントが設定されており、これらのアカウントは 2 つの管理的役割になり「インストールチーム」として共同作業を行います。この章では、これ以外のすべてのユーザーアカウントの設定に必要なタスクの実行方法のうち、マニュアル『Trusted Solaris のインストールと構成』では述べられていないものを説明します。また、ユーザーアカウントの管理に必要となる前提知識も紹介します。この章には次の項目があります。
この章では次の操作手順を説明します。
ユーザーアカウントを設定する場合、以下の前提条件が満たされていることを確認してください。
以下のものが設定されていること
NIS+ マスター
分散システム用のインストールサーバー、ブートサーバー
各ユーザーの主ワークステーション
各ユーザーのホームディレクトリサーバー
各ユーザーの監査サーバー
ユーザーの主ワークステーションに任意のサービスを提供する他のワークステーションやサーバー (メールサーバーなど)
アカウント設定を始める前に、以下の事項を決定するようにしてください。これらはアカウント設定に影響を及ぼします。
以下の事項の中には、標準の Solaris や他の UNIX マシンのネットワークをインストールする場合に決定しなければならない事項と同じものがあります。しかし、ここでは Trusted Solaris 環境を構成することが目的であるため、以下の事項については、自サイトのセキュリティ要件やその他の特殊な要件を十分考慮に入れて決定してください。
ユーザーのログイン名に関する規則の決定
Trusted Solaris では、ユーザーのログイン名は 8 文字と決められています。ログイン名の命名規則の例としては、ファーストネームの後にラストネームのイニシャルを付ける、またはラストネームの後にファーストネームのイニシャルを付けるようにすることなどが挙げられます。
デフォルトのグループの確認、グループを追加するかどうかの決定
新しいグループを定義するには、管理者役割はアプリケーションマネージャの「Solstice 管理 (Solstice_Admin)」フォルダにあるグループマネージャを使います。 Trusted Solaris 版のグループ管理で新しく追加されたフィールドはありませんので、必要に応じて、マニュアル『Solstice AdminSuite 2.1 ユーザーズガイド』を参照してください。
自サイトのセキュリティポリシーに応じて以下の事項を決定し、Trusted Solaris ユーザー管理に必要な情報を収集してください。
パスワード生成の基本的な方法 (自動または手動) の選択
自サイトで、受信者の最下位機密ラベルよりも低い機密ラベルでメールが送られて来た場合の処理方法の決定
sendmail(1M) の設定ファイルである sendmail.cf 内に指定する Trusted Solaris 特有の機密性オプションとして、自サイトのセキュリティポリシーに合った適切な値が設定されるようにしてください。詳細は、第 6 章「メール管理」の 「受信者の最下位ラベルよりも低いラベルのメールに関する Sendmail の処理」および 「ユーザーの最下位ラベルよりも低いラベルのメールに関するメール配送オプションを設定するには」を参照してください。
以下の情報の収集
使用可能な実行プロファイルの一覧
システムに添付されている実行プロファイルは、ユーザーがその変更や拡張を行わないことを前提に設計されています。実行プロファイルの各役割への割り当てとその目的、すべてのコマンド、アクション、各プロファイルに割り当てられている承認の一覧については、付録 A 「プロファイル概要テーブル」を参照してください。
特殊な要件を持つサイトでは、セキュリティ管理者役割が追加のプロファイルを新規作成できます。自サイトに別の実行プロファイルが存在する場合は、それに関する内部文書を参照してください。
使用可能な管理役割および非管理役割の一覧
システムに設定されているデフォルトの役割は、ユーザーがその変更や拡張を行わないことを前提に設計されています。セキュリティ管理者が役割の追加や再設定を行えます。ユーザー用に定義された役割の説明については、自サイトの内部文書を参照してください。
アカウントを必要とする自サイトの社員の名前の一覧。および、各アカウントに割り当てる責任、役割、認可上限、最下位ラベルの一覧。
上記の情報を得るには、自サイトの社員の実施する業務データの収集と、社員に割り当てる認可上限、最下位ラベル、プロファイルについての決定が必要になります。さらに、どの社員が管理役割になれるようにするかの決定も必要です。政府機関の場合、各職員に与えられている職務上の認可上限を検討し、各職員がなることのできる役割と、作業時に使用するラベルを決定することも必要となるでしょう。
作成予定のユーザーアカウントには、ネットワーク上のどことも重複しない一意のユーザー名と UID を割り当てる。
作成予定の各グループには、ネットワーク上のどのグループとも重複しない一意の GID を割り当てる。
ユーザーのログイン時に自動的にシステムがシェル初期化ファイルを読み取るようにするかどうか、これらのファイルの初期内容を変更するかどうかを決定
詳細は、「Trusted Solaris システムにおけるスタートアップファイルの管理」を参照してください。
特定のユーザー用に作成された $HOME ディレクトリ内で最初に作成された SLD 内にあるファイルのうち、どのファイルを 2 番目以降に作成される SLD にコピーまたはリンクするかを決定し、必要なら、/etc/skel (またはその他のスケルトンディレクトリ) 内の .copy_files および .link_files を変更する。
詳細は、「ホームディレクトリ内の複数の SLD にスタートアップファイルを配置するには」を参照してください。
アカウントを閉じる前の 1 回のログイン試行の間、パスワードの入力ミスを許す最大回数をそのままにしておくか、変更するかの決定。
1 回のログイン試行の間、ある一定回数以上のパスワードの入力ミスを続けるとユーザーアカウントを閉じてしまう Trusted Solaris の機能の説明に関しては、第 2 章「その他の作業と操作手順」を参照してください。「パスワード入力ミス許容回数の最大値の変更」には、アカウントの閉鎖につながる入力失敗回数の最大値の設定変更をセキュリティ管理者がどのようにして行うかの説明があります。
Trusted Solaris と Solaris の両方において、rlogin コマンドの使用が許可されている任意のユーザーは、リモートホスト上のそのユーザーのホームディレクトリにある /etc/hosts.equiv ファイルまたは .rhosts ファイルのどちらかにユーザー名またはリモートログインを行おうとしているホストが存在している場合、パスワードを指定せずにリモートホストにアクセスできます。必要であれば、デフォルトシステムのセキュリティ管理者役割は「管理エディタ (Admin Editor)」アクションを使って rhosts ファイルにエントリを作成し、ユーザーがパスワードなしにログインできるように設定できます。テキストエディタを使うことができる任意のユーザーは、そのユーザーのホームディレクトリにある hosts.equiv ファイルに同様なエントリを作成できます。
2 つの Trusted Solaris ホスト間でリモートログインが上記の状態で許可されている場合、リモートログインは現在のログインセッションの拡張であると考えられるため、承認は必要ありません。
また、ユーザーが CDE の「ログイン (Login)」ダイアログボックスから「リモートログイン (Remote Login)」オプションを使う場合も、承認は必要ありません。
その他のすべてのリモートログインでは、「リモートログイン」承認が必要です。
hosts.equiv ファイルまたは .rhosts ファイルにユーザー名またはユーザーのホストが指定されていない場合、rlogin を使うと、ユーザーはパスワードの入力を求められます。
telnet や ftp などのリモートアクセスコマンドを使うとき、ユーザーはパスワードの入力を求められます。
「リモートログイン」承認を含む既存のプロファイルを割り当てたり、新しいプロファイルを作成する方法については、「プロファイルを指定または変更するには」を参照してください。
この章では、ユーザーアカウントの管理に必要な前提知識を紹介します。この章には次のトピックがあります。
デフォルトの Trusted Solaris システムでは、ユーザー管理作業は 2 人の人間が責任を持つものとして設定されているため、1 人の管理者がシステムに関する全体的な管理を受け持つことありません。しかし、このことは、複数の人間が任意の管理役割になれることを意味するため、管理者となるユーザーは、「2 人の人間」が責任を持つのではなく、あくまで「 2 つの役割」が責任を持つことを正確に理解しておく必要があります。
ユーザーアカウントを管理するための各種作業は、次の 2 つのデフォルト役割間で分割されます。
システム管理者 (admin)
セキュリティ管理者 (secadmin)
これら 2 つの管理的役割が持つデフォルトの実行プロファイルで、承認がどのように設定されているかにより、各役割が指定できるアカウントマネージャ内のフィールドの種類が決定されます。ユーザーマネージャに適用される承認については、「アカウント管理作業を行うための承認」を参照してください。
管理者役割は、ユーザーアカウントに関するセキュリティ関係を除くすべての事項を指定することが認められています。これには次の事項が含まれます。
ユーザー ID
グループ ID
ホームディレクトリの場所
ユーザーのデフォルトのシェル
管理者役割に割り当てられる作業は、標準の UNIX システムにおけるシステム管理者 (スーパーユーザー) が行うタスクと同じものです。
セキュリティ管理者は、ユーザーアカウントのセキュリティに関係するすべての事項を指定することが認められています。これには次の事項が含まれます。
パスワードの生成方法
パスワードの有効期間 (パスワードの変更が必要となる最小または最大経過日数、最長非使用日数、有効期限、警告の表示など)
ユーザーの最下位ラベル
ユーザーの認可上限
ユーザーのラベル表示(内部または外部)
ユーザーが機密ラベルを見ることができるようにするか
特定のユーザーを、分散システム上の他のユーザーよりも高い/低い度合いで監査するかどうか
ユーザーが持つ実行プロファイル
ユーザーがなれる役割
ワークステーションが指定の期間アイドル状態となった場合に取るべき処理
サイトによっては、ユーザー管理を 2 つの役割間で分割せず、必要に応じて管理役割を再設定したい場合もあるでしょう。このような場合については、第 4 章「役割の管理」の 「2 つの役割による分割管理を取らない場合」を参照してください。
管理的役割を自サイトで再設定している場合、そのサイトのセキュリティ管理者は、各管理的役割にどのような責任や機能を割り当てているかを、管理者に通達しなければなりません。
図 3-1 に、ユーザーアカウントや役割アカウントの追加に使用するユーザーマネージャの「ナビゲータ (追加)」メニューを示します。まだ、何の情報も指定されていないため、「ユーザー (User)」、「UID」、「コメント (Comment)」の各フィールドは空になっています。「コメント (Comment)」の下には 8 つのボタンがあり、各ボタンには、アカウントごとに指定する情報の種類を示すラベルが付けられています。各ボタンを押すと、それぞれに対応するダイアログボックスが表示され、そこで指定の情報を入力できます。これらのボタンを使って、ユーザーアカウントの追加または変更を行います。
各ボタンを使用するには、それぞれ承認が必要となります。これらの承認は、デフォルトの管理者とセキュリティ管理者の間で分割して割り当てられています。ここでも、2 人の人間によるアカウント管理が前提とする責務分割の原則が守られています。
管理役割がユーザーマネージャを起動した時に、グレー表示のボタンがあった場合、そのボタンを使用するのに必要となる承認が、現在の役割の持つ実行プロファイルに割り当てられていないことを意味します。
各ボタンの使用に必要となる承認と、各ボタンに対応するダイアログボックスをまとめたものを次の表に示します。
表 3-1 ユーザーマネージャの各ボタンに必要となる承認と、そのボタンを使って 指定できる情報の種類ボタン | 承認名 | デフォルトの役割 | 指定できる情報 |
---|---|---|---|
識別情報 (Identity) | ユーザーの識別情報を設定 (set user identity) | admin | アカウント名、UID、主および追加 GID、コメント、シェル、アカウントの種類(一般ユーザー、管理役割、非管理役割) の設定 |
パスワード(Password ) | ユーザーのパスワードを 設定 (set user password) | secadmin |
アカウント用のパスワードの設定、またはパスワードなしでアカウントを設定 パスワードの有効期間(パスワードの変更が必要となる最小または最大経過日数、最長非使用、有効期限、警告の表示など) アカウントの状態(オープンまたはクローズ) NIS+ 資格テーブルを更新するかどうかの選択 |
ホーム (Home) | ホームディレクトリの属性を設定 (set home directory attributes) | admin |
サーバー上のパス名にホームディレクトリを作成するかどうかの指定 シェル初期化ファイルのパスの指定 ホームディレクトリへのアクセス権の設定 メールサーバーの指定 ホームディレクトリを自動マウントするかどうかの選択 |
ラベル (Labels) | ユーザーのラベルを設定 (set user labels) | secadmin |
認可上限と最下位ラベルの設定 外部または内部ラベル表示の設定(管理ラベルの名前を表示する/表示しない) SLの表示/非表示の設定 |
プロファイル (Profiles) | ユーザーのプロファイルを設定 (set user profiles) | secadmin | ユーザープロファイルの選択 (ユーザーアカウントのみ) |
役割 (Roles) | 役割リストを設定 (set roles list) | secadmin | 1つ以上の役割の選択(ユーザーアカウントのみ) |
アイドル (Idle) | アイドル時間を設定 (set idle time) | admin | スクリーンがリスト上より選択された一定期間アイドル状態となった場合に取るべき処理の指定 |
Trusted Solaris システムでは、管理者はスタートアップファイルを設定する場合に、標準の UNIX システムでは問題にならないか、あてはまらないような点に関して考慮する必要があります。これは Trusted Solaris システムが次の特徴を持つためです。
ホームディレクトリが通常マルチレベルディレクトリ (MLD) となっている
コマンドへのアクセスを制限する目的でアカウントにプロファイルシェルを割り当てることができる
ワークスペース作成時に役割の代わりに .profile(4) ファイルから実行されるコマンドがプロファイルシェル機構により制限されない。
この節では、Trusted Solaris 環境におけるスタートアップファイルの管理方法の概要を説明し、実際のスタートアップファイルを設定するための操作手順を紹介します。csh(1)、pfsh(1M)、sh(1) のマニュアルページも参照してください。
スタートアップファイルのコマンドを読み込む、あるいは実行する、という意味合いで「読み取る (ソース)」という表現を使うことがよくあります (csh もドットスクリプトのコマンドを実行するのに内蔵のソースコマンドを持っています)。スタートアップファイルのセットは、起動されたときウィンドウシステムからソースされます。どのスタートアップファイルが読み込まれるかは、ユーザーアカウントが作成されたときにユーザーに割り当てられるログインシェルによって異なります。次の表を参照してください。
表 3-2 ログインシェルのタイプ別に、ウィンドウシステムによって読み込まれるスタートアップファイルログインシェル | スタートアップファイル |
---|---|
C シェル | /etc/.login と $HOME/.login |
Bourne シェルまたは Korn シェル | /etc/.profile と $HOME/.profile |
プロファイルシェル (Trusted Solaris システム内のみ) | /etc/.profile と $HOME/.profile |
このほかに、cmdtool、shelltool、または dtterm のように端末エミュレータのシェルを起動するたびに読み込まれる別の一連のスタートアップファイルもあります (「シェル起動時にどのスタートアップファイルを読み込むかの制御」を参照してください)。
標準 CDE ウィンドウシステムと同様に、拡張 Trsuted Solaris CDE ウィンドウシステムでは、アカウントには、編集可能な $HOME/.dtprofile ファイルが用意されています。このファイルの基本的な機能は、アカウントがログインし、セッションを開始するときに .login ファイルあるいは .profile ファイルをデスクトップで読み取るかどうかを管理するものです (login(1) と profile(4) のマニュアルページも参照)。ただし、アカウントがログインシェルとしてプロファイルシェルの pfsh(1M) を持っていると、.dtprofile ファイルの処理は異なります。これについては、「スタートアップファイル読み取りの制御:プロファイルシェルユーザーの場合」を参照してください。
Trusted Solaris システムでは、デフォルトとして .login または .profile ファイルは、ウィンドウシステムでは読み取られません。これらのファイルの読み取りは、いくつかある dtprofile ファイルの 1 つによって制御されています。
次のファイルのどちらかがそのアカウントの $HOME/.dtprofile にコピーされます。
サイトのセキュリティ管理者役割によって作成された /etc/dt/config/sys.dtprofile ファイル (存在する場合)
デフォルトの /usr/dt/config/sys.dtprofile ファイル
上記のファイルのどちらかを $HOME/.dtprofile にコピーするまでの流れを次の図に示します。
デフォルトの /usr/dt/config/sys.dtprofile では、これらのファイルの読み取りを有効にする変数がコメント行になっています。
# DTSOURCEPROFILE=true |
sys.dtprofile ファイルのコピーの DTSOURCEPROFILE 定義の前にある # を削除すると、該当するスタートアップファイルをウィンドウシステムに読み取らせることができます。その他の *.dtprofile ファイルを変更して、他のスタートアップファイルでも行えるようなこと、たとえば、環境変数の設定、コマンドやアクションの検索パスの設定、標準エラーや標準出力がどこに書き込まれるかの変更、コマンドや機能の呼び出しなどを行うようにすることができます。
デフォルトの *.dtprofile ファイルのコメントにも記述されているように、サイトの管理者や各ユーザーは、スタートアップファイルで次のようなアクションを行わないように注意してください。
端末エミュレータで処理が必要になる
ウィンドウシステムが起動している最中に、ユーザーによる処理が必要になる
詳細は、ファイル /etc/dt/config/sys.dtprofile 内のコメントや、「ログイン時に .login および .profile ファイルを自動的に読み取らせるには」を参照してください。なお、デフォルト設定を変更する場合は、それが自サイトのセキュリティポリシーに合致していることを確認してください。
.login または .profile を変更したためにユーザーが作業を行えなくなった場合、そのユーザーは「ログイン (login)」で「復旧セッション」オプションを指定することで問題を解決できます。「復旧セッション」オプションを使うと、スタートアップファイルを読み取ることなくログインできるため、ログイン後、ユーザーは問題のあるファイルを修正できます。
プロファイルシェルのスタートアップファイル読み取りに使われるアルゴリズムは、セキュリティ上の理由から、他のシェルに適用されるものとは異なっています。
ユーザーのログインシェルとして pfsh(1M) が指定されている場合、他のシェルと同様に、pfsh が有効になる前に、.profile ファイルがログイン中に読み込まれます。しかし、アカウントの$HOME
ディレクトリ内の .dtprofile ファイルのバージョンは読み込まれません。デフォルトシェルが pfsh であるユーザーが $HOME
/.dtprofile を作成しても、個人的に作成した .dtprofile は無視されるので、そのファイルは有効にはなりません。このように、個人のユーザーあるいは役割は、アカウントのプロファイルで指定されていない .dtprofile でコマンドを指定することができないようになっています。 $HOME
/.dtprofile の代わりに、デフォルトの /usr/dt/config/sys.dtprofile、またはセキュリティ管理者役割によって変更された /etc/dt/config/sys.dtprofile が使用されます。
標準 Solaris システムと同様に、シェル初期化ファイルを使用して、検索パスやその他の環境変数の設定を行なったり、便利なコマンドや関数の実行を行なったりします。各シェルが起動したときに、どのスタートアップファイルが読み込まれるかを次の表に示します。
表 3-3 シェル初期化時に読み込まれるスタートアップファイルシェル | スタートアップファイル |
---|---|
C シェル |
$HOME/.cshrc $HOME/.login |
Bourne シェル | $HOME/.profile |
Korn シェル |
$HOME/.profile ENV 変数で指定したファイル |
プロファイルシェル (Trusted Solaris システムのみ) |
$HOME/.profile |
シェルがアカウントのログインシェルと認識されたときにのみ .profile あるいは .login ファイルが呼び出されます。シェルは、- の接頭辞付きで (- csh のように) 呼び出されますが、これは、ログインシェルであることを示しています。このことは、たとえば、C シェルが csh を使用して (- の接頭辞なしで) 起動した場合、.login ファイルは実行されないことを意味します。
dtterm(1) で起動したシェルは、ログインシェルとして起動しないため、$HOME/.login や $HOME/.profile は読み込まれません。dtterm にログインシェルを起動させるには、どのアカウント、ユーザー、役割も $HOME/.Xdefaults-hostname ファイルに次のようなエントリを作成することによってそれを行うことができます。
Dtterm*LoginShell: true |
このように追加された変更を有効にするには、いったんログアウトすることが必要です。「dtterm により新規シェルをログインシェルとして起動させるには」を参照してください。同じエントリが、そのアカウントが作業をしているラベルのホームディレクトリである SLD の .Xdefaults-hostname になければいけません。.Xdefaults-hostname をすべての SLD にコピーしたりリンクを張ったりする設定方法に関しては、「.copy_files および .link_files の使い方」を参照してください。
すべての役割向けのデフォルトの .profile ファイルには、adminvi(1M) コマンドに別名をつけて vi(1) とする機能がありますが、この別名機能は、Dtterm*LoginShell: true のエントリを $HOME/.Xdefaults-hostname ファイルに作らないと、有効にはなりません。「adminvi から vi への名前の変更」を参照してください。
ホームディレクトリにあると便利なスタートアップファイルに .mailrc があります。これは、次の図に示すように、特にユーザーのメールフォルダ、受信箱、メールエイリアスを指定するのによく使われるものです。
set folder=/home/roseanne/.mailrc set MBOX=$HOME/Mail/inbox alias pubs janer@think monicap@owl jstearns@auburn |
もう 1 つの例として、ニュースビューアの起動のたびにどのニュースグループを起動するかを決めるのに使用する .newsrc ファイルがあります。.Xdefaults ファイルと .Xdefaults-hostname ファイルもウィンドウの動作を制御するために頻繁に変更されます。
管理者役割は、次の図に示すようなユーザーマネージャの「ホーム (Home)」ダイアログボックスを使用して、アカウント用にスケルトンパスディレクトリを定義します。
上の図に示したように、デフォルトのスケルトンパスディレクトリは、/etc/skel です。管理者役割によってこのデフォルト値を承認されると、それぞれのシェルのデフォルトの初期化ファイルが /etc/skel からアカウントの $HOME
ディレクトリにコピーされ、リネームされます。
次の図に示すように /etc/skel ディレクトリの一覧にある local.cshrc、 local.login、local.profile ファイルは、一般ユーザーアカウント向けにコピーされます。
trusted1% cd /etc/skel trusted2% ls -R local.cshrc local.login local.profile tsol/ tsol:role.link_files role.profile |
(Trusted Solaris に固有の /etc/skel/tsol ディレクトリについては、「/etc/skel/tsol の役割スタートアップファイル」を参照してください。)
管理者役割がユーザーマネージャで自動ホームディレクトリ作成オプションを選択している場合、/etc/skel ファイルはアカウントの最下位ラベルに対応する SLD にコピーされます。
役割およびインストールユーザーのホームディレクトリは、次の図に示すように /etc/security/tsol/home/rolename に作成されます。
trusted1% ls /etc/security/tsol admin/ install/ oper/ secadmin/ |
/etc/skel/tsol の role.link_files と role.profile ファイルはデフォルトのスタートアップファイルで、役割のホームディレクトリだけで使用されます。
trusted% cd /etc/skel/tsol trusted% ls role.link_files role.profile |
新たに別の管理役割を設定するときは、セキュリティ管理者役割は、ユーザーマネージャの「スケルトンパス (Skeleton Path)」フィールドに /etc/skel/tsol を指定する必要があります。
管理者役割は、次のようなことを行うことがあります。
/etc/skel あるいは /etc/skel/tsol ディレクトリにコピーすべき他のファイルの追加
/etc/skel あるいは /etc/skel/tsol ディレクトリのデフォルトファイルの変更あるいはリネーム
サイト特有のスケルトンファイルのある代替スケルトンディレクトリの作成
代替のスケルトンディレクトリを使用する際は、管理者役割は、ユーザーマネージャを使用してユーザーアカウントを作成するときに「ホーム (Home)」ダイアログボックスに代替ディレクトリのパス名を指定することができます。
各シェル用にシェルスタートアップファイルのマスターコピーをスケルトンサブディレクトリに設定し、各ユーザーのデフォルトのシェルにあわせてスケルトンディレクトリをユーザーマネージャで指定する
これにより、アカウントの最下位の機密ラベルで最初にワークスペースが作成されたときに、スケルトンファイルのディレクトリから SLD に、ユーザーのデフォルト (ログイン) の SHELL
用の正しいスタートアップファイルだけがコピーされます。各シェルに別々の設定を実行する方法と、pfsh については、この章の「各シェル用にシェル初期化ファイルを分離するには」を参照してください。
Trusted Solaris システムでは、スケルトンディレクトリ内のファイルは、アカウントの持つ最下位ラベルで作成された、そのアカウント用の最初の SLD だけに自動的にコピーされます。
この後、アカウントはいくつかの設定を行う義務があります。ユーザーアカウントは、スケルトンディレクトリからコピーされたファイルを自分のデフォルトのシェルに合わせてリネームし、必要に応じてその内容を変更する必要があります。たとえば、ユーザーのデフォルトシェルが C シェルでその最下位機密ラベルが PUBLIC である場合、最初のログインの後、ユーザーはホームディレクトリ内の PUBLIC ラベルを持つ SLD に移り、そこで local.cshrc (/etc/skel から自動的にコピーされたもの)をリネームし、必要に応じてその内容を変更することになります。
これらの初期化ファイルはアカウントの持つ最下位ラベルで作成されたホームディレクトリ内の最初の SLD にロードされるだけなので、その他のラベルで作成された SLD にこれらのファイルを配置するにはさらに追加作業が必要となります。ホームディレクトリ内の SLD にファイルをコピーする場合やリンクを作成する場合には、ユーザーまたは管理者は、.copy_files か .link_files ファイルあるいはその両方のファイルを作成する必要があります。詳細は、「.copy_files および .link_files の使い方」を参照してください。
man(1) コマンドが Trusted Solaris パッケージに含まれているすべての Trusted Solaris プロダクト (CDE、X ウィンドウ、Solstice AdminSuite) のマニュアルページを見つけることができるようにするには、MANPATH
環境変数に次の表に示すディレクトリ名をすべて指定する必要があります。
マニュアルページのディレクトリ |
---|
/usr/man |
/usr/openwin/man |
/usr/dt/man |
Solstice AdminSuite のマニュアルページは独立したマニュアルディレクトリを持っておらず、/usr/man にあります。
MANPATH 環境変数を設定するには、ユーザーは、以下の行を自分のシェル初期化ファイルに追加します。または、管理者が /etc/skel (または他のスケルトンディレクトリ)内にサイト全体のシェル初期化ファイルを作成し、そのファイルに以下の行を追加します。
setenv MANPATH="/usr/dt/man:/usr/openwin/man:/usr/man:$MANPATH" |
自分の MANPATH
環境変数の現在の設定を調べるには、次のコマンドを使います。
|
MANPATH
環境変数には少なくとも次の値が設定されている必要があります。
/usr/dt/man:/usr/man:/usr/openwin/share/man |
.copy_files および .link_files は Trusted Solaris に導入された新しいシステムファイルです。これらのファイルを使うと、ユーザーや管理者は、各アカウントのホームディレクトリの MLD に作成された SLD 間でのスタートアップファイルのコピーやリンクの作成を自動化できます。これらのファイルはアカウントの最下位の機密ラベルの SLD に作成されます。ユーザーまたは管理者は、最下位機密ラベルの SLD から他のラベルの SLD にコピーまたはリンクされるファイルをそれぞれ .copy-files または.link-files にリストすることができます。どのファイルのコピーやリンクを作成するかは、設定を行うユーザーの判断に任されます。
新しいラベルにワークスペースが作成されるといつも dtsession(1) が updatehome(1M) コマンドを実行して、アカウントの最下位ラベルの SLD の .copy_files と .link_files を読み込み、一覧表示されたファイルを新しいワークスペースにコピーあるいはリンクします。
updatehome コマンドは、コピーおよびリンク制御ファイルを読み、次の表に示すような処理を行います。
表 3-5 updatehome の動作とそのタイミングタイミング | 処理 |
---|---|
ログインセッションの間に新しい機密ラベルで新しいワークスペースが作成された時 | アカウントの最下位機密ラベルの SLD から新規ラベルの SLD に、.copy_files のファイルをコピーし、.link_files のファイルをリンク |
ログインセッションの開始時 | アカウントの最下位機密ラベルの SLD から既存のホームディレクトリの全 SLD に .copy_files のファイルをコピーし、.link_files のファイルをリンク |
最下位機密ラベルの SLD から他のラベルで作成された 2 番目以降の SLD に任意のファイルがコピーされると、そのファイルがユーザーにより編集され、異なる SLD 内に異なるバージョンのファイルが存在することになります。SLD 間のファイルのコピーが必要となるのは、たとえば異なる機密ラベルで作業しているユーザーが、ラベルごとに異なるメールエイリアスを使いたいという場合などです。各 SLD に .Xdefaults-hostname のコピーを配置するには .copy_files ファイルの一覧に.Xdefaults-hostname を加えます。詳細は、「ホームディレクトリ内の複数の SLD にスタートアップファイルを配置するには」を参照してください。
上記の手順において、管理者役割は任意のスケルトンディレクトリを作成し (またはデフォルトの /etc/skel を使用して)、そのスケルトンディレクトリにスタートアップファイルの汎用コピーを配置します。さらに、管理者はこのスケルトンディレクトリ内に、マスターの .copy_files (すべてのホーム SLD にコピーしたいスタートアップファイルの一覧を記述したもの) ならびにマスターの .link_files (すべてのホーム SLD にリンクしたいファイルの一覧を記述したもの) を作成します。その後、ユーザーアカウントの設定時に、管理者役割がこの変更されたスケルトンディレクトリのパス名を指定すると、スケルトンディレクトリ内のすべてのファイル (.link_files や .copy_files を含む) が指定のユーザーのホームディレクトリ内の最下位の機密ラベルの SLD にコピーされます。続いて .link_files ならびに .copy_files 内の情報に基づいて、最初の SLD 内の指定されたファイルが、2 番目以降に作成された各 SLD にコピーまたはリンクされることになります。
ある SLD 内の 1 つの初期化ファイルが変更されると、そのファイルがリンクされているすべての SLD 内の、あらゆるラベルのファイルすべてが、同じように変更されます。
たとえば、Confidential ワークスペース内にリンクされている .cshrc を変更した場合、その変更はファイルがリンクされているすべての他のラベルの SLD 内の .cshrc ファイルに適用されます。詳細は、「ホームディレクトリ内の複数の SLD にスタートアップファイルを配置するには」を参照してください。
よく使われるファイルのうち、どのファイルをコピーまたはリンクするかを決めるためのワークシートの例を以下に示します。
表 3-6 SLD 間でのスタートアップファイルのコピーやリンクを行うためのワークシートよく使われる スタートアップファイル | コピーするもの (.copy_files に記述) | コピー するもの (.link_files に記述) |
---|---|---|
.bugtraqrc | ||
.cshrc | ||
.dtprofile | ||
.login | ||
.Xdefaults | ||
.Xdefaults-hostname | ||
.mailrc | ||
.newsrc | ||
.profile |
cron(1M) は、指定の時刻にコマンドを実行するクロックデーモンです。この節では、cron の動作の概要を説明し、Trusted Solaris における cron の管理と、cron に関連するコマンド群の特徴を説明します。cron に関する基本的な事項については『Solaris のシステム管理 (第 2 巻)』を参照してください。Trusted Solaris における変更点については、at(1)、atq(1)、atrm(1)、cron(1M)、crontab(1) の各マニュアルページを参照してください。
cron は、すべてのスケジュール化されたジョブを実行するために、各イベントを時間順に並べたリストを保持しています。各イベントは、特定のジョブとそれを実行するのに必要な情報を表しています。cron は次の 2 種類のジョブ (cron_job および at_job) を実行します。
at によってスケジュール化される、将来の指定された時間に1度だけ実行される単一の実行ジョブ (at_job)
batch によってスケジュール化される単一の実行ジョブ (at_job)。batch は at(1) のフロントエンドスクリプトであり、システム負荷レベルが許すと即座にジョブ実行を依頼する。
crontab によってスケジュール化される、指定された時間間隔で繰り返し実行される周期的実行ジョブ (cron_jobs)。
cron_job および at_job は、それぞれ対応するスプールディレクトリに格納されている crontab または atjob ファイルを cron が読み込むことによりスケジュール化されます。これらのファイルを cron が読み込むタイミングは次のどちらかです。
cron 自身のプロセスの初期化時
crontab または atjob ファイルに変更が行われた後
crontab ファイルは、ユーザーアカウントまたは役割アカウントが crontab(1) コマンドを使うことにより生成されます (Trusted Solaris システムでは、crontab コマンドがアカウントの実行プロファイルにの 1 つに含まれていなければなりません)。crontab ファイルは、1 行ごとに書かれたコマンドから構成されており、これらのコマンドは各コマンド行の先頭部分に指定された時刻に自動的に実行されます。crontab ファイル内の各コマンド行を「cron_job」と呼びます。crontab ファイルは複数の cron_job を含むことができます。crontab ファイルのスプール空間は、/var/spool/cron/crontabs です。
atjob ファイルは、ユーザーアカウントまたは役割アカウントが at(1) または batch コマンドを使うことにより生成されます (これらのコマンドがアカウントの実行プロファイルの 1 つに含まれていなければなりません)。 コマンドが実行された時のユーザーの現在のプロセス環境もファイルに保存されます。これらの各ファイルは「at_job」として参照されます。atjob ファイルのスプール空間は /var/spool/cron/atjobs です。
Trusted Solaris システムでは、crontab および atjob ファイルのスプールディレクトリは MLD として実装されているため、これらのスプールディレクトリには異なる機密ラベルを持つジョブファイルが保持されることになります。スプールディレクトリが MLD であるため、1 人のユーザーは、crontab ディレクトリ内に異なる機密ラベルを持つ複数の crontab ファイルを持つことができます。同様に、1 人のユーザーは、atjobs ディレクトリ内に異なる機密ラベルを持つ複数の atjob ファイルを持つことができます。
ジョブの実行にプロファイルシェルを指定する場合、セキュリティ管理者役割は、そのジョブの実行に必要なすべてのコマンドが、それを呼び出すユーザーに割り当てられている実行プロファイル内に存在することを確認しておかなければなりません。
cron_job は次の条件のどちらかが満たされている場合、pfsh を使って実行されます。
アカウントの passwd(1) エントリに登録されているログインシェルが pfsh である
$SHELL
環境変数の値が /bin/pfsh である
上記のどちらの条件も満たされない場合、cron は cron_job の実行にデフォルトの Bourne シェルである sh(1) を使います。
at コマンドの場合、ユーザーは -c(csh)、-k(ksh)、-s(sh)、-p(pfsh) の各オプションを使って、ジョブの実行に使うシェルを指定できます。このため、at_job の場合、その実行にプロファイルシェルが使われる条件として、3 つ目の場合があります。
アカウントの passwd エントリに登録されているログインシェルが pfsh である
$SHELL
環境変数の値が pfsh である
at コマンドが -p オプション付きで指定された場合
上記のどの条件も満たされない場合、at は次のどちらかのシェルを使います。
-c、-k、-s オプションのいずれかで指定されたシェル
デフォルトのシェル (sh)
at または cron ジョブ内のコマンドを実行するのに特権が必要となる場合、強制された特権または継承可能な特権のどちらかが使用されます。
しかし、コマンドを実行するのが誰であるかにかかわらず強制された特権を使ってそのコマンドを実行することは、通常、サイトのセキュリティポリシーには適合しません。このため、通常、セキュリティ管理者役割は、継承可能な特権を使用できるようにするために、次の操作を行う必要があります。
プロファイルマネージャを使って、コマンドとその実行に必要となる特権を、それを呼び出すユーザーの実行プロファイル内に指定すること。
そのジョブの実行にプロファイルシェルを使用するよう指定すること (「ジョブの実行にプロファイルシェルを使うには」を参照のこと)。
詳細は、「特権がコマンドとアクションに割り当てられる方法」、「コマンドに強制された特権を付与するには」、「コマンドやアクションに「継承可能な特権」を付与する」などを参照してください。また、cron ジョブ の使用例については、「特権コマンドを実行するプロファイルシェルスクリプトを作成するには」を参照してください。
Trusted Solaris システムでは、crontab(1)、at(1)、atrm(1)、cron(1M) の間の通信機構として、UNIX ドメインソケットが使用されます。UNIX ドメインソケットを使うことで、トラステッドセキュリティ情報交換ライブラリ (TSIX) の提供するトラステッドネットワーキングインタフェースにより、cron のクライアントから cron へのメッセージやセキュリティ属性の通信を信頼できる方法で実施することが可能となっています。詳細は libt6(3N) のマニュアルページを参照してください。
cron(1M) は、UNIX ドメインソケットの作成とバインド (割り当て) に /etc/cron.d/CRON を使うように変更されています。/etc/cron.d/CRON ファイルは、クロックデーモンによる複数の実行を防ぐためのロックファイルとしても使われます。
クロックデーモンは、有効セット内の net_mac_read
特権を有効にすることでマルチレベルポートを作成します。これにより、クロックデーモンは異なる機密ラベルを持つメッセージを受信できます。
ユーザーが crontab または atjob ファイルを作成、変更、削除すると、 crontab、at、atrm の各コマンドは、適切なデータを含むメッセージと、そのコマンドのプロセスが持つ機密ラベル情報をクロックデーモンに送信します。クロックデーモンは、このメッセージと機密ラベル情報を受け取ると、そのメッセージを解釈して必要な処理を行います。送信された機密ラベル情報は、対応する SLD 内での crontab または atjob ファイルの作成や削除を行うのに使用されます。
各 crontabs ファイル用の crontabs MLD、および各 atjob ファイル用の atjobs MLD には、補助ファイルが作成されます。crontab ファイルや atjob ファイルを変更すると、対応する補助ファイルのデータも変更されます。補助ファイルの名前は、crontab ファイルの場合は username (ユーザー名).ad になり、atjob ファイルの場合は jobname (ジョブ名).ad になります。補助ファイルには、cron がジョブの設定に使用する情報が格納されます。
管理者は、/etc/cron.d ディレクトリ内の *.allow および *.deny ファイルを使うことで、at および cron の使用を制限できます。
at の場合、使用を許可または禁止するユーザー名を次のファイルに定義します。
at.allow
at.deny
cron の場合、使用を許可または禁止するユーザー名を次のファイルに定義します。
cron.allow
cron.deny
*.allow ファイルが存在する場合、対応する *.deny ファイルは検査されません。*.allow ファイルが存在しない場合、*.deny ファイルが検査されますが、この場合、*.deny ファイルが空であると、どのユーザーでもジョブの実行を依頼できるようになります。Trusted Solaris 環境では、*.allow ファイルと *.deny ファイルの両方が存在しない場合、どのユーザーもジョブの実行を依頼できなくなります。Trusted Solaris システムは cron.allow および at.allow ファイルなしで出荷されます。デフォルトの cron.deny および at.deny には、次のアカウント名が含まれています。
daemon bin smtp nuucp listen nobody noaccess |
デフォルトの Trusted Solaris のセキュリティポリシーでは、ユーザーが他のユーザーの所有するジョブを使用することは禁じられています。ただし、セキュリティ管理者役割は、ユーザー設定を変更することにより、この制限を無効にすることができます。特定のユーザーが他のユーザーの所有するジョブを使用できるようにするには、セキュリティ管理者役割は次の操作を実行する必要があります。
/etc/cron.d ディレクトリにある at.admin および cron.admin を編集する
at および cron 関連の特権を割り当てる
出荷時の状態では、/etc/cron.d にある at.admin および cron.admin ファイルには、システムプロセスが使用する特殊なシステムアカウント名のみが記述されています。このデフォルトの内容を以下に示します。2 つのファイルの内容は同じです
bin adm lp smtp uucp nuucp listen |
出荷時の状態では、デフォルトの crontabs SLD (ADMIN_LOW
ラベル付き) には、adm、sys、uucp 用の crontab ファイルが含まれています。crontabs MLD にはこれ以外のデフォルトの crontab ファイルは存在せず、また atjobs MLD にはデフォルトの at_job は存在しません。各サイトでは、必要に応じて、特殊なシステムアカウント用に実行する別の crontab や at_job を作成できます。これらのシステムアカウントにはパスワードが割り当てられていないため、これらのアカウントには誰もログインできません。したがって、この機能がなければ、これらのアカウント用の cron_job や at_job に対するいかなる変更も行えないことになります。
at、atq、atrm、crontab を呼び出すアカウントは、以下の条件を満たす場合にのみ、他のユーザーの所有するジョブの表示、編集、削除が行えます。
特定のアカウントが、at、atq、atrm を使って、他のユーザーの所有する at_job を作成 (またはそれを使用) するためには、次の条件を満たすことが必要です。
指定されたユーザー名、または指定された at_job の所有者のユーザー名が、at.admin ファイルに登録されている特殊なシステムアカウント名の 1 つであること。かつ条件 3 が満たされていること。
指定された at_job の所有者のユーザー名が、役割アカウント名であること。かつ条件 3 が満たされていること。
条件 1 および 2 のどちらも満たされない場合、呼び出しを行うアカウントの実行プロファイル内に「at user を変更」承認がなければならない。
特定のアカウントが、crontab を使って、他のユーザーの所有する crontab ファイルを作成 (またはそれを使用) するためには、次の条件を満たすことが必要です。
指定されたユーザー名が、cron.admin ファイルに登録されている特殊なシステムアカウント名の 1 つであること。かつ条件 3 が満たされていること。
指定されたユーザー名が、役割アカウント名であること。かつ条件 3 が満たされていること。
条件 1 および 2 のどちらも満たされない場合、呼び出しを行うアカウントの実行プロファイル内に「cron users を変更」承認がなければならない。
crontab(1) コマンドのオプションのうち、Trusted Solaris 環境で変更されているものを表 3-7 に示します。
表 3-7 crontab(1) のオプションオプション | コメント |
---|---|
-e |
呼び出し元のプロセスのラベルと同じラベルで crontab ファイルの作成または変更を行う。「他のユーザーが所有するジョブの使用」に述べた条件を満たす場合にのみ、ユーザーは、他のユーザーの所有する crontab ファイルを編集できる。 ユーザーの passwd エントリに /bin/pfsh が指定されていない場合、crontab -e コマンドは ユーザーの passwd エントリに /bin/pfsh が指定されている場合、環境変数が vi に設定されているならば adminvi が使用される。環境変数が dtpad に設定されているならば TSOLdtpad が使用される。どちらの環境変数も定義されていない場合、cron はデフォルトのエディタである adminvi を使用する。 |
-l |
呼び出し元のプロセスの機密ラベルで、現在のユーザーが持つ crontab ファイルの内容を表示する。「他のユーザーが所有するジョブの使用」に述べた条件を満たす場合にのみ、ユーザーは、他のユーザーの所有する crontab ファイルの内容を表示できる。 |
-r |
呼び出し元のプロセスの機密ラベルで、ユーザーの crontab ファイルを crontabs ディレクトリから削除する。「他のユーザーが所有するジョブの使用」に述べた条件を満たす場合にのみ、ユーザーは、他のユーザーの所有する crontab ファイルを削除できる。 |
アクセス制御は変更されていません。ただし、例外として、cron.allow および cron.deny の両方が存在しない場合、すべてのユーザーがジョブ実行を依頼できなくなります。
at(1) コマンドのオプションのうち、Trusted Solaris 環境で変更されているものを次の表に示します。-p オプションは新しく追加されたものです。
表 3-8 Trusted Solaris 版 at(1) のオプションオプション | コメント |
---|---|
-l | at_job 番号がオペランドに指定されていない場合、現在のユーザーが所有しているすべての at_job に関する情報を、呼び出し元プロセスのラベルで表示する。at_job 番号がオペランドに指定されている場合、そのジョブに関する情報だけが表示される。その at_job が現在のユーザーの所有するものでないならば、「他のユーザーが所有するジョブの使用」に述べた条件を満たす場合にのみ、そのジョブに関する情報が表示される。 |
-r | オペランドに指定された at_job 番号(それ以前にスケジュール化されていたもの)を持つ at_jobs を削除する。その at_job が現在のユーザーの所有するものでないならば、「他のユーザーが所有するジョブの使用」に述べた条件を満たす場合にのみ、そのジョブが削除される。 |
-p | ジョブの実行にプロファイルシェルを使用する。 |
アクセス制御は変更されていません。ただし、例外として、at.allow および at.deny の両方が存在しない場合、すべてのユーザーがジョブ実行を依頼できなくなります。
atq(1) コマンドに対する変更点を下の表に示します。
表 3-9 Trusted Solaris における atq(1) の変更点引数 | 説明 |
---|---|
なし | 呼び出したユーザーが所有している atjob を、呼び出し元プロセスの機密ラベルで表示する。その atjob が現在のユーザーの所有するものでないならば、「他のユーザーが所有するジョブの使用」に述べた条件を満たす場合にのみ、そのジョブに関する情報が表示される。 |
user | 引数に指定したユーザーが、このコマンドを呼び出したユーザーである場合、指定のユーザーが所有しているすべての atjob を表示する。引数に指定したユーザーが、このコマンドを呼び出したユーザーでない場合、「他のユーザーが所有するジョブの使用」に述べた条件を満たす場合にのみ、そのジョブに関する情報が表示される。 |
atrm(1) コマンドに対する変更点を下の表に示します。
表 3-10 Trusted Solaris における atrm(1) の変更点引数 | 説明 |
---|---|
user | 引数に指定したユーザー (user) が、このコマンドを呼び出したユーザーである場合、指定のユーザーが所有しているすべての atjob を削除する。引数に指定したユーザーが、このコマンドを呼び出したユーザーでない場合、「他のユーザーが所有するジョブの使用」に述べた条件を満たす場合にのみ、そのジョブが削除される。 |
at_job # | オペランドに指定された at_job 番号を持つジョブで、呼び出し元プロセスの機密ラベルを持つものを削除する。 |
option -a | このコマンドを呼び出したユーザーが所有するすべての atjob で、呼び出し元プロセスの機密ラベルを持つものを削除する。 |
cron(1M) はブートプロファイルによって、ADMIN_LOW
機密ラベルで起動されます。その後、cron(1M) が UNIX ドメインソケットを ADMIN_LOW
で作成してから以降は、ADMIN_HIGH
機密ラベルで動作するよう変更されます。
Trusted Solaris は、次の crontab ファイルが添付された状態で出荷されます。
ADMIN_HIGH
機能ラベルを持つ、root、uucp、adm、sys 用の crontab ファイルと補助ファイルの組み合わせ
ADMIN_HIGH
機密ラベルを持つ、root および lp 用の crontab ファイルと補助ファイルの組み合わせ
/var/cron/log ファイルは、クロックデーモンにより ADMIN_HIGH
機密ラベルで作成されます。このログファイルには、クロックデーモンの内部メッセージが記録されます。
ここで手順を実行すると、変更が加えられたホスト上の全ユーザーのデフォルト値を変更します。
セキュリティ管理役割になり ADMIN_LOW
ワークスペースに移動します。
必要に応じて、「ログイン後、特定の管理役割になるには」を参照してください。
ファイルマネージャあるいは端末エミュレータからコマンドを使用して、 sys.dtprofile を /usr/dt/config から /etc/dt/config にコピーします。
相手先のディレクトリが存在しないときは、それを作成します。
|
管理用エディタを使用して、sys.dtprofile ファイルを開き、編集を行います。
必要に応じて、「管理用エディタアクションを使用してファイルを編集するには」を参照してください。
このファイルの末尾にある、DTSOURCEPROFILE
変数の行の先頭にあるポンド記号 (#)を削除します。
編集後の行は、次のようになります。
DTSOURCEPROFILE=true |
ファイルの内容を保存し、ファイルを閉じます。
:wq |
この手順をアカウントが作業を行なっているホームディレクトリの SLD ごとに行なってください。あるいは、アカウントの最下位機密ラベルのホームディレクトリの SLD で一度この手順を行なって、「.copy_files および .link_files の使い方」で説明したように .copy_files あるいは .link_files の一覧 に .Xdefaults-hostname ファイルを加えてください。詳細については、マニュアルページの updatehome(1M) を参照してください。
ホームディレクトリに移動します。
trusted% cd |
テキストエディタを使用して、.Xdefaults-hostname ファイルを作成あるいは変更します。
次のように入力します。
Dtterm*LoginShell: true |
ファイルへの書き込みを行い、ファイルを閉じます。
:wq |
管理者役割になった状態で、Solaris 用のマニュアル『Solaris のシステム管理 (第 1 巻)』の「ユーザーアカウントとグループの管理の概要」にあるユーザー初期ファイルの設定手順を実行します。
この手順には、3 つのシェルに特有のスケルトンディレクトリ名を生成する方法が述べられています。ここで生成したディレクトリ名を、ユーザーマネージャの「スケルトンパス (Skeleton path)」フィールドに入力することになります。また、上記の手順には、local.login ファイルをskelC サブディレクトリにコピーする方法、local.profile ファイルを skelK サブディレクトリにコピーする方法、local.login ファイルを skelB サブディレクトリにコピーする方法も述べられています。
管理者役割になり、skelP サブディレクトリを作成します。このディレクトリは、デフォルトシェルが pfsh であるユーザーのホームディレクトリにインストールされる .profile の特殊なバージョン用のディレクトリです。
ユーザーのデフォルトシェルに応じて、正しい skelX サブディレクトリ名をユーザーマネージャの「スケルトンパス (Skeleton path)」フィールドに入力します。
どのユーザーも .copy_files や link_files を自己のホームディレクトリの MLD内の最下位機密ラベルの SLD にコピーすることができます。また、すでに最下位ラベルの SLD にファイルがある場合、ファイルを変更することができます。この手順は、複数ユーザーの設定を自動化する管理者役割向けです。
管理者役割になり、 ADMIN_LOW
のワークスペースに移動します。
必要に応じて、「ログイン後、特定の管理役割になるには」を参照してください。
/etc/skel あるいは自分が使用したい任意のスケルトンディレクトリに移動します。
下の例に、C シェル用スタートアップファイルのためのスケルトンディレクトリ /etc/skel/skelC に移る例を示します(このディレクトリは、「各シェル用にシェル初期化ファイルを分離するには」の手順で作成したものです)。
|
スタートアップファイルの汎用コピーをこのスケルトンディレクトリに配置します。
たとえば、下の例に示すような、C シェル、メーラー、dtterm 用のスタートアップファイルなどを配置します。
$ ls .cm.rc .cshrc .login .mailrc .netscape |
.copy_files を作成するか、(すでに存在する場合は)このファイルを編集し、すべてのホームディレクトリ内の SLD にコピーしたいファイルの一覧をここに記述します。
コピーされたファイルの内容は、ユーザーにより、各 SLD で変更される場合があります。
.link_files を作成するか、(すでに存在する場合は)このファイルを編集し、すべてのホームディレクトリ SLD にリンクしたいファイルの一覧をここに記述します。
リンクされたファイルの内容は、すべての SLD で同一となります。
ユーザーアカウントの設定時に、ユーザーマネージャの「ホーム (Home)」ダイアログボックスで、変更したスケルトンディレクトリのパス名を入力します。