ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: 一般的なタスク Oracle Solaris 11 Information Library (日本語) |
1. Oracle Solaris のコマンドに関する情報の検索
ユーザー名、ユーザー ID、グループ ID の割り当てのガイドライン
ユーザーアカウントとグループアカウントの管理用コマンド行ツール
4. Oracle Solarisシステムのブートとシャットダウン
5. Oracle Configuration Manager の操作
16. システムコンソール、端末デバイス、および電源サービスの管理 (手順)
19. システムおよびソフトウェアのトラブルシューティング (手順)
ユーザーのホームディレクトリの設定には、ユーザーのログインシェルにユーザー初期設定ファイルを提供することも含まれます。ユーザー初期設定ファイルは、ユーザーがシステムにログインしたあとにユーザーのために作業環境を設定するシェルスクリプトです。基本的にシェルスクリプトで行える処理はどれもユーザー初期設定ファイルで実行できます。主に、ユーザーの検索パス、環境変数、ウィンドウ機能の環境など、ユーザーの作業環境を定義します。次の表に示すように、各ログインシェルには、1 つまたは複数の、固有のユーザー初期設定ファイルがあります。bash シェルと ksh93 シェルの両方で、デフォルトのユーザー初期設定ファイルは /etc/skel/local.profile であることに注意してください。
表 2-6 bash および ksh93 のユーザー初期設定ファイル
|
これらのファイルを変更して、すべてのユーザーに共通の作業環境を提供する標準のファイルセットを作成できます。異なるタイプのユーザーごとに作業環境を提供する場合にも、これらのファイルを利用できます。
異なるタイプのユーザーにユーザー初期設定ファイルを作成する手順については、「ユーザー初期設定ファイルをカスタマイズする方法」を参照してください。
ユーザー初期設定ファイルは、管理者とユーザーの両者によってカスタマイズできます。この重要な作業は、「サイト初期設定ファイル」と呼ばれる、大域的に配布されるユーザー初期設定ファイルによって実現します。サイト初期設定ファイルを使用して、ユーザーの作業環境に新しい機能を絶えず導入でき、しかもユーザーはユーザー初期設定ファイルをカスタマイズすることもできます。
ユーザー初期設定ファイルでサイト初期設定ファイルを参照するとき、サイト初期設定ファイルに対して行なったすべての更新は、ユーザーがシステムにログインするときかユーザーが新しいシェルを起動するとき自動的に反映されます。サイト初期設定ファイルは、ユーザーを追加したときにはなかったサイト全体の変更をユーザーの作業環境に配布するよう設計されています。
ユーザー初期設定ファイルでできるカスタマイズは、サイト初期設定ファイルでも行えます。これらのファイルは通常はサーバー、またはサーバーのグループにあり、ユーザー初期設定ファイルの最初の行に現れます。また、各サイト初期設定ファイルは、それを参照するユーザー初期設定ファイルと同じ型のシェルスクリプトでなければなりません。
bash または ksh93 ユーザー初期設定ファイル内でサイト初期設定ファイルを参照するには、ユーザー初期設定ファイルの先頭に次のような行を記述します:
. /net/machine-name/export/site-files/site-init-file
ユーザー初期設定ファイルに、ローカルシステムへの個々の参照を追加しないでください。ユーザー初期設定ファイルの設定は、ユーザーがどのシステムにログインしても有効になる必要があるからです。
例:
ユーザーのホームディレクトリをネットワーク上の任意の位置で利用できるようにするには、常に環境変数の値 $HOME を使用してホームディレクトリを参照してください。たとえば、/export/home/username/bin ではなく $HOME/bin を使用してください。$HOME 変数は、ユーザーが別のシステムにログインする場合でも有効で、その場合ホームディレクトリは自動マウントされます。
ローカルディスクのファイルにアクセスするには、/net/system-name/directory-name などの大域パス名を使用してください。システムが AutoFS を実行していれば、/net/system-name で参照されるディレクトリはすべてユーザーがログインする任意のシステムに自動的にマウントできます。
Oracle Solaris リリースのインストール時に作成されるユーザーアカウントには、デフォルトで GNU Bourne-Again Shell (bash) が割り当てられます。標準のシステムシェルである bin/sh は現在、Korn Shell 93 (ksh93) です。デフォルトの対話型シェルは Bourne-again (bash) シェルで、/us/bin/bash です。bash シェルと ksh93 シェルはどちらもコマンド行編集機能を備えており、コマンドを実行する前にコマンドを編集できます。別のシェルに変更するには、使用するシェルのパスを入力します。シェルを終了するには、exit と入力します。
次の表は、このリリースでサポートされているシェルオプションの説明です。
表 2-7 Oracle Solaris リリースでの基本的なシェル機能
|
注 - Z シェル (zsh) および拡張 C シェル (tsch) は、デフォルトではシステムにインストールされません。これらのシェルを使用するには、まず、必要なソフトウェアパッケージをインストールする必要があります。
bash シェルと ksh93 シェルはどちらも、ユーザーが実行するすべてのコマンドの履歴を記録します。この履歴はユーザー単位で保持されます。つまり、履歴は複数のログインセッションにまたがって持続し、ユーザーのすべてのログインセッションを表現します。
たとえば、bash シェルを使用している場合、実行したコマンドの完全な履歴を参照するには、次のように入力します:
$ history 1 ls 2 ls -a 3 pwd 4 whoami . . .
以前のコマンドの数を表示するには、コマンドに整数を含めます:
$ history 2 12 date 13 history
詳細は、history(1) のマニュアルページを参照してください。
bash シェルと ksh93 シェルは、シェルが認識している特殊な変数情報を環境変数として格納します。bash シェルで、現在の環境変数の完全な一覧を表示するには、次のように declare コマンドを使用します:
$ declare BASH=/usr/bin/bash BASH_ARGC=() BASH_ARGV=() BASH_LINEND=() BASH_SOuRCE=() BASH_VERSINFO=([0]=''3'' [1]=''2'' [2]=''25'' [3]=''1'' [4]=''release'' [5]'' . . .
ksh93 シェルでは、bash シェルの declare コマンドに相当する set コマンドを使用します:
$ set COLUMNS=80 ENV='$HOME/.kshrc' FCEDIT=/bin/ed HISTCMD=3 HZ='' IFS=$' \t\n' KSH_VERSION=.sh.version LANG=C LINENO=1 . . .
どちらのシェルでも、環境変数を出力するには echo または printf コマンドを使用します。例:
$ echo $SHELL /usr/bin/bash $ printf ''$PATH\n'' /usr/bin:/usr/sbin
注 - 環境変数は複数のセッション間で持続しません。複数のログインにまたがって一貫性を保つ環境変数を設定するには、.bashrc ファイルで変更を行う必要があります。
シェルには次の 2 種類の変数があります。
シェルによって生成されるすべてのプロセスにエクスポートされる変数を指定します。変数のエクスポートには export コマンドが使用されます。例:
export VARIABLE=value
これらの設定は env コマンドを使用して表示できます。PATH などを含む環境変数の一部が、シェルそのものの動作に影響を与えます。
現在のシェルのみに影響を及ぼす変数を指定します。
ユーザー初期設定ファイルで、定義済み変数の値を変更するか、または追加の変数を指定することによって、ユーザーのシェル環境をカスタマイズすることができます。
次の表に、Oracle Solaris リリースで使用可能なシェルと環境変数の詳細を示します。
表 2-8 シェル変数と環境変数の説明
|
Bash シェルをカスタマイズする場合は、ホームディレクトリにある .bashrc ファイルに必要な情報を追加します。Oracle Solaris のインストール時に作成される初期ユーザーは、PATH、MANPATH、およびコマンドプロンプトを設定するための .bashrc ファイルを持っています。詳細については、bash (1) のマニュアルページを参照してください。
MANPATH 環境変数は、man コマンドがリファレンスマニュアル (man) ページを探す場所を指定します。MANPATH はユーザーの PATH の値に基づいて自動的に設定されますが、通常、/usr/share/man と usr/gnu/share/man が含まれます。
ユーザーの MANPATH 環境変数は、PATH 環境変数とは無関係に変更できることに注意してください。関連付けられたマニュアルページの場所と、ユーザーの $PATH 内のディレクトリが 1 対 1 で対応している必要ありません。
ユーザーが絶対パス名でコマンドを入力すると、シェルはそのパス名を使ってコマンドを探します。ただし、ユーザーがコマンド名しか指定しないと、シェルは PATH 変数で指定されているディレクトリの順でコマンドを探します。コマンドがいずれかのディレクトリで見つかれば、シェルはコマンドを実行します。
デフォルトのパスがシステムで設定されます。しかし、大部分のユーザーはそれを変更してほかのコマンドディレクトリを追加します。環境の設定や、正しいバージョンのコマンドまたはツールへのアクセスに関連して発生するユーザーの問題の多くは、パス定義の誤りが原因です。
次に、効率的な PATH 変数を設定するためのガイドラインをいくつか示します。
カレントディレクトリ . をパスに含める必要がある場合は、最後に配置してください。悪意のある人物が、改ざんされたスクリプトまたは実行可能ファイルをカレントディレクトリに隠す可能性があるため、パスにカレントディレクトリを含めることはセキュリティー上のリスクとなります。代わりに絶対パス名を使用することを検討してください。
検索パスはできるだけ短くしておきます。シェルはパスで各ディレクトリを探します。コマンドが見つからないと、検索に時間がかかり、システムのパフォーマンスが低下します。
検索パスは左から右に読まれるため、通常使用するコマンドをパスの初めの方に指定するようにしてください。
パスでディレクトリが重複していないか確認してください。
可能であれば、大きなディレクトリの検索は避けてください。大きなディレクトリはパスの終わりに指定します。
NFS サーバーが応答しないときに「ハング」の可能性が小さくなるように、NFS がマウントするディレクトリより前にローカルディレクトリを指定します。この方法によって、不要なネットワークトラフィックも減少します。
LANG と LC の各環境変数は、ロケール固有の変換と表記をシェルに指定します。指定できる変換と表記には、タイムゾーンや照合順序、および日付、時間、通貨、番号の書式などがあります。さらに、ユーザー初期設定ファイルで stty コマンドを使って、端末のセッションが複数バイト文字をサポートするかどうかを指定できます。
LANG 変数は、ロケールのすべての変換と表記を設定します。ロケールの各種の設定を個別に行うには、次の LC 変数を使用します。 LC_COLLATE、LC_CTYPE、LC_MESSAGES、LC_NUMERIC、LC_MONETARY、および LC_TIME です。
注 - Oracle Solaris 11 はデフォルトで、UTF-8 ベースのロケールのみをインストールします。
次の表では、コア Oracle Solaris 11 ロケールの環境変数の値について説明します。
表 2-9 LANG と LC 変数の値
|
例 2-1 LANG 変数によるロケールの設定
Bourne または Korn シェルのユーザー初期化ファイルでは、次の行を追加してください:
LANG=de_DE.ISO8859-1; export LANG
LANG-de_DE.UTF-8; export LANG
ファイルまたはディレクトリを作成したときに設定されるデフォルトのファイルアクセス権は、「ユーザーマスク」によって制御されます。ユーザーマスクは、初期設定ファイルで umask コマンドによって設定されます。現在のユーザーマスクの値は、umask と入力して Return キーを押すと表示できます。
ユーザーマスクは、次の 8 進値で構成されます。
最初の桁でそのユーザーのアクセス権を設定する
2 桁目でグループのアクセス権を設定する
3 桁目でその他 (「ワールド」とも呼ばれる) のアクセス権を設定する
最初の桁がゼロの場合、その桁は表示されません。たとえば、ユーザーマスクを 022 に設定すると、22 が表示されます。
設定する umask の値は、与えたいアクセス権の値を 666 (ファイルの場合) または 777 (ディレクトリの場合) から差し引きます。引いた残りが umask に使用する値です。たとえば、ファイルのデフォルトモードを 644 (rw-r--r--) に変更するとします。666 と 644 の差である 022 が、umask コマンドの引数として使用する値です。
また、次の表から umask 値を決めることもできます。この表は、umask の各 8 進値から作成される、ファイルとディレクトリのアクセス権を示しています。
表 2-10 umask 値のアクセス権
|
次の例は、デフォルトのファイルアクセス権を rw-rw-rw- に設定します。
umask 000
次に示すのは、.profile ユーザー初期設定ファイルの例です。このファイルを使用して、自分自身のユーザー初期設定ファイルをカスタマイズすることができます。この例では、特定のサイト用に変更する必要があるシステム名とパスを使用します。
例 2-2 .profile ファイル
(Line 1) PATH=$PATH:$HOME/bin:/usr/local/bin:/usr/gnu/bin:. (Line 2) MAIL=/var/mail/$LOGNAME (Line 3) NNTPSERVER=server1 (Line 4) MANPATH=/usr/share/man:/usr/local/man (Line 5) PRINTER=printer1 (Line 6) umask 022 (Line 7) export PATH MAIL NNTPSERVER MANPATH PRINTER
ユーザーのシェル検索パスを設定する
ユーザーのメールファイルへの検索パスを設定する
ユーザーの時間/クロックサーバーを設定する
マニュアルページへのユーザーの検索パスを設定する
ユーザーのデフォルトプリンタを設定する
ユーザーのデフォルトのファイル作成アクセス権を設定する
指定された環境変数をエクスポートする