この章では、 Solaris 7 ソフトウェアをインストールした後に、ローカルユーザの環境を設定する際の作業の違いについて説明します。
ログインシェルは、ログイン時に実行されるコマンドインタプリタです。Solaris 7 環境には、次の 3 つのシェルがあります。
Bourne シェル、デフォルトシェル (/bin/sh)
C シェル (/bin/csh)
Korn シェル (/bin/ksh)
シェルを頻繁に使用するのであれば、対話形式で行える C シェルか Korn シェルを使用する方がよいでしょう。表 6-1 は、3 つのシェルの機能の一覧です。
表 6-1 Bourne シェル、C シェル、Korn シェルの基本機能
機能 |
Bourne |
C |
Korn |
---|---|---|---|
sh との構文の互換性 |
あり |
なし |
あり |
ジョブ制御 |
あり |
あり |
あり |
履歴リスト |
なし |
あり |
あり |
コマンド行編集 |
なし |
あり |
あり |
別名 |
なし |
あり |
あり |
ログインディレクトリの 1 文字省略形 |
なし |
あり |
あり |
上書きに対するファイルの保護 (noclobber) |
なし |
あり |
あり |
CTRL-D の無視 (ignoreeof) |
なし |
あり |
あり |
拡張 cd |
なし |
あり |
あり |
.profile 以外の初期設定ファイル |
なし |
あり |
あり |
ログアウトファイル |
なし |
あり |
なし |
あるシェルから別のシェルへ変更したいときは、次のどちらかの方法を使ってください。
方法 1 - /etc/passwd ファイルの中の、ユーザのログイン名で始まる行の最後のフィールドにある情報を編集してください。この指定がブランクまたは sh の場合、ログインシェルは Bourne シェルです。csh の場合、ログインシェルは C シェルです。ksh の場合、ログインシェルは Korn シェルです。
方法 2- ウィンドウ環境では、Admintool を使います。詳細は『OpenWindows ユーザーズガイド (上級編)』 を参照してください。
新しいシェルに変更した後は、ログアウトし、再びログインを行い、シェルを起動します。
この節では、ユーザが選択したログインシェルに基づいてローカル環境をカスタマイズするために、どの初期設定ファイルを編集するか、また SunOS 5.7 ファイルシステムのどこにその初期設定ファイルがあるかを確認する方法を説明します。初期設定ファイルの変数を編集して、環境設定を行います。使用するデフォルトシェルにより、.profile、.login、.cshrc のうちどのファイルを編集するか決定します。表 6-2 に Bourne シェル、C シェル、Korn シェルの初期設定ファイルを示します。
表 6-2 Bourne シェル、C シェル、Korn シェルの初期設定ファイル
シェル |
初期設定ファイル |
使用される目的 |
---|---|---|
/etc/profile |
ログイン時にシステムプロファイルを定義する |
|
|
ログイン時にユーザのプロファイルを定義する |
|
/etc/.login |
ログイン時にシステム環境を定義する |
|
|
ログイン時にユーザの環境を定義する |
|
|
$HOME/.login |
ログイン時にユーザのプロファイルを定義する |
Korn |
/etc/profile |
ログイン時にシステムプロファイルを定義する |
|
$HOME/.profile |
ログイン時にユーザのプロファイルを定義する |
|
ksh_env 変数によって指定されるファイルを使用し、ログイン時にユーザの環境を定義する |
このリリースでは、シェルの初期設定ファイルのテンプレートは、SunOS 4 ソフトウェアの /usr/lib から /etc/skel ディレクトリに移りました。テンプレートファイルの位置を表 6-3 に示します。デフォルトシェルを変更するときは、対応するテンプレートファイル (1 つまたは 2 つ) を、ホームディレクトリへコピーしてから行なってください。
表 6-3 デフォルトホームディレクトリの起動ファイル
シェル |
ファイル名 |
---|---|
/etc/skel/local.profile |
|
/etc/skel/local.login /etc/skel/local.cshrc |
|
Korn |
/etc/skel/local.profile |
初期設定ファイルの設定の詳細については、『Solaris のシステム管理 (第 1 巻)』を参照してください。
SunOS 4 作業環境を引き続き使用したい場合、SunOS 5.7 では、古いシステムファイルと .login、.cshrc、.profile などの初期設定ファイルを使って SunOS 4 の見た目と使い心地を作成し直すことができます。これらの SunOS 4 ファイルの多くは、変換するか、またはそのまま使用することができ、簡単に実行できます。
第 3 章「SunOS 4 システムから Solaris 7 オペレーティング環境への変換」のインストール作業で、SunOS 4 環境を Solaris 7 環境で作成し直す方法について説明しています。
CDE は、Solaris 7 ウィンドウ環境のデフォルトで、簡単で視覚的に理解しやすいインターフェースです。CDE についての詳細は、第 14 章「Solaris 共通デスクトップ環境」を参照してください。
OpenWindows 3.6 ソフトウェアは Solaris 7 環境でデスクトップとして使用することもできます。OpenWindows 2.0 環境を使用していた場合は、OpenWindows 3.6 のアイコンが変更されていることと、OpenWindows 3.6 プラットフォームと互換性のないアプリケーションがあることに気付くと思います。
OpenWindows Developer's Guide File Chooser (gfm) の正規表現ファイルパターンマッチングコード (filter_pat) は、XView File Chooser オブジェクトの正規表現ファイルパターンマッチングコードとはわずかに異なります。2 つの異なる chooser にあるわずかに異なるファイルセットに対応し、同じ正規表現が得られます。XView File Chooser は、SunOS 5.7 では /usr/include/reexp.h を使用しており、使用方法は正しいものです。
SunView ソフトウェアは、Solaris 7 環境に含まれるものではありません。SunView アプリケーションは OpenWindows 環境には対応していないため、変換する必要があります。
次の情報については、『OpenWindows Version 3.1 User's Guide』を参照してください。
OpenWindows 3.1 環境の機能
OpenWindows Version 2.0 および 3.1 プラットフォーム間で互換性のないアプリケーション
互換性のないアプリケーションを変更するためのガイドライン
この節ではユーザとグループを管理するためのオプションについて説明します。
useradd、userdel、usermod をコマンド行から入力し、ユーザとグループを追加、変更、削除することができます。これらのコマンドは、Admintool ほど強力ではありませんが、Admintool がサポートしている大部分の作業を OpenWindows や CDE ソフトウェアを実行しないで、コマンド行から実行できます。
useradd、userdel、usermod コマンドはローカルシステムにしか影響を与えない点で、/etc 内のファイルを編集するのに似ています。これらのコマンドは、ネットワークネームサービスの情報を変更するのに使用することはできません。しかし、useradd を使用して、ネットワークネームサービスでのユーザ名やユーザ ID の重複、グループ名の存在をチェックすることができます。
この節では、ユーザアカウントを追加する一般的な手順の変更について説明します。
SunOS 4 では、システムに新しいユーザを追加するための一般的な手順は次のようになっていました。
/etc/passwd ファイルを編集し、新しいユーザのエントリを追加します。
ホームディレクトリを作成し、新しいユーザのパーミッションを設定します。
新しいユーザのスケルトンファイルを設定します (.cshrc、.login、 .profile など) 。
ネームサービス (NIS) に新しいユーザを追加します。
Solaris 7 環境には、ユーザアカウントを追加 (および管理) する方法が 3 つあります。
Admintool を使用する - システムが OpenWindows 環境を実行している場合は、これがもっとも簡単な方法です。
手作業でファイルを編集する - SunOS 4 の手順に似ています。ただし、いくつか例外があります。
SunOS 5.7 ソフトウェアはシャドーパスワードファイルを使用しているため、 /etc/passwd ファイルを編集するだけでは不十分です。この種の管理作業の経験が十分にない場合は、この方法を使用しないでください。
『Solaris のシステム管理 (第 1 巻)』では、アカウントの設定を始める前に考慮すべき点について詳しく説明しています。また、システムとネットワークのユーザアクセスを制御するための、セキュリティ上の留意点についても説明しています。
SunOS 4 メールプログラムは、Solaris 7 環境では変更されています。ただし、設定手順は同じです。SunOS 4 の mail は、SunOS/BSD ソース互換パッケージ に含まれています。このインタフェースは Solaris 7 の mail とは異なります。さらに、互換性を確保するために便利なメール機能もいくつか含まれています。
Solaris 7 環境には、メールを送信したり受け取るためのプログラムが 3 つあります。これら 3 つのプログラムはすべて下方互換性があり、古い SunOS 4 メールを読み取ることができます。これらのプログラムは次のとおりです。
mailtool - メールプログラムのための OpenWindows インタフェース。新しい Solaris 7 の mailtool オプションによって、メッセージへのファイルの添付、メールへのサードパーティメッセージの組み込み、複数の受信者へのメールの配信、音声メッセージの送信を行うことができます。
mailtool の詳細な説明は、『OpenWindows Version 3.1 User's Guide』を参照してください。
mailx - /usr/bin/mailx. にインストールされています。これは Solaris 7 のメール読み取りプログラムです。SunOS 4 の /usr/ucb/mail の機能を拡張させたものです。Solaris 7 環境では、/usr/ucb/mail は/usr/bin/mailx へのリンクです。mailx はメッセージヘッダを提供し、メッセージを読む前にそのメッセージの送信者とタイトルを見ることができます。またメールメッセージの読み取り、送信、編集を切り替えることも可能です。
mailx についての詳細は、mailx(1) のマニュアルページを参照してください。
mail は /usr/bin/mail にあるメールプログラムを参照します。Solaris 7 インタフェースは SunOS 4 の /usr/bin/mail バージョン (bin-mail(1) のマニュアルページを参照) と似ています。
mail についての詳細は mail(1) のマニュアルページを参照してください。
Solaris 7 メールプログラムの詳細は、『メールシステムの管理』を参照してください。
この節では SunOS 4 と Solaris 7 環境で文書ツールを使用する際の主な違いを説明します。
Solaris 7 環境は、PostScript フィルタセットとデバイスに依存しないフォントを備えています。しかし、SunOS 5.7 は SunOS 4 TranScript フィルタの大部分と同等の機能を備えています。ただし、SunOS 5.7 システムでは、TEX フィルタや pscat (C/A/T) フィルタ、ラスタイメージフィルタはありません。
Solaris 7 環境には、デバイスに依存しない troff があります。SunOS 4 の troff 入力ファイルは、Solaris 7 の troff で使用できますが、 troff のデフォルト出力はプリンタではなく、標準出力に出力されます。したがって、 troff 出力をプリンタへ送るときには、プリンタを指定しなければなりません
マニュアルページの構成は、SVR4 構成と互換性を持つように変更されました。その結果、一部の節は名前が変更されています。たとえば、man(8) は man(1M) になっています。
表 6-4 は、SunOS 5.7 のマニュアルページのディレクトリを示します。
表 6-4 SunOS 5.7 マニュアルページディレクトリ
/man ディレクトリ |
内容 |
接尾辞 |
---|---|---|
man1 |
ユーザコマンド |
1B - SunOS/BSD 互換コマンド |
|
|
1C - 通信コマンド |
|
|
1F - FMLI コマンド |
|
|
1S - SunOS コマンド |
man1M |
システム管理コマンド |
|
man2 |
システムコール |
|
man3 |
ライブラリ関数 |
3B - SunOS/BSD 互換ライブラリ |
|
|
3C - C ライブラリ関数 |
|
|
3E - ELF ライブラリ関数 |
|
|
3G - C ライブラリ関数 |
|
|
3I - ワイド文字関数 |
|
|
3K - カーネル VM ライブラリ関数 |
|
|
3M - 数学関数 |
|
|
3N - ネットワーク関数 |
|
|
3R - RPC サービス関数 |
|
|
3S - 標準入出力関数 |
|
|
3T - スレッドライブラリ関数 |
|
|
3X - その他のライブラリ関数 |
man4 |
ファイル形式 |
4B - SunOS/BSD 互換ファイル形式 |
man5 |
ヘッダ、テーブル、マクロ |
|
man7 |
特殊ファイル |
|
man9 |
DDI/DKI |
|
man9E |
DDI/DKI エントリポイント |
|
man9F |
DDI/DKI カーネル関数 |
|
man9S |
DDI/DKI データ構造 |
SunOS 4 ソフトウェアでは、個々の man ディレクトリを、あらかじめ決められた順序に従って検索していましたが、 SunOS 5.7 ソフトウェアではユーザが検索パスを決めます。man コマンドは、man ページ構成ファイル man.cf に設定されたパスを使用します。
MANPATH
環境変数の各構成部分に、異なる man.cf ファイルを入れることができます。man.cf を変更して、検索の順序を変更することができます。たとえば、3c の前に 3b を検索するように指定できます。/usr/share/man ディレクトリ用の構成ファイルを次に示します。
# # Default configuration file for the on-line manual pages. # MANSECTS=1,1m,1c,1f,1s,1b,2,3,3c,3s,3x,3i,3t,3r,3n,3m,3k,3g, ¥ 3e,3b,9f,9s,9e,9,4,5,7,4b,6,l,n |
MANSECTS に指定している引数は、利用できる man サブディレクトリの、man の次に付いている文字です。サブディレクトリの数は、各サブセクションに独自のディレクトリがあるため、このリリースでは大幅に増えています。この新しい構造は、man コマンドの性能を向上させ、検索パスをより細かく制御します。次の 2 つの図は、2 つのリリースのマニュアルディレクトリを比較したものです。
sunos4.1% ls /usr/share/man man1/ man2/ man3/ man4/ man5/ man6/ man7/ man8/ manl/ mann/ |
SunOS 4 では、マニュアルページの目次とキーワードのデータベースを whatis と呼んでいましたが、SunOS 5.7 ソフトウェアでは、この情報は windex ファイルにあります。どちらのリリースでもデータベースの作成には catman コマンドを使用し、データベースを利用するには man、apropos および whatis コマンドを使用します。
また次に示すように windex ファイルのフォーマットも whatis ファイルとは少し異なっています。
sunos4.1% man -k tset tset, reset (1) - establish or restore terminal characteristics |
SunOS5.7% man -k tset reset tset (1b) - establish or restore terminal characteristics tset tset (1b) - establish or restore terminal characteristics |
表 6-5 は、 SunOS 5.7 の man コマンドにさらに検索オプションがあることを示しています。
表 6-5 新しい man コマンドオプション
オプション |
説明 |
---|---|
-a |
file name に一致するマニュアルページをすべて表示する。ページは見つかった順に続けて表示される。 |
-l |
file name に一致するマニュアルページをすべて一覧表示する。このコマンドの出力で確認すれば、-s オプションでセクション番号を指定できる。 |
-s section-number |
file name の section-number を検索する。SunOS 4 ソフトウェアの man コマンドでは、オプションでセクション番号を指定することができたが、このリリースではセクション番号を -s に続けて指定しなければならない。 |
-F |
file name で指定したファイルが見つかるまで man コマンドにすべてのディレクトリを検索させる。このオプションは windex データベースと man.cf ファイルの設定を無効にする。 |