Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)

NIS ユーザーの管理

この節では、ユーザーパスワードの設定、NIS ドメインへの新しいユーザーの追加、ネットグループ (netgroups) へのユーザーの割り当てについて説明します。

ProcedureNIS ドメインに新しい NIS ユーザーを追加する方法

  1. マスター NIS サーバーで、スーパーユーザーになるか、同等の役割になります。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の第 9 章「役割によるアクセス制御の使用 (手順)」を参照してください。

  2. useradd コマンドで新しいユーザーのログイン ID を作成します。


    # useradd userID
    

    userID は新しいユーザーのログイン ID です。このコマンドは、NIS マスターサーバー上の /etc/passwd ファイルと /etc/shadow ファイルにエントリを作成します。

  3. 新しいユーザーの初期パスワードを作成します。

    新しいユーザーがログインするための初期パスワードを作成するには、passwd コマンドを実行します。


    # passwd userID
    

    userID は新しいユーザーのログイン ID です。このユーザーに割り当てるパスワードを入力するようにプロンプトが表示されます。

    この手順が必要になるのは、 useradd コマンドで作成されたパスワードエントリがロックされ、新しいユーザーがログインできないからです。初期パスワードを指定することで、このパスワードエントリのロックが解除されます。

  4. 必要に応じて、マスターサーバーの passwd マップ入力ファイルに新しいエントリをコピーします。

    マスターサーバー上のマップソースファイルは、/etc 以外のディレクトリにあります。新しい行を /etc/passwd ファイルと /etc/shadow ファイルからマスターサーバー上の passwd マップ入力ファイルにコピーします。詳細については、「パスワードファイルと名前空間のセキュリティー」を参照してください。

    たとえば、新しいユーザー brown を追加する場合、/etc/passwd ファイルから passwd 入力ファイルにコピーする行は次のようになります。


    brown:x:123:10:User brown:/home/brown:/bin/csh:

    /etc/shadow からコピーされる brown 行は次のようになります。


    brown:W12345GkHic:6445::::::
  5. パスワード入力ファイルが格納されているディレクトリが Makefile で正しく指定されていることを確認します。

  6. 必要に応じて、/etc/passwd ファイルと /etc/shadow ファイルから新しいユーザーのエントリを削除します。

    セキュリティー上の理由から、NIS マスターサーバーの /etc/passwd ファイルと /etc/shadow ファイルにユーザーエントリを保持しないようにしてください。ほかのディレクトリに存在する NIS マップソースファイルに新しいユーザーのエントリをコピーしたあと、マスターサーバー上で userdel コマンドを使用して新しいユーザーを削除します。

    たとえば、マスターサーバーの /etc ファイルから新しいユーザー brown を削除するには次のように入力します。


    # userdel brown
    

    userdel の詳細については、userdel のマニュアルページを参照してください。

  7. NIS の passwd マップを更新します。

    マスターサーバー上の passwd 入力ファイルを更新したあと、ソースファイルが存在するディレクトリで make を実行して、passwd マップを更新します。


    # userdel brown
    # cd /var/yp
    # /usr/ccs/bin/make passwd
    
  8. 新しいユーザーのログイン ID に割り当てられた初期パスワードを新しいユーザーに通知します。

    ログイン後、新しいユーザーはいつでも passwd を実行して別のパスワードに変更できます。

ユーザーパスワードの設定

ユーザーは passwd を実行してパスワードを変更します。

% passwd username

ユーザーがパスワードを変更する前に、NIS 管理者はマスターサーバー上で rpc.yppasswdd デーモンを起動してパスワードファイルを更新する必要があります。

rpc.yppasswdd デーモンは、マスターサーバー上で自動的に起動します。rpc.yppasswdd-m オプションが指定された場合は、ファイルが更新されるとすぐ /var/ypmake が実行されます。passwd ファイルが更新されるたびにこの make が実行されることを回避したい場合は、ypstart スクリプトの rpc.yppasswd コマンドから -m オプションを削除して、crontab ファイルで passwd マップの転送を制御してください。


注 –

rpc.yppasswd - m コマンドのあとに引数を指定するべきではありません。別の動作のために ypstart スクリプトファイルを編集することは可能ですが、-m オプションを任意に削除すること以外の変更をこのファイルに加えることは望ましくありません。すべてのコマンドおよびデーモンは、適切なコマンド行パラメータのセットが存在するこのファイルで起動されます。このファイルを編集する場合は、rpc.yppasswdd コマンドの編集では特に注意してください。passwd.adjunct ファイルに明示的コールを追加する場合は、パスを $PWDIR/security/passwd.adjunct と正確に指定しなければなりません。正確に指定しないと、不適切な処理が行われます。


NIS ネットグループ

NIS ネットグループは、NIS 管理者が管理目的のために定義するユーザーまたはマシンのグループ (集合) です。たとえば、次のようなネットグループを作成できます。

各ネットグループには、1 つのネットグループ名が与えられます。ネットグループはアクセス権を直接設定しません。代わりに、ユーザー名またはマシン名が一般に使用される場所ではネットグループ名がほかの NIS マップで使用されます。たとえば、netadmins というネットワーク管理者ネットグループを作成したと仮定します。netadmins ネットグループのすべてのメンバーに特定マシンへのアクセス権を与えるには、そのマシンの /etc/passwd ファイルに netadmin エントリを追加するだけで、ネットグループ名を /etc/netgroup ファイルに追加して、NIS グループマップに追加することもできます。ネットグループの使い方の詳細については、netgroup(4) のマニュアルページを参照してください。

NIS が使用されているネットワーク上では、NIS マスターサーバー上の netgroup 入力ファイルを使用して、次の 3 つのファイルが生成されます。netgroupnetgroup.byuser、および netgroup.byhost です。netgroup マップには、netgroup 入力ファイルの基本情報が入っています。ほかの 2 つの NIS マップには、マシンまたはユーザーが指定されるとネットグループ情報の検索が迅速に行われるフォーマットで情報が入っています。

netgroup 入力ファイルのエントリのフォーマットは、 name ID です。name はネットグループ名であり、ID は、ネットグループに属しているマシンまたはユーザーを示します。ネットグループの ID (メンバー) は、コンマで区切っていくつでも指定できます。たとえば、3 つのメンバーが存在するネットグループを作成する場合、netgroup 入力ファイルエントリのフォーマットは、name ID, ID, ID となります。netgroup 入力ファイルエントリのメンバーID のフォーマットは次のようになります。


([-|machine], [-|user], [domain])

machine はマシン名、user はユーザー ID 、domain はマシンまたはユーザーの NIS ドメインです。「ドメイン」エレメントは任意指定ですが、ほかの NIS ドメインのマシンまたはユーザーを示す場合には必ず指定します。各エントリでは「マシン」エレメントと「ユーザー」エレメントは必須ですが、ダッシュ (-) は空であることを示すために使用されます。エントリでは、「マシン」エレメントと「ユーザー」エレメントの関係を示す必要はありません。

netgroup 入力ファイルの 2 つのサンプルエントリを次に示します。これらの各サンプルエントリでは、admins という名前のネットグループが作成されます。これらの各ネットグループは、遠隔ドメイン sales に存在するユーザー haurijuanita、およびマシン altair sirius で構成されます。


admins (altair, hauri), (sirius,juanita,sales)

admins (altair,-), (sirius,-), (-,hauri), (-,juanita,sales)

さまざまなプログラムでは、ログイン、遠隔マウント、遠隔ログイン、および遠隔シェル作成時に NIS ネットグループマップを使用してアクセス権のチェックを行います。さまざまなプログラムとは、mountdloginrloginrsh などです。login コマンドは、passwd データベース内でネットグループ名を見つけた場合に、ネットグループマップでユーザー分類を調べます。mountd デーモンは、/etc/dfs/dfstab ファイル内でネットグループ名を見つけた場合に、ネットグループマップでマシン分類を調べます。rloginrsh (ruserok インタフェースを使用する任意のプログラム) は、/etc/hosts.equiv または .rhosts ファイル内でネットグループ名を見つけた場合に、ネットグループマップでマシン分類とユーザー分類の両方を調べます。

ネットワークに新しい NIS ユーザーまたはマシンを追加する場合は、netgroup 入力ファイルの該当ネットグループに追加してください。次に、make でネットグループマップを作成し、これを yppush コマンドですべての NIS サーバーに転送してください。ネットグループおよびネットグループ入力ファイル構文の使い方の詳細については、netgroup(4) のマニュアルページを参照してください。