Chapter 3. システム設定

Table of Contents
linuxconf によるシステム設定
コントロールパネルによるシステム設定

Red Hat Linux の主な長所の一つは、オペレーティングシステムを設定すれば何でもできるようになることです。かつては、そうするために暗号のような設定ファイルを何度か手作業で編集した後でシステムサービスをリスタートし、正しく変更できているようにとお祈りする必要がありました。新しいユーザならば、各種の設定オプションに戸惑い、設定ファイルのどこを見れば良いのかも分からないことがあります。

Red Hat Linux は 2 つのシステム設定ユーティリティを提供します。linuxconf とコントロールパネルです。コントロールパネルは、linuxconf を含む Red Hat のシステム設定ツールのランチャです。コントロールパネルとそのツールの使用法については、 the section called コントロールパネルによるシステム設定 を参照してください。

linuxconf 設定ツールを使用すれば、システム設定の負担を軽減することができます。Linuxconf は以下の 2 つの側面を持ちます。

linuxconf は、ほとんどすべてのコントロールパネルのツールの機能を持っていますが、2 つの領域についてはコントロールパネルの方が優れています。

linuxconf について見てみましょう。

linuxconf によるシステム設定

Linuxconf を使用すれば、システムの各種の側面を設定および制御することができ、広範囲のプログラムおよびタスクを処理することができます。linuxconf に関する完全な説明については、別途参考書を参照してください。その内容は本章よりも豊富です。ここではユーザの追加やネットワークとの接続などの一般的な作業を重点的に説明します。

最新のリリースを含む linuxconf の詳細情報については、linuxconf の Web サイトを参照してください。

http://www.solucorp.qc.ca/linuxconf/

linuxconf の Web サイトには、ソフトウェアだけではなく、説明、理論的根拠、歴史、連絡先一覧、およびその他の情報を含む、かなり広範な情報が含まれています。この Web サイトは linuxconf の作者かつ開発者である Jacques Gelinas 氏が運営するものなので、linuxconf に関する最新のニュースが含まれています。

本章で説明するのは、linuxconf の機能のほんの一部です。本章で取り扱う作業について、linuxconf のどの機能を使用するべきかを示すクイックリファレンスが必要な場合には、the section called linuxconf の使い方 を参照してください。

linuxconf に関するヘルプが必要な場合には、以下の資料を参考にしてください。

linuxconf の実行

linuxconf を実行するためには root となる必要があるので、自分自身のアカウントを使用している場合には、su を使用して root となってください。

次に、シェルプロンプトに対して linuxconf と入力してプログラムを実行します。

Linuxconf のユーザインタフェース

Linuxconf には 4 種類のユーザインタフェースがあります。

  • テキストベース - Red Hat Linux のテキストモードのインストールと同じスタイルのユーザインタフェースを使用します。テキストベースのインタフェースでは、X を実行していない場合でも簡単に linuxconf をナビゲートすることができます。X を実行している場合には、仮想コンソールに切り換えて root としてログインし、linuxconf と入力すればテキストモードで linuxconf を起動することができます。

    テキストモード画面をナビゲートするには、[Tab] キーおよび [arrow] キーを使用します。ライン上の [down arrow] は、そのラインに関するプルダウンメニューが存在することを示しています。[Ctrl]-[X] の組み合わせを使用すると、プルダウンメニューが表示されます。

  • グラフィカルユーザインタフェース (GUI) - linuxconf は X Window System を利用することができます。Red Hat Linux には、gnome-linuxconf という名前の linuxconf 用 GUI インタフェースが含まれています。

    本書では gnome-linuxconf インタフェースを使用して linuxconf 画面を示します。ただし、ここで示す指示に関して他のインタフェースを使用したとしても問題は起こらないはずです。

  • Web ベース - Web ベースのインタフェースを使用するとリモートシステム管理が楽になります。Lynxテキストモードブラウザによって表示することもできます。

    linuxconf の Web インタフェースを使用する場合は、ブラウザを使用することによって linuxconf を実行するマシンのポート 98 (すなわち、http://your_machine:98) に接続してください。

    Web ベースのインタフェースを使用する前に、ブラウザを実行するマシンからの接続が可能となるように、linuxconf を設定する必要があります。linuxconf への Web アクセスを有効化する方法については、the section called Web ベースの linuxconf へのアクセスの有効化 を参照してください。

  • コマンドライン - linuxconf のコマンドラインモードは、スクリプトに記述されたシステムの設定を操作する場合に便利です。

Linuxconf は、環境変数 DISPLAY の値にしたがって、キャラクタ-セルモードまたは X モードで起動します。linuxconf の初回実行時には、紹介メッセージが表示されます。このメッセージは一度しか表示されませんが、メイン画面からヘルプにアクセスすれば、同じ基本情報が表示されます。

Linuxconf には、コンテキストに固有のヘルプが含まれています。linuxconf の特定の側面に関する情報については、ヘルプを参照したい画面で [Help] を選択します。現時点では、すべてのヘルプ画面が完成していないことに注意してください。ヘルプ画面は更新されるため、未完成部分は linuxconf の後続バージョンに組み込まれることになります。

gnome-linuxconf インタフェース

gnome-linuxconf を使用すれば、linuxconf の階層構造を簡単にナビゲートすることができます。

Figure 3-1. Linuxconf のメニュー表示

注意:: 上記のツリーメニューインタフェースが表示されない場合は、以下の指示にしたがってください。

  1. [Control] => [Control files and systems] => [Configure linuxconf modules] を選択します。

  2. ツリーメニューチェックボックスを選択します。

  3. [Accept] をクリックします。

  4. [Quit] をクリックします。

  5. linuxconf のリスタート

ツリーメニュービューを使用すれば、適当なパネルが簡単かつ素早く見つかるはずです。メニュー項目の隣にある + または - をクリックすることで、セクションを展開または縮小してください。

選択されたエントリは、右側のパネルの中にタブとして表示され、クローズされるまで表示され続けます。必要以上のタブが開いてしまった場合は、何も変更せずに各タブの下部にある [Cancel] を選択してクローズするか、または [Accept] を選択して内容を実行します。

Web ベースの linuxconf へのアクセスの有効化

セキュリティ上の理由から、Web ベースでの linuxconf に対するアクセスはデフォルトで無効になっています。したがって、Web ブラウザによって linuxconf にアクセスする前に、アクセスを有効化する必要があります。以下にその方法を説明します。

  1. [Config] => [Networking] => [Misc] => [Linuxconf network access] を選択します。

  2. [Linuxconf html access control] ダイアログボックスで、Linuxconf へのアクセスを許可する必要のあるコンピュータのホスト名をすべて入力します。Web ベースのインタフェースをローカルに使用したい場合は、そこに自分自身のシステムも組み込みます。チェックボックスを選択することによって、linuxconf 関連の Web アクセスをシステムの htmlaccess.log ファイルに記録することができます。

  3. [Accept] ボタンを選択します。

そうすると Web ベースのアクセスが有効になるはずです。試してみるには、アクセス制御リストに追加したシステムのある場所に移動します。次に、Web ブラウザを起動して以下の URL を入力します。

http://<host>:98/

(もちろん、<host> はシステムのホスト名と置き換えます。)また、/etc/xinetd.d/linuxconf ファイルから "disable=yes" の行を削除して、シェルプロンプトからコマンド /sbin/service xinetd reload を実行します。)そうすると linuxconf のメインページが表示されるはずです。先頭ページ以降にアクセスするためには、システムの root パスワードを入力する必要があることに注意してください。

同じステップを実行し、ホストの代わりにネットワーク名を入力することにより、linuxconf に対するネットワーク全体のアクセスを有効化することができます。

ユーザアカウントの追加

ユーザの追加は、システムを管理する上で最も基本的な作業の一つです。ユーザを追加するには、

  • [Config] => [Users accounts] => [Normal] => [User accounts] を選択します。そうすると Linuxconf によってフィルタ画面が表示されることがあります (Figure 3-2 を参照)。

    Figure 3-2. [Filter Control] 画面

    フィルタ画面を使用すれば、完全な一覧に含まれるものよりも少ない数のアカウント範囲を選択することができます。完全な一覧を取得するには、パラメータをまったく変更せずに、[Accept] を選択します。各種のフィルタに関する詳細については、[Filter control] 画面で [Help] を選択します。フィルタを適用するかバイパスすると、[Users accounts] タブが表示されます (Figure 3-4 を参照)。

    フィルタを制御するには、[Control] - [Features] を選択します。そうすると [Features] タブが表示されるので、 Figure 3-3に示すように、[Trigger for filter] パラメータを設定することができます。

    Figure 3-3. [Trigger for Filter] の設定

    [Trigger for filter] で、フィルタ画面をポップアップするエントリの数を設定します。)

    Figure 3-4. [Users Accounts] 画面

  • [Add] を選択します。そうすると [User account creation] タブが開きます (Figure 3-5 を参照)。

[User account creation] 画面には、[Base info][Params] および [Privileges] の各セクションが含まれています。必須であるのは [Login name] のみですが、入力するか否かとは無関係に、他のフィールドについても知っておく必要があります。

Figure 3-5. ユーザアカウントの作成

ユーザアカウントの [Base info]

[Login name] はアカウントの名前であり、通常はすべて小文字です。姓または名、イニシャルまたはそれらの組み合わせなどが、一般的なログイン名です。John T. Smith という名前のユーザの場合、smithjohnjts、または jsmith などが一般的なユーザ名となります。もちろん、spike またはその他のものでもかまいません。数字を使用することもできるので、同じイニシャルの人が二人いる場合には、jts2 なども使用できます。このフィールドにはデフォルト値がありません。

[Full name] はユーザまたはアカウントの名前です。個人の場合にはその人の名前、たとえば John T. Smith となります。アカウントが人ではなく役職を表す場合は、フルネームを役職としてもかまいません。したがって、webmaster という名前のアカウントのフルネームを Red Hat Webmaster または単なる Webmaster としてもかまいません。このフィールドにはデフォルト値がありません。

Red Hat Linux は User Private Group 体系を使用しているため、ユーザはそのユーザのみから構成されるデフォルトグループに割り当てられます。User Private Groups の詳細については the section called ユーザプライベートグループ in Chapter 2 を参照してください。

[Supplementary groups] フィールドでは、追加のグループを指定することができます。グループ名を空白で区切る必要があります。このフィールドのデフォルト値は空白です。つまり、補足的なグループは指定されていません。

[Home directory] ではアカウント用のホームディレクトリまたはログインディレクトリを指定します。デフォルト値は、/home/login です。ここで、login をログイン名と置き換えます。ホームディレクトリとはログインする際のディレクトリ構造の起点であり、X を使用する場合には各 Xterm ウィンドウを開く際の起点となります。これは、アカウントに固有の好みのファイルを格納する場所でもあります。

[Command interpreter] はアカウント用のデフォルトのシェルです。Red Hat Linux のデフォルトのシェルは bash シェルです。

[User ID] (UID) は各ユーザアカウントと関連付けられた番号です。この番号はアカウントの作成時にシステムによって自動的に生成されるので、このフィールドを空白のままにしておいてください。システムは UID を使用してアカウントを識別します。

ユーザアカウントの [Params]

[Params] は、パスワードとアカウントを管理するために使用されます。デフォルトではすべてが [Ignored] と設定されているので、使用されません。[Must keep # days] では、ユーザのパスワードに関する最小の日数を設定します。

[Must change after # days] フィールドを使用すれば、一定の日数が経過するとユーザのパスワードの有効期限が切れるように設定することができます。パスワードの有効期限が近づいたことをユーザに警告したい (良いアイディアです) 場合には、[Warn # days before expiraton] フィールドを使用する必要があります。

一定の日数が経過するとユーザのアカウントの有効期限が切れるようにしたい場合には、[Account expire after # days] フィールドを使用します。代わりに、厳しい [Expiration date] を設定することもできます。

ユーザアカウントの特権

[Privileges] セクションでは、システム設定の各種の側面に関するアクセス権限を付与し、制御することができます。デフォルト設定として、通常のユーザはこの画面上ですべての特権を剥奪されています。ユーザに対して明示的または暗黙的に特定の特権を付与するような選択を行うこともできます。[Granted][Granted/silent] の違いは、特権を付与した場合、特権の使用を許可する前に linuxconf がユーザのパスワードを要求するか否かという点です。特権を暗黙的に付与した場合、linuxconf はパスワードの入力を要求しません。

一般に、用心深いシステム管理者は、絶対的に必要である場合を除いて、システム設定に関する特権をユーザに与えようとはしません。実際に暗黙的な特権を付与する際には注意してください。暗黙的に付与された特権を持つユーザがマシンにログインした後でその場を離れると、次にその机の前に腰を下ろした人は自由に特権を使用できることになります。物理的に制限された地域に設置されたマシンに関する限り、暗黙的に付与される特権のリスクは小さくなります。

[May use linuxconf]:ユーザは、linuxconf のすべての機能に対するアクセスを許可されるので、linuxconf のパラメータをセットアップまたは変更することができます。linuxconf を使用することと、設定に関する変更内容を有効化するための特権は別個のものであることに注意してください。システム管理者が linuxconf の利用を許可しても有効化に関する特権を拒否するならば、システム管理者は、設定に対する変更内容を有効化するか否かに関する最終的な「決定権」を持つことになります。

[May activate config changes]:linuxconf でパラメータを変更した後で、変更内容を適用するように linuxconf に対して指示する必要が生じることもあります。そうするには、使用する linuxconf の種類にしたがい、GUI linuxconf では [Activate the changes] ボタンをクリック、Web ベースの linuxconf では [Accept] ボタンをクリック、テキストモードの linuxconf では [Accept] ボタンを選択するなどします。

変更内容の有効化に関する特権をユーザに付与することができます。その場合、ユーザは linuxconf で変更された任意のシステム設定パラメータを有効化することができるようになります。

[May shutdown]:ユーザにシステムをシャットダウンする権限を付与することができます。Red Hat Linux は、[Ctrl]-[Alt]-[Del] というキーの組み合わせを入力すると綺麗にシャットダウンするように /etc/inittab において設定されていることに注意してください。

ネットワークモードの切り替えやシステムログの参照を行うための特権をユーザに与えたり、superuser と同等の権限を与えることさえできます。

ログイン名およびその他の必要情報を入力してから、画面下部にある [Accept] ボタンを選択します。新しいユーザの作成を取り止める場合には、[Cancel] を選択します。

[Accept] をクリックすると、linuxconf は、Figure 3-6 に示すようにパスワードの入力を要求します。誤入力の結果として、使用できないパスワードが入力されることがないように、2 回パスワードを入力する必要があります。パスワードの長さは少なくとも 6 文字でなければなりませんが、 [Users Accounts] => [Policies] =>[Password & Account Policies] 画面で、この長さをもっと長くしたり、ユーザのパスワードに関するその他のパラメータを設定したりすることができます。

優れたパスワードは、文字、数字、特殊文字の組み合わせを含むものです。大文字と小文字の両方を使用する必要があります。ユーザ名、記念日、社会保障番号、飼い犬の名前、ミドルネーム、または root という語を使用しないでください。アカウントまたはユーザ自身に関する単語の派生語を使用しないでください。辞書に記載された語を使用しないでください。辞書語をクラックするのは簡単です。

パスワードを作成するための単純なテクニックとしては、まず慣れ親しんだ句を構成する各語の頭文字を使用します (好きな歌に含まれる一行などが適切かも知れません)。そのうちの何文字かを大文字とし、何文字かの数字または特殊記号を文字の代わりに挿入すれば、適切なパスワードができあがります。

それが済んだら、もう一度 [Accept] ボタンを押します。パスワードが簡単にクラックできそうであれば、システムはそのことを通知します。警告メッセージが発行された場合は、そのパスワードを使用しないでください。

ユーザアカウントの修正

  • [Config] => [Users accounts] => [Normal] => [User accounts] を選択し、必要に応じてフィルタを使用してから、修正するアカウントを選択します。

  • ユーザアカウントフィールドへの値の入力方法についてガイドが必要な場合には、the section called ユーザアカウントの追加 を参照してください。

変更内容を適用するには、[Accept] を選択します。変更内容を取り消すには、[Cancel] を選択します。そうすることで、変更が行われないことが保証されます。

ユーザのパスワードの変更

  • [Config] => [Users accounts] => [Normal] => [User accounts] を選択します。そうすると [Users accounts] タブが開きます (Figure 3-4 を参照)。

  • [Control] => [Features] 画面での設定内容しだいではフィルタ画面が表示されることがあります。完全な一覧を取得するには、パラメータをまったく変更せずに、[Accept] を選択します。各種のフィルタに関する詳細については、[Filter control] 画面で [Help] を選択します。

  • パスワードの変更対象とするアカウントを選択します。そうすると [User information] 画面が開きます。

  • 画面下部にあるオプションの中から [Passwd] を選択します。

そうすると linuxconf は新しいパスワードの入力を要求します。[Confirmation] というフィールドもあり、ここに再度パスワードを入力する必要があります。これは、パスワードの誤入力を防ぐためのものです。パスワードの選択に関するガイドについては the section called ユーザアカウントの追加 を参照してください。パスワードの変更を取り消すには、[Cancel] を選択します。新しいパスワードを入力してから [Accept] を選択します。

Figure 3-6. [Change Password] 画面

root パスワードの変更

root のアクセス権限が持つセキュリティ上の意味を考え、linuxconf はユーザに対してその時点で root アカウントに対するアクセス権限を持つことを証明するように要求します。

  • [Config] => [Users accounts] => [Normal] => [Change root password] を選択します。

まず、現在の root パスワードを入力することで root アカウントに対するアクセス権を持っていることを証明する必要があります。

root の現在のパスワードを入力した後で、新しいパスワードを入力するように要求されます。[Confirmation] フィールドに、再度パスワードを入力します。これは、パスワードの誤入力を防ぐためのものです。パスワードの選択に関するガイドについては the section called ユーザアカウントの追加 を参照してください。適切なパスワードを選択するようにしてください。root パスワードの変更を取り消すには、[Cancel] を選択します。新しいパスワードを入力してから [Accept] を選択します。

ユーザアカウントの無効化

格納領域を確保する必要がある場合、または将来的にもそのユーザは必要ないと確信できる場合を除くと、ユーザのアカウントを削除するよりも無効化した方が良いでしょう。ユーザのアカウントを無効化すると、そのユーザはログインを許可されなくなります。

  • [Config] => [Users accounts] => [Normal] => [User accounts] を選択します。

  • アカウントの選択

  • [The account is enabled] ことを表すチェックボックスの選択を解除します。ウィンドウの下部にある [Accept] ボタンを選択すれば準備完了です。

そのアカウントは無効化されます。同じ方法で後から有効化することもできます。

ユーザアカウントの有効化

デフォルト設定では、新規作成するユーザアカウントはすべて有効化されます。アカウントを有効化する必要がある場合には、linuxconf を使用します。

[Config] => [Users accounts] => [Normal] => [User accounts] を選択します。アカウントを選択します。[The account is enabled] チェックボックスを選択します。

ユーザアカウントの削除

注意:: アカウントと関連するファイルを保持するためのオプションはいくつかありますが、削除したファイルは失われるので効果的に復元することはできません。したがってこのオプションを使用する際には注意してください。

アカウントを削除するには、

  • [Config] => [Users accounts] => [Normal] => [User accounts] を選択します。

  • [User accounts] 画面で ( を参照) 削除するアカウントを選択します。

  • [User information] 画面の下部で、[Del] を選択してアカウントを削除します。

そうすると、Linuxconf はオプションの一覧を表示します。

Figure 3-7. [Deleting Account] 画面

デフォルトのオプションは、アカウントのデータをアーカイブするものです。アーカイブオプションには以下の効果があります。

  1. ユーザはユーザアカウント一覧から削除されます。

  2. ユーザのホームディレクトリに含まれるすべてのものが取り出され、アーカイブ (tar および gzip 圧縮を使用) され、その結果のファイルが /default_home_directory/oldaccounts ディレクトリの中に保存されます。useraccount という名前のアカウントの場合、ファイル名は以下のようになります。

    useraccount-2000-01-10-497.tar.gz

    日付はいつアカウントが削除されたのかを示し、その後ろの数字は実際の削除処理を実行したプロセスの ID を表します。oldaccounts ディレクトリは、すべてのユーザディレクトリと同じ場所に作成され、このオプションによって初めてユーザアカウントを削除した時に自動的に作成されます。

  3. ユーザのホームディレクトリには含まれないものの、そのユーザが所有者であるようなファイルは残されます。ファイルの所有者は、削除されたアカウントのユーザ ID (UID) となります。新しいアカウントを作成し、削除されたアカウントの UID をそのアカウントに対して明示的に割り当てると、そのアカウントが残っているファイルの所有者となります。

[Deleting account <accountname>] 画面 (Figure 3-7を参照) 上で [Delete the account's data] を選択すると、

  1. ユーザはユーザアカウント一覧から削除されます。

  2. ユーザのホームディレクトリおよびその内容がすべて削除されます。

注意:: ユーザのホームディレクトリには含まれないものの、そのユーザが所有者であるようなファイルは残されます。ファイルの所有者は、引き続き削除されたアカウントのユーザ ID (UID) となります。新しいアカウントを作成し、削除されたアカウントの UID をそのアカウントに対して明示的に割り当てると、そのアカウントが 「残骸」 ファイルの所有者となります。

[Deleting account <accountname>] 画面 (Figure 3-7を参照) 上で [Leave the account's data in place] を選択すると、

  1. ユーザはユーザアカウント一覧から削除されます。

  2. ユーザのホームディレクトリ (およびそのすべてのファイル) は残されます。

注意:: 削除されたアカウントのユーザ ID (UID) によって所有されるファイルおよびディレクトリは残されます。新しいアカウントを作成し、明示的に削除されたアカウントの UID をそのアカウントに対して割り当てると、そのアカウントが 「残骸」 ファイルの所有者となります。

グループ

すべてのユーザは一つまたは複数のグループに属します。ファイルが固有の所有者を持つように、ファイルは特定のグループにも所属します。グループをファイルの所有者に固有のものとしたり、すべてのユーザによって共有されるグループとしたりすることができます。グループに対して、ファイルの読み込み、書き込み、または実行を行う能力を割り当てることができます。つまり、これは所有者の権限とは別個のものです。たとえば、ファイルの所有者はドキュメントに対して書き込むことができるようになる一方で、他のグループメンバーはそのファイルの参照のみを許されるかもしれません。

グループの作成

新しいグループを作成するには、

  • [Config] => [Users accounts] => [Normal] => [Group definition] を選択します。

[Control] => [Filters] での設定内容しだいではフィルタ画面が表示されることがあります。フィルタを設定するか、[Accept] を選択してフィルタをバイパスします。

Figure 3-8. [User Groups] 画面

[User groups] 画面下部にある [Add] を選択します。

Figure 3-9. [Group Specification] 画面

グループ名を入力します。[Alternate members] フィールドでグループのメンバーを指定することができます。ユーザの一覧を空白で区切って指定する必要があります。つまり、ユーザ名とユーザ名の間に空白が一つなければなりません。[Group name] を空白のままにしておいてください。そうすると新しいグループに [Group ID] (GID) が割り当てられます。指定が終了してから [Accept] を選択するとグループが作成されます。

グループの削除

グループを削除するには、

  • [Config] => [Users accounts] => [Normal] => [Group definitions] を選択します。

    [Control] => [Features] での設定内容しだいではフィルタ画面が表示されることがあります。フィルタを使用すれば、接頭辞を指定することによってグループの選択肢を絞り込むことができます。

  • 接頭辞を使用して、または使用せずに画面下部にある [Accept] を選択します。

  • [User groups] 画面で (Figure 3-8 を参照) 削除するグループを選択します。

  • そうすると [Group specification] 画面が表示されます (Figure 3-9 を参照)。

  • [Del] を選択してグループを削除します。Linuxconf は、本当に削除することの確認を求めます。グループを削除するには [yes] を選択します。

グループのファイルはそのまま残され、各ファイルの所有者は、引き続きファイルに対する制御権限を単独で持ちます。グループ名は削除されたグループの ID と置き換わります。chgrp コマンドを使用すれば、ファイルを新しいグループに割り当てることができます。chgrp の詳細を参照するには、シェルプロンプトに対して info chgrp コマンドまたは man chgrp コマンドを入力します。新しいグループを作成して、削除されたグループの ID を指定すると、削除されたグループのファイルに対するアクセス権限は新しいグループに与えられます。心配しなくても、古いユーザ ID の場合と同じく linuxconf は古いグループ番号をリサイクルしたりしないので、古いグループファイルに対する権限が誤って与えられることはありません。

グループの所属メンバーの修正

グループに所属するユーザの一覧を修正する方法は 2 つあります。各ユーザアカウント自体を更新することも、グループの定義を更新することもできます。一般に、速いのは各グループの定義を更新する方です。グループ情報以外にもユーザに関する情報を変更するのならば、ユーザアカウントを更新した方が簡単かもしれません。

ここでは、グループ定義を更新する方法を説明します。

  • シェルプロンプトに対して linuxconf と入力することで linuxconf を起動します。

  • [Config] => [Users accounts] => [Normal] => [Group definitions] を選択します。

    [Control] => [Features] での設定内容しだいでは、フィルタ画面が表示されることがあります。フィルタを使用して一覧を絞り込むか、[Accept] を選択してフィルタをバイパスします。

  • 修正するグループを選択します。そうすると [Group specification] 画面が開きます (Figure 3-9 を参照)。

  • [Alternate members] フィールドで、ユーザの追加または削除を行います。各ユーザ名が空白で区切られていることを確認してください。

  • 画面下部にある [Accept] を選択します。

そうすると、ユーザを追加した場合にはユーザアカウントの [Supplementary groups] フィールドに表示されるグループが自動的に更新され、ユーザを削除した場合は、グループが消去されます。

ユーザアカウントを個別に修正することでもグループの追加または削除を行うことができます。

  • シェルプロンプトに対して linuxconf と入力することで linuxconf を起動します。

  • [Config] => [Users accounts] => [Normal] => [User accounts] を選択します。

    [Control] => [Features] での設定内容しだいではフィルタ画面が表示されることがあります。フィルタを使用して一覧を絞り込むか、[Accept] を選択してフィルタをバイパスします。

  • [User accounts] 画面で (Figure 3-4 を参照) 更新するユーザを選択します。そうすると、[User information] 画面が表示されます。

  • 目的のグループを [Supplementary groups] フィールドに追加または削除します。各グループを空白で区切る必要があります。

  • 変更作業が終了してから、画面下部にある [Accept] を選択します。

そうするとグループ定義が自動的に更新されます。各ユーザについてこのプロセスを繰り返します。

ファイルシステム

ファイルシステムは、ファイルおよびディレクトリから構成されます。すべてのファイルシステムは単一のルートディレクトリから始まります。ルートディレクトリは、任意数のファイルおよび他のディレクトリを含むことができます。各ディレクトリについても同じことが当てはまります。平均的なファイルシステムは、ディレクトリが枝であり、ファイルが葉であるような逆さまの木のように見えることがあります。ファイルシステムはディスケットドライブ、ハードドライブ、および CD-ROM などの大容量記憶装置上に存在します。

たとえば、典型的な場合、DOS および Windows マシン上のディスケットドライブは A:\ と表されます。これは、デバイス (A:) およびこのデバイス上のルート ディレクトリ (\) の両方を表しています。典型的な場合、同じシステム上のプライマリハードドライブは 「C」 ドライブと表記されます。なぜならば、先頭ハードドライブのデバイス指定が C: だからです。C ドライブ上のルートディレクトリを指定するには、 C:\ を使用します。

このような表記方法を使用した場合には、2 つのファイルシステム - すなわち A: 上のファイルシステムと C: 上のファイルシステムが存在します。DOS/Windows のファイルシステム上で任意のファイルを指定するためには、ファイルを含むデバイスを明示的に指定するか、またはそのファイルがデフォルトのドライブ上になければなりません (つまり、DOS の C プロンプトが表示されるような場所 - ハードドライブが一つしかないようなシステムではそれがデフォルトのドライブとなります)。

Linux の場合には、複数の大容量格納記憶装置上にあるファイルシステムを連結して、一つの大規模ファイルシステムにまとめることができます。そうするには、あるデバイスのファイルシステムを別のデバイスのファイルシステムのディレクトリの 「下」 に配置します。したがって、DOS マシン上のディスケットドライブのルートディレクトリが A:\ と表記される一方で、 Linux システム上では同じドライブを /mnt/floppy としてアクセスすることができます。

このようにしてファイルシステムをマージするプロセスはマウンティングとして知られます。デバイスをマウントすると、システムのユーザによるアクセスが可能となります。アクセス可能になったファイルシステムを含む、マウントされたデバイスの「上にある」ディレクトリはマウントポイントとして知られます。前出のパラグラフの例では、/mnt/floppy がディスケットドライブのマウントポイントです。マウントポイントの命名に関しては、(通常の規則以外に) 何も制限がないことに注意してください。したがって、フロッピーを /long/path/to/the/floppy/drive にマウントすることも簡単です。

一つ気をつける必要があるのは、デバイスのファイルとディレクトリは、すべてがマウントポイントに対して相対的であるということです。以下の例を考えて見ましょう。

  • Linux システム:

    • / - システムのルートディレクトリ

    • /foo - CD-ROM のマウントポイント

  • CD-ROM:

    • / - CD-ROM のルートディレクトリ

    • /images - CD-ROM 上のイメージを含むディレクトリ

    • /images/old - 古いイメージを含むディレクトリ

したがって、上記が個別のファイルシステムを記述しているとした場合に CD-ROM を /foo にマウントするならば、新しいオペレーティングシステムのディレクトリ構造は次のようになります。

  • Linux システム (CD-ROM をマウントした場合)

    • / - システムのルートディレクトリ

    • /foo - CD-ROM のルートディレクトリ

    • /foo/images - CD-ROM 上のイメージを含むディレクトリ

    • /foo/images/old - 古いイメージを含むディレクトリ

ファイルシステムをマウントする際には、root としてログインしていることを確認してください。または、su コマンドによって root になってください。後者の場合は、シェルプロンプトに対して su と入力し、次に root パスワードを入力してください。root となったら、mount と入力し、続いてデバイスとマウントポイントを入力します。たとえば、先頭のディスケットドライブを /mnt/floppy 上にマウントするには、mount /dev/fd0 /mnt/floppy というコマンドを入力することになります。

インストール時に、Red Hat Linux は /etc/fstab を作成します。このファイルには、デバイスおよび関連マウントポイントに関する情報が含まれます。このファイルのメリットは、マウント用のコマンドを簡略化できること、およびシステムのブート時に自動的にマウントするファイルシステムを制御できることです。

/etc/fstab に含まれる情報を使用すれば、mount の次にマウントポイントまたはデバイスを入力することができます。mount コマンドは、/etc/fstab に含まれる残りの情報を検索します。このファイルを手作業で修正することも、linuxconf を使用して修正することもできます。

現在のファイルシステムの復習

ここでは、現在のディレクトリ構造を調べることから始めます。

  • [Config] => [File systems] => [Access local drive] を選択します。

Figure 3-10. [Local Volume] 画面

Figure 3-10 に示すように、以下のフィールドがあります。

  • [Source]:物理ハードウェア、hd は IDE ハードドライブ、fd はディスケットドライブ、そして cdrom は CD-ROM を表します。SCSI ドライブがある場合には、sd と表示されます。同一タイプの複数ドライブは文字で区別されるので、hda は先頭の IDE ドライブ、hdb は 2 番目のIDE ドライブを表します。場合によっては、これらの文字の後に番号が表示されます。ハードドライブの場合、その番号はドライブ上のパーティションを表します。ディスケットドライブの場合、この番号は実際のユニットを表します。

  • [Mount point]:これは、マウントされた時に、ドライブがシステムのどこでアクセス可能になるのかを表します。

  • [FsType]:ファイルシステムのタイプ。標準的な Linux パーティションでは、ext2 ファイルシステムタイプが使用されます。ファイルシステムのタイプが vfat である場合は、長いファイル名をサポートした DOS ファイルシステムを表し、fat は従来の 8.3 形式のファイル名をサポートした DOS ファイルシステムのタイプです。iso9660 ファイルシステムタイプは CD-ROM ドライブを表します。

    注意:: Red Hat Linux 7.0 は、vfat ファイルシステムタイプを使用することで FAT32 ファイルシステムにアクセスすることができます。

  • [Size]:ファイルシステムのサイズをメガバイト (M) 単位で表すことがあります。入力されないこともあります。

  • [Partition type]:このパーティション上で使用されるファイルシステムの説明 (入力されないこともあります)。

  • [Status]:デバイスがマウントされているか否か。

ネットワーク上の別のマシンに属するファイルシステムを利用することもできます。その範囲を単一の小さなディレクトリからボリューム全体までとすることができます。それらのパーティションについては、[Size] または [Partition type] に関する情報を利用することはできません。NFS ファイルシステム (利用可能な場合) に関する追加情報にアクセスするには、

[Config] => [File systems] => [Access nfs volume] を選択します。

この画面は、[Local Volume] 画面 (Figure 3-10 を参照) と類似していますが、各エントリについて与えられる情報に関して、注目に値する違いがいくつかあります。

  • [Source]:これはファイルシステムを提供するマシンの名前であり、その後にリモートディレクトリが続きます。例えば、foo:/var/spool/mail。ここで foo はディレクトリを提供するマシンであり、/var/spool/mail は提供されるディレクトリです。

  • [FsType] - これは常に 「nfs」 となります。

NFS マウントの追加

NFS (Network File System) は、コンピュータがそのローカルファイルシステムのセクションをネットワーク経由で共有するための手段です。それらのセクションは、一つのディレクトリほどの大きさでも、大きなディレクトリ階層に属する数千のファイルを含むものでもかまいません。たとえば、多くの会社は、各ユーザのローカルシステムへの NFS マウントとして提供された、個人のメールファイルを貯えた、単一のメールサーバを持つでしょう。

NFS マウントを追加するには、

  • [Config] => [File systems] => [Access nfs volume] を選択します。

  • [NFS volume] 画面で、[Add] を選択します。

Figure 3-11. [Volume Specification] 画面

次に、[Base] タブ上の 3 つのフィールドを問題にする必要があります (Figure 3-11 を参照)。

  • [Server]:目的のファイルシステムを格納するマシンのホスト名。たとえば、foo.bar.com。

  • [Volume]:追加するファイルシステム。たとえば、 /var/spool/mail

  • [Mount point]:システム内のどこからリモートのファイルシステムにアクセスできるようにするか。たとえば、/mnt/mail

これでマウントを獲得するために必要なものがすべて作成されました。Linuxconf/etc/fstab ファイルをしかるべく更新します。追加の要件に気がついた場合は、[Volume specification] 画面上のヘルプファイルを参照するか、mount man ページの詳細情報を参照してください。

情報を入力してから [Accept] を選択します。

Linuxconf との接続 (ネットワーク設定)

接続時に最初に判断すべきことは、事務所内のコンピュータのグループなどのローカルエリアネットワークに接続しているのか、インターネットなどのワイドエリアネットワークに接続しているのか、ということです。作業を続行する前に、使用ハードウェアの種類と、接続の方法を知っておくことが重要です。別のコンピュータにダイヤルインするのであれば、モデムがインストールされ、ケーブルが正しく配線されていることを確認してください。ネットワークカードを使用している場合は、カードが正しくインストールされ、ケーブルが正しく接続していることを確認してください。どのようなネットワーク設定を指定するかとは無関係に、電話回線またはケーブルの配線が間違っていると、接続することはできません。

ネットワーク接続

イーサネット経由のネットワーク接続をセットアップするためには、まったく異なるタイプのセットアップ作業を行う必要があります。Token Ring または ARCnet ネットワークとのネットワーク接続は、同様のプロシージャにしたがいますが、ここでは取り扱いません。

  • まず、イーサネットカードをインストールする必要があります。

  • シェルプロンプトに対して linuxconf と入力することで linuxconf を起動します。

  • [Config] => [Networking] => [Client tasks] => [Basic host Information] と選択します。そうすると [Host name] タブによってホスト名が要求されます。インストールプロセス中にネットワークをセットアップしなかった場合を除き、このホスト名はデフォルトで指定されているはずです。まだ指定されていない場合は、ここで設定してください。localhost.localdomain のように指定されているはずです。このタブをスキップします。[Adaptor 1] に対するタブを選択します。

Figure 3-12. Adaptor 1

この画面の最初の項目は、このアダプタを有効にするか否かを指定するためのチェックボックスです。このアダプタを使用する場合にチェックする必要があります。その下にあるのは [Config modes] の選択肢です。[Manual] は、すべての情報をユーザが指定し、入力することを意味します。[Dhcp] および [Bootp] は、ネットワーク設定情報をリモートの DHCP サーバまたは BOOTP サーバから取得することを意味します。どのオプションを選択すべきか分からない場合は、ネットワーク管理者に相談してください。

DHCP または BOOTP に関する必須フィールド:

  • [Net device] - 使用するネットワークカードのタイプ。たとえば、先頭のイーサネットカードを使用する場合には、eth0 と入力するのが適切です。

  • [Kernel module] - 使用するネットワークカードに基づいた、正しいモジュール。詳細情報については、以下の一覧を参照してください。

DHCP および bootp を設定する場合は、単に [Net device][Kernel module] を指定するだけで済みます。[Net device] については、一覧から選択することになります。ここで、eth という接頭辞はイーサネットカードを表し、arc は ARCnet カード、tr は Token Ring カードを表します。ネットワークカードおよび各モジュールの完全な一覧は、Appendix A にあります。最新の一覧については、弊社の Web サイトにアクセスしてください。

http://www.redhat.com/support/hardware

ネットマスク情報はデフォルトで設定されることがあります。セットアップまたは加入するネットワークの種類にもよりますが、この情報をユーザが指定する必要があるかもしれません。ISP に接続する場合は、ISP にこの情報を問い合わせてください。たいていの場合は 255.255.255.0 となります。

手動で設定する場合の必須フィールド:

  • [Primary name + domain] - プライマリネームはコンピュータの名前です。ドメインはネットワークの指定方法です。たとえば、foo.bar.com。ここで foo がプライマリネーム、bar.com がドメインです。

  • [IP address] - 以下のパターンにしたがうマシンのアドレス。x.x .x.x。たとえば、192.168.0.13。

  • [Net device] - 使用するネットワークカードのタイプ。先頭のイーサネットカードを使用する場合には、eth0 と入力するのが適切です。

  • [Kernel module] - 使用するネットワークカードに基づく、正しいモジュール。

ネットデバイスおよびカーネルモジュールに関する情報は、すでに記述してあります。必要な [primary name + domain] および [IP address] の値は、既存のネットワークにコンピュータを追加するのか、新しいネットワークを作成するのかによって異なります。既存のネットワークに接続する場合は、この情報をネットワーク管理者に問い合わせてください。インターネットにネットワークを接続することは、本書の範囲を超えています。したがって、以下のスタートポイントをお奨めします。

「TCP/IP Network Administration, 2nd Edition」、Craig Hunt 著 (O'Reilly and Associates)。

今後もインターネットと接続するつもりのないプライベートネットワークをセットアップする場合は、任意の [primary name + domain name] を選択し、複数の IP アドレスを使用することができます (Table 3-1 を参照)。

Table 3-1. アドレスと例

利用可能なアドレス
10.0.0.0 - 10.255.255.255 10.5.12.14
172.16.0.0 - 172.31.255.255 172.16.9.1, 172.28.2.5
192.168.0.0 - 192.168.255.25 192.168.0.13

上記の 3 つの数字の組は、それぞれがクラス a、b、c のネットワークと対応しています。クラスは、利用可能な IP アドレス数と、番号の範囲を記述するために使用されます。上記の番号は、プライベートネットワークのために用意されています。

注意:: 192.168.0.* および 192.168.255.* はプライベートと見なされるとは限らないので、インターネットに接続する場合はこれらの IP アドレスを使用すべきではありません。ネットワークをインターネットに接続する、または将来的には接続するかも知れない場合は、今のうちから非プライベートアドレスを使用してください。

ネームサーバの指定

ネットワーク接続を確立するためには、ネームサーバとデフォルトドメインも必要です。ネームサーバは、private.network.com ようなホスト名を 192.168.7.3 のような IP アドレスに変換するために使用されます。

デフォルトドメインは、完全修飾型のホスト名が指定されなかった場合に、どこを探せば良いのかをコンピュータに伝えます。完全修飾とは、アドレスを完全に指定することを言います。したがって、foo.redhat.com は完全修飾型のホスト名であり、ホスト名は単純に foo となります。デフォルトドメインとして redhat.com を指定した場合には、ホスト名のみを使用しても正常に接続することができます。たとえば、サーチドメインが redhat.com の場合は ftp foo で十分ですが、そうでなければ、ftp foo.redhat.com と指定する必要があります。

ネームサーバを指定するには、[Config] => [Networking] => [Client tasks] => [Name server specification (DNS)] と選択します。

Figure 3-13. [Resolver Configuration] 画面

ネームサーバは、アクセスされる順序にしたがってランク付けされます。したがって、複数のネームサーバを指定する場合は、一覧内に 1 番目、2 番目、3 番目、などと呼ばれるネームサーバが見られることがよくあります。それらは名前ではなく IP アドレスでなければなりません。なぜならば、ネームサーバに接続しなければコンピュータは名前を解決する方法を持たないからです。

デフォルトドメインの他に、サーチドメインを指定することもできます。サーチドメインの機能は異なっています。つまり、サーチドメインはネームサーバと同じような方法で、1 から 6 という順序でアクセスされます。ただし、すべてのサーチドメインはデフォルトドメインに優先します。サーチドメインを指定する際には、このことを念頭においてください。一般に、サーチドメインは使用されません。

まだ取り扱っていない項目は、DNS の使用法に関するチェックボックスです。インターネットに接続していない、小さなプライベートネットワークを運用する場合は、/etc/hosts ファイルを使用し、それらのファイルの同期をとっておけばうまくいきます。ただし、マシンを追加するにしたがって、どんどん複雑になります。最終的には単一のマシン上で DNS を動作させる方が /etc/hosts ファイルの同期をとるよりも簡単になります。

DNS を使用しないもう一つのケースとして、代わりに NIS を使用する場合があります。NIS を DNS と併用できることに注意してください。したがって、/etc/hosts や NIS の使用が適切であるという理由がなければ、おそらく DNS によってすべてをまとめるのが最適な選択肢となります。

linuxconf を使用すれば、/etc/hosts ファイルのエントリの追加、修正、削除を行うことができます。[Config] => [Networking] => [Misc] => [Information about other hosts] と選択します。

Figure 3-14. [/etc/hosts] 画面

エントリを修正または削除するには、エントリを選択します。エントリを削除するには、[host/network definition] 画面の下部にある [Del] ボタンを選択します。

Figure 3-15. [Host/Network Definition] 画面

修正するには、必要に応じて情報を変更します。新しいエントリを追加するには、[etc/hosts] 画面の下部にある [Add] ボタンを選択します。そうすると [host/network definition] 画面が開きます。

必須フィールド:

  • [Primary name + domain] - プライマリネームはコンピュータの名前です。ドメインはネットワークを接続する方法を指定します。たとえば、foo.bar.com の場合、 foo がプライマリネーム、bar.com がドメインです。

  • [IP number] - IP アドレスとも呼ばれます。これは、以下のパターンにしたがうマシンのアドレスです。x.x.x.x。たとえば、192.168.0.13。

オプションフィールド:

  • [Aliases] - 完全修飾型ドメイン名の簡略形式です。プライマリネームと同じであることが良くあります。したがって、完全修飾型のドメイン名が foo.bar.com である場合は、エイリアスとして foo を選択することができます。

  • [Comment] - マシンに関するコメント。たとえば、「The remote nameserver」。

作業が終了した後で、[Accept] を選択します。

linuxconf の使い方

以下の表は、本章に関するクイックリファレンスです。linuxconf に関する完全なクイックリファレンスではありません。linuxconf は、本書に記載されない多くの機能を提供しています。

Table 3-2. Linuxconf クイックリファレンス

実行したいことlinuxconf のどこで見つかるか
ユーザアカウントの追加/修正/無効化/削除[Config] => [Users accounts] => [Normal] => [User accounts]
ユーザのパスワードの変更[Config] => [Users accounts] => [Normal] => [User accounts]
root パスワードの変更[Config] => [Users accounts] => [Normal] => [Change root password]
ネットワークの設定[Config] => [Networking] => [Client tasks] => [Basic host Information]
グループの作成/削除[Config] => [Users accounts] => [Normal] => [Group definitions]
パスワード関連パラメータの編集[Users Accounts] => [Password & Account Policies]
ツリーメニューの無効化[Control] => [Control files and systems] => [Configure linuxconf modules]
linuxconf への Web ベースのアクセスの有効化[Config] => [Networking] => [Misc] => [Linuxconf network access]
/etc/hosts の修正[Config] => [Networking] => [Misc] => [Information about other hosts]
グループ所属関係の修正[Config] => [Users accounts] => [Normal] => [Group definitions] または [Config] => [Users accounts] => [Normal] => [User accounts]
フィルタパラメータの設定[Control] => [Features]
ネームサーバ (DNS) の指定[Config] => [Networking] => [Client tasks] => [Name server specification (DNS)]
ファイルシステムの参照[Config] => [File systems] => [Access local drive] または [Config] => [File systems] => [Access nfs volume]