JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 のユーザーアカウントとユーザー環境の管理     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  ユーザーアカウントとユーザー環境の管理 (概要)

ユーザーアカウントとユーザー環境の管理の新機能と変更された機能

ユーザーアカウントの管理に影響するセキュリティーの変更

ユーザーマネージャー GUI の概要

管理エディタ (pfedit)

/var/user/$USER サブディレクトリ

groupadd コマンドの変更

失敗したログイン回数の通知

ユーザーアカウントとグループとは

ユーザーアカウントのコンポーネント

ユーザー (ログイン) 名

ユーザー ID 番号

大きな数値のユーザー ID とグループ ID の使用

UNIX グループ

ユーザーパスワード

ホームディレクトリ

ネームサービス

ユーザーの作業環境

ユーザー名、ユーザー ID、グループ ID の割り当てのガイドライン

ユーザーアカウントとグループ情報の格納場所

passwd ファイルのフィールド

デフォルトの passwd ファイル

shadow ファイルのフィールド

group ファイルのフィールド

デフォルトの group ファイル

ユーザーアカウント情報を取得するためのコマンド

ユーザー、役割、およびグループの管理に使用されるコマンド

ユーザーの作業環境のカスタマイズ

サイト初期設定ファイルの使用方法

ローカルシステムへの参照を避ける

シェル機能

bash および ksh93 シェルの履歴

bash および ksh93 のシェル環境変数

Bash シェルのカスタマイズ

MANPATH 環境変数

PATH 環境変数

パスの設定のガイドライン

ロケール変数

デフォルトのファイルアクセス権 (umask)

ユーザー初期設定ファイルのカスタマイズ

2.  コマンド行インタフェースを使用したユーザーアカウントの管理 (タスク)

3.  ユーザーマネージャー GUI を使用したユーザーアカウントの管理 (タスク)

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

ユーザーの作業環境のカスタマイズ

このセクションでは次の情報について説明します。

ユーザーのホームディレクトリの設定には、ユーザーのログインシェルにユーザー初期設定ファイルを提供することも含まれます。ユーザー初期設定ファイルは、ユーザーがシステムにログインしたあとにユーザーのために作業環境を設定するシェルスクリプトです。基本的にシェルスクリプトで行えるタスクはどれもユーザー初期設定ファイルで実行できます。ただし、ユーザー初期設定ファイルのプライマリジョブはユーザーの検索パス、環境変数、ウィンドウ表示環境などのユーザー作業環境の特性を定義することです。次の表に示すように、各ログインシェルには、1 つまたは複数の、固有のユーザー初期設定ファイルがあります。bash シェルと ksh93 シェルの両方で、デフォルトのユーザー初期設定ファイルは /etc/skel/local.profile であることに注意してください。

表 1-7 bash および ksh93 のユーザー初期設定ファイル

シェル
ユーザー初期設定ファイル
目的
bash
$HOME/.bash_profile

$HOME/.bash_login

$HOME/.profile

ログイン時のユーザー環境を定義します
ksh93
/etc/profile

$HOME/.profile

ログイン時のユーザー環境を定義します
$ENV
ログイン時のユーザー環境をファイル内に定義し、Korn シェルの ENV 環境変数によって指定します

これらのファイルを変更して、すべてのユーザーに共通の作業環境を提供する標準のファイルセットを作成できます。異なるタイプのユーザーごとに作業環境を提供する場合にも、これらのファイルを利用できます。

異なるタイプのユーザーにユーザー初期設定ファイルを作成する手順については、「ユーザー初期設定ファイルをカスタマイズする方法」を参照してください。

サイト初期設定ファイルの使用方法

ユーザー初期設定ファイルは、管理者とユーザーの両者によってカスタマイズできます。この重要なタスクは、「サイト初期設定ファイル」と呼ばれる、大域的に配布されるユーザー初期設定ファイルによって実現します。サイト初期設定ファイルを使用して、ユーザーの作業環境に新しい機能を絶えず導入でき、しかもユーザーはユーザー初期設定ファイルをカスタマイズすることもできます。

ユーザー初期設定ファイルでサイト初期設定ファイルを参照するとき、サイト初期設定ファイルに対して行なったすべての更新は、ユーザーがシステムにログインするときかユーザーが新しいシェルを起動するとき自動的に反映されます。サイト初期設定ファイルは、ユーザーを追加したときにはなかったサイト全体の変更をユーザーの作業環境に配布するよう設計されています。

ユーザー初期設定ファイルでできるカスタマイズは、サイト初期設定ファイルでも行えます。これらのファイルは通常はサーバー、またはサーバーのグループにあり、ユーザー初期設定ファイルの最初の行に現れます。また、各サイト初期設定ファイルは、それを参照するユーザー初期設定ファイルと同じ型のシェルスクリプトでなければなりません。

bash または ksh93 ユーザー初期設定ファイル内でサイト初期設定ファイルを参照するには、ユーザー初期設定ファイルの先頭に次のような行を記述します。

. /net/machine-name/export/site-files/site-init-file

ローカルシステムへの参照を避ける

ユーザー初期設定ファイルに、ローカルシステムへの個々の参照を追加しないでください。ユーザー初期設定ファイルの設定は、ユーザーがどのシステムにログインしても有効になる必要があるからです。

例:

シェル機能

この Oracle Solaris リリースでは、次のシェル機能と動作をサポートしています:

次の表は、Oracle Solaris でサポートされているシェルオプションの説明です。

表 1-8 Oracle Solaris リリースでの基本的なシェル機能

シェル
パス
Comments
Bourne-Again Shell (bash)
/usr/bin/bash
インストーラによって作成されるユーザーおよび root 役割のデフォルトシェル。

useradd コマンドによって作成されるユーザーと、root 役割のデフォルトの (対話型) シェルは /usr/bin/bash です。デフォルトのパスは /usr/bin:/usr/sbin です。

Korn シェル
/usr/bin/ksh
ksh93 は Oracle Solaris リリースのデフォルトシェルです。
C シェルと拡張 C シェル
/usr/bin/csh および /usr/bin/tcsh
C シェルと拡張 C シェル
POSIX 準拠シェル
/usr/xpg4/bin/sh
POSIX 準拠シェル
Z シェル
/usr/bin/zsh
Z シェル

注 - Z シェル (zsh) および拡張 C シェル (tsch) は、デフォルトではシステムにインストールされません。これらのシェルを使用するには、まず、必要なソフトウェアパッケージをインストールする必要があります。


bash および ksh93 シェルの履歴

bash シェルと ksh93 シェルはどちらも、ユーザーが実行するすべてのコマンドの履歴を記録します。この履歴はユーザー単位で保持されます。つまり、履歴は複数のログインセッションにまたがって永続し、ユーザーのすべてのログインセッションを表現します。

たとえば、bash シェルを使用している場合、実行したコマンドの完全な履歴を参照するには、次のように入力します。

$ history
1 ls
2 ls -a
3 pwd
4 whoami
.
.
.

以前のコマンドの数を表示するには、コマンドに整数を含めます。

$ history 2
12 date
13 history

詳細は、history(1) のマニュアルページを参照してください。

bash および ksh93 のシェル環境変数

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 リリースで使用可能なシェルと環境変数の詳細を示します。

表 1-9 シェル変数と環境変数の説明

変数
説明
CDPATH
cd コマンドで使用する変数を設定します。cd コマンドの対象ディレクトリを相対パス名で指定すると、cd コマンドは対象ディレクトリをまず現在のディレクトリ (.) 内で検索します。対象ディレクトリが見つからない場合、CDPATH 変数内のパス名のリストが順に検索され、見つかると、ディレクトリの変更が行われます。CDPATH で対象ディレクトリが見つからなかった場合は、現在の作業ディレクトリは変更されません。たとえば、CDPATH 変数が /home/jean に設定されており、/home/jean の下に binrje の 2 つのディレクトリがあるとします。/home/jean/bin ディレクトリ内で cd rje と入力した場合、フルパスを指定していなくても、ディレクトリが /home/jean/rje に変更されます。
HOME
ユーザーのホームディレクトリへのパスを設定します。
LANG
ロケールを設定します。
LOGNAME
現在ログインしているユーザーの名前を定義します。LOGNAME のデフォルト値は、passwd ファイルに指定されているユーザー名にログインプログラムによって自動的に設定されます。この変数は参照用にのみ使用し、設定を変更してはいけません。
MAIL
ユーザーのメールボックスへのパスを設定します。
MANPATH
アクセスできるマニュアルページの階層を設定します。

注 - Oracle Solaris 11 から、MANPATH 環境変数は必要なくなりました。man コマンドは、PATH 環境変数の設定に基づいて適切な MANPATH を決定します。


PATH
ユーザーがコマンドを入力したときに実行するプログラムについて、シェルが検索するディレクトリを順番に指定します。ディレクトリが検索パス上にない場合は、ユーザーはコマンドの絶対パス名を入力しなければなりません。

デフォルトの PATH は、ログインプロセスで .profile の指定どおりに自動的に定義され、設定されます。

検索パスの順序が重要です。同じコマンドが異なる場所にそれぞれ存在するときは、その名前で最初に見つかったコマンドが使用されます。たとえば、PATH がシェル構文で PATH=/usr/bin:/usr/sbin:$HOME/bin のように定義されていて、sample というファイルが /usr/bin/home/jean/bin の両方にあるものとします。ユーザーが sample コマンドを、その絶対パスを指定しないで入力した場合は、/usr/bin で見つかったバージョンが使用されます。

PS1
bash または ksh93 シェルのシェルプロンプトを定義します。
SHELL
makevi、その他のツールが使うデフォルトシェルを設定します。
TERMINFO
代替の terminfo データベースが保存されているディレクトリに名前を付けます。/etc/profile または /etc/.login ファイルで TERMINFO 変数を使用します。詳細は、terminfo(4) のマニュアルページを参照してください。

TERMINFO 環境変数を設定すると、システムはまずユーザーが定義した TERMINFO パスを調べます。ユーザーが定義した TERMINFO ディレクトリ内に端末の定義が見つからなかった場合は、システムはデフォルトディレクトリ /usr/share/lib/terminfo で定義を探します。どちらの場所でも定義が見つからなかった場合、端末は dumb として定義されます。

TERM
端末を設定します。この変数は /etc/profile または /etc/.login ファイルで再設定する必要があります。ユーザーがエディタを起動すると、システムはこの環境変数で定義される名前と同じ名前のファイルを探します。システムは、TERMINFO が参照するディレクトリ内を探して端末の特性を知ります。
TZ
タイムゾーンを設定します。タイムゾーンは、たとえば ls -l コマンドで日付を表示する場合に使われます。TZ をユーザーの環境に設定しない場合、システムの設定が使用されます。それ以外の場合は、グリニッジ標準時が使用されます。

Bash シェルのカスタマイズ

Bash シェルをカスタマイズする場合は、ホームディレクトリにある .bashrc ファイルに必要な情報を追加します。Oracle Solaris のインストール時に作成される初期ユーザーは、PATHMANPATH、およびコマンドプロンプトを設定するための .bashrc ファイルを持っています。詳細については、bash (1) のマニュアルページを参照してください。

MANPATH 環境変数

MANPATH 環境変数は、man コマンドがリファレンスマニュアル (man) ページを探す場所を指定します。MANPATH はユーザーの PATH の値に基づいて自動的に設定されますが、通常、/usr/share/manusr/gnu/share/man が含まれます。

ユーザーの MANPATH 環境変数は、PATH 環境変数とは無関係に変更できることに注意してください。関連付けられたマニュアルページの場所と、ユーザーの $PATH 内のディレクトリが 1 対 1 で対応している必要ありません。

PATH 環境変数

ユーザーが絶対パス名でコマンドを入力すると、シェルはそのパス名を使ってコマンドを探します。ただし、ユーザーがコマンド名しか指定しないと、シェルは PATH 変数で指定されているディレクトリの順でコマンドを探します。コマンドがいずれかのディレクトリで見つかれば、シェルはコマンドを実行します。

デフォルトのパスがシステムで設定されます。しかし、大部分のユーザーはそれを変更してほかのコマンドディレクトリを追加します。環境の設定や、正しいバージョンのコマンドまたはツールへのアクセスに関連して発生するユーザーの問題の多くは、パス定義の誤りが原因です。

パスの設定のガイドライン

次に、効率的な PATH 変数を設定するためのガイドラインをいくつか示します。

ロケール変数

LANGLC の各環境変数は、ロケール固有の変換と表記をシェルに指定します。指定できる変換と表記には、タイムゾーンや照合順序、および日付、時間、通貨、番号の書式などがあります。さらに、ユーザー初期設定ファイルで stty コマンドを使って、端末のセッションが複数バイト文字をサポートするかどうかを指定できます。

LANG 変数は、ロケールのすべての変換と表記を設定します。ロケールの各種の設定を個別に行うには、次の LC 変数を使用します。 LC_COLLATELC_CTYPELC_MESSAGESLC_NUMERICLC_MONETARY、および LC_TIME です。


注 - Oracle Solaris 11 はデフォルトで、UTF-8 ベースのロケールのみをインストールします。


次の表では、コア Oracle Solaris 11 ロケールの環境変数の値について説明します。

表 1-10 LANGLC 変数の値

ロケール
en_US.UTF-8
英語、米国 (UTF-8)
fr_FR.UTF-8
フランス語、フランス (UTF-8)
de_DE.UTF-8
ドイツ語、ドイツ (UTF-8)
it_IT.UTF-8
イタリア語、イタリア (UTF-8)
ja_JP.UTF-8
日本語、日本 (UTF-8)
ko_KR.UTF-8
韓国語、韓国 (UTF-8)
pt_BT.UTF-8
ポルトガル語、ブラジル (UTF-8)
zh_CN.UTF-8
簡体字中国語、中華人民共和国 (UTF–8)
es_ES.UTF-8
スペイン語、スペイン (UTF-8)
zh_TW.UTF-8
繁体字中国語、台湾 (UTF-8)

例 1-1 LANG 変数によるロケールの設定

Bourne または Korn シェルのユーザー初期化ファイルでは、次の行を追加してください。

LANG=de_DE.ISO8859-1; export LANG

LANG-de_DE.UTF-8; export LANG

デフォルトのファイルアクセス権 (umask)

ファイルまたはディレクトリを作成したときに設定されるデフォルトのファイルアクセス権は、「ユーザーマスク」によって制御されます。ユーザーマスクは、初期設定ファイルで umask コマンドによって設定されます。現在のユーザーマスクの値は、umask と入力して Return キーを押すと表示できます。

ユーザーマスクは、次の 8 進値で構成されます。

最初の桁がゼロの場合、その桁は表示されません。たとえば、ユーザーマスクを 022 に設定すると、22 が表示されます。

設定する umask の値は、与えたいアクセス権の値を 666 (ファイルの場合) または 777 (ディレクトリの場合) から差し引きます。引いた残りが umask に使用する値です。たとえば、ファイルのデフォルトモードを 644 (rw-r--r--) に変更するとします。666 と 644 の差である 022 が、umask コマンドの引数として使用する値です。

また、次の表から umask 値を決めることもできます。この表は、umask の各 8 進値から作成される、ファイルとディレクトリのアクセス権を示しています。

表 1-11 umask 値のアクセス権

umask 8 進値
ファイルのアクセス権
ディレクトリアクセス権
0
rw-
rwx
1
rw-
rw-
2
r--
r-x
3
r--
r--
4
-w-
-wx
5
-w-
-w-
6
--x
--x
7
--- (なし)
--- (なし)

次の例は、デフォルトのファイルアクセス権を rw-rw-rw- に設定します。

umask 000

ユーザー初期設定ファイルのカスタマイズ

次に示すのは、.profile ユーザー初期設定ファイルの例です。このファイルを使用して、自分自身のユーザー初期設定ファイルをカスタマイズすることができます。この例では、特定のサイト用に変更する必要があるシステム名とパスを使用します。

例 1-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
  1. ユーザーのシェル検索パスを設定する

  2. ユーザーのメールファイルへの検索パスを設定する

  3. ユーザーの時間/クロックサーバーを設定する

  4. マニュアルページへのユーザーの検索パスを設定する

  5. ユーザーのデフォルトプリンタを設定する

  6. ユーザーのデフォルトのファイル作成アクセス権を設定する

  7. 指定された環境変数をエクスポートする