[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

nis.debian.howto



鍋谷です。

% dpkg -l nis
Desired=Unknown/Install/Remove/Purge
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name            Version        Description
+++-===============-==============-============================================
ii  nis             3.2.1-3        Clients and daemons for the Network Informat

に付属の /usr/doc/nis/nis.debian.howto.gz の翻訳です。

大阪大学理学研究科物理学専攻 博士後期課程1年 大坪研究室(06-850-5346)
         鍋谷 栄展      nabetani@xxxxxxxxxxxxxxxxxxxxxxxxxxx

> 0. INTRODUCTION.
> 
>   This HOWTO describes:
> 
>   1.  How to setup a NIS client-only system
>   2.  How to specify what resources to use for NIS
>   3.  How to setup a NIS master server
>   4.  Shadow passwords
>   5.  How to setup a NIS slave server
0. はじめに

この HOWTO では、以下の事項について記述しています。

  1.  NIS クライアントシステムのみの設定方法
  2.  NIS が使用するリソースの記述方法
  3.  NIS マスターサーバーの設定方法
  4.  シャドウパスワードについて
  5.  NIS スレーブサーバーの設定方法

> 1. HOW TO SETUP A LOCAL NIS CLIENT
1.  ローカル NIS クライアントの設定方法

>   1.1 install the netbase, netstd and nis packages
> 
>   1.2 The installation procedure will ask for your NIS domainname. This
>       is just a name which describes the group of systems that use NIS, it
>       is not a hostname. It is stored in the config file /etc/defaultdomain,
>       in case you ever want to change it.
  1.1 netbase, netstd, nis パッケージをインストールして下さい。

  1.2 インストールの段階であなたの NIS ドメインネームを聞かれます。
      NIS ドメインネームとは、NIS を使用するシステム群を記述する名前で
      あり、ホスト名ではありません。これを変更したい場合に、
      これは設定ファイル /etc/defaultdomain に保存されます。

>   1.3 If your NIS server is not "local" to your network, you will have to do
>       some finetuning. The ypbind process has a configuration file called
>       /etc/yp.conf. You can hardcode a NIS server there - for more info
>       see the manual page for ypbind(8).
> 
>   1.4 Start NIS by typing:
  1.3 あなたの NIS サーバーが自分のネットワークにおいて "ローカル" でないの
      でしたら、微調整が必要です。ypbind プロセスには /etc/yp.conf という
      設定ファイルがあります。このファイルで NIS サーバーを固定しておくこと
      ができます。- より詳しい情報には、マニュアル ypbind(8) を参照してく
      ださい。

  1.4 コマンドラインから以下のように入力して NIS を起動させます。

>        /etc/init.d/nis stop
>        /etc/init.d/nis start
>
>
> 2. HOW TO SPECIFY WHAT RESOURCES TO USE FOR NIS:
2. NIS がどのリソースを使用するかを指定する方法

>   2.1 FOR LIBC6:
> 
>       Check your /etc/nsswitch.conf file and make sure that the entries for
>       passwd, group, shadow and netgroup look like this:
  2.1 libc6 の場合

      /etc/nsswitch.conf ファイルを見て、passwd, group, shadow,
      netgroup のエントリが以下のようになっていることを確認してください。

>       passwd:   compat
>       group:    compat
>       shadow:   compat
>       netgroup: nis
> 
>       At this moment, libc6 has some troubles with reading netgroup data
>       from files. So do not use "db" or "files" in the entry for netgroup,
>       all netgroup lookups have to go through the NIS server.
      しばらくの間、libc6 ではファイルから netgroup データを読み取るのに
      いくつかの問題があります。そのため、netgroup のエントリに "db" や 
      "files" を使ってはいけません。netgroup のすべての照合は NIS サー
      バーを通さなければいけません。

>   2.2 USERS: Add the following line to /etc/passwd on your NIS
>       clients:
  2.2 USERS: 自分の NIS クライアントの /etc/passwd ファイルに次のような
      行を加えて下さい。
> 
>       +::::::
> 
>       You can also use the + and - characters to include/exclude or change
>       users.  If you want to exclude the user guest just add -guest to your
>       /etc/passwd file.  You want to use a different shell (e.g. ksh) for
>       the user "linux"?  No problem, just add "+linux::::::/bin/ksh"
>       (without the quotes) to your /etc/passwd.  Fields that you don't want
>       to change have to be left empty.
     + と - 文字を使って、ユーザーを受け入れる/受け入れない、又はユーザーの
     変更を行うことができます。ユーザー guest を入れさせたくないのでしたら、
     あなたの /etc/passwd に -guest を追加するだけです。ユーザー "linux" に
     は違うシェル(例えば ksh)を使わせたいのですか? 簡単です。単に、あなた
     の /etc/passwd に "+linux::::::/bin/ksh" を加えるだけです(引用符は入れ
     ないでください)。あなたが変更したくないフィールドは、空のまま残してお
     く必要があります。
 
>       For example, to only allow login-access to miquels,dth and ed, but to
>       have the account data of all other users available:
     例えば、ログインを許すのはユーザー miquels, dth, ed のみとして、それで
     も他の全ユーザのアカウント情報は利用可能な状態にしておきたいといった場
     合には以下のようにします。

>       +miquels:::::::
>       +ed:::::::
>       +dth:::::::
>       +:*::::::/etc/NoShell
> 
>       Note that in Linux you can also override the password field, as we did
>       in this example.
     この例にあるように、 Linux ではパスワードフィールドを無効にすることも
     できることに注意して下さい。

>   2.3 GROUPS: Add the following line to /etc/group
  2.3 GROUPS: /etc/group に次のような行を加えて下さい。

>       +:::
> 
>   2.4 HOSTS:
> 
>       Normally you should not do host lookups through NIS, use DNS for that.
>       If you really must use NIS for it, here's how to do it.
  2.4 ホスト

      通常、NIS によってホストの照合を行うべきではありません。
      これには DNS を使うべきです。
      本当に NIS を使用しなければならないならば、
      その方法をここで示します。

>   2.4.1 For libc5 applications:
> 
>         If you want to use the NIS host maps of your NIS server you
>         have to change your /etc/host.conf file. You just have to add the
>         word "nis" to the "order" line. A sample host.conf file could look
>         like this:
  2.4.1 libc5 アプリケーションに対して

        あなたの NIS サーバーの NIS ホストマップを使用したいなら、
        /etc/host.conf ファイルを変更しなければなりません。ただ、
        "order" の行に "nis" を加えるだけです。host.conf ファイル
        の例はこのようになります。
> 
>         order hosts,nis
>         multi on
> 
>   2.4.2 For libc6 applications:
> 
>         Edit /etc/nsswitch.conf and change the hosts entry:
  2.4.2 For libc6 applications:

        /etc/nsswitch.conf を編集して、hosts エントリを変更します。

>         hosts:  nis files
>
> 3. HOW TO SETUP A MASTER NIS SERVER:
> 
>   3.1 Install the nis package. You'll also need the netbase and netstd
>       packages installed for the RPC daemons (rpc.portmap).
3. マスター NIS サーバーの設定方法

  3.1 nis パッケージをインストールして下さい。RPC デーモン(rpc.portmap)を
      使用するため、netbase と netstd パッケージもインストールする必要が
      あります。

>   3.2 Make sure that _all_ systems you are going to use as a NIS server,
>       master or slave, have all other systems in the /etc/hosts file.
>       The FQDN (Fully Qualified Domain Name) should be the first hostname
>       after every IP address, followed by just the hostname (without the
>       domainname). For example:
> 
>         192.168.88.10	troi.cistron.nl	troi
> 
>       On the NIS server the NIS hosts file (which is usually just /etc/hosts)
>       should also have this setup. This is because NIS does not use DNS.
  3.2 NIS サーバー(つまり、マスターかスレーブ)として使用しようとしている 
      *すべての* マシンが /etc/hosts ファイルに他の全てのマシン名を保持し
      ていることを確認して下さい。それぞれの IP アドレスの後には、まず 
      FQDN (Fully Qualified Domain Name:「完全に記述された名前」)を書きま
      す。その後に(ドメイン名を除いた)ホスト名のみを書きます。例えば次のよ
      うになります。

         192.168.88.10   troi.cistron.nl troi

      NIS サーバー上の NIS ホストファイル(通常は、/etc/hosts)は、上記のよ
      うに設定します。これは、NIS が DNS を使用しないからです。

>   3.3 set your NIS domain in the /etc/defaultdomain file. The NIS domain
>       is just a name which describes the group of systems that use NIS, it
>       is not a hostname. It is common practice to use your DNS domainname
>       for this.
  3.3 /etc/defaultdomain ファイル中に自分の NIS ドメイン名を記述します。
      NIS ドメインとは、単に NIS を使用するシステムグループを記述するため
      の名前であり、ホスト名ではありません。NIS ドメイン名には自分の DNS 
      domainname を使うことが一般的な慣例となっています。

>       Many people say this is a security risk, as by knowing your
>       domainname it is possible to query your NIS server remotely and
>       download all your NIS maps. Do not try to prevent this by choosing
>       an obscure domainname. Just setup your /etc/ypserv.securenets and
>       or your /etc/ypserv.conf properly so that your NIS server cannot
>       be accessed outside of your local network at all.
      多くの人は、これはあなたのドメイン名がわかればリモートから NIS 
      サーバーに問い合わせて、すべての NIS マップをダウンロードできるの
      で、セキュリティ的に危険であると言います。知られていないドメイン
      名を選ぶことでこれを避けるようとしてはいけない。あなたの NIS サー
      バーがローカルネットワーク以外から全くアクセスできないように
      /etc/ypserv.securenets と /etc/ypserv.conf を正しく設定すればよい
      のです。
> 
>   3.4 set ypserv to master (ypserv=master) in /etc/init.d/nis
  3.4 /etc/init.d/nis の中で ypserv を master にして下さい。(ypserv=master)

>   3.5 As mentioned above, add your local network number to the file
>       /etc/ypserv.securenets.  You don't _have_ to do this: the default
>       is to allow everybody to access your NIS server. It is however
>       *strongly* recommended.
> 
>       For added security you might also want to edit the /etc/ypserv.conf
>       file to mangle the password file for some clients (do not do this
>       if you have non-debian slave servers in your network!)
  3.5 ファイル /etc/ypserv.securenets に自分のローカルネットワークナンバー
      を加えて下さい。これは必須ではありません。しかし、デフォルトの設定で
      は、誰もがあなたの NIS サーバーへのアクセスを許されてしまいます。
      セキュリティのために、/etc/ypserv.securenets への追記を*強く*推奨し
      ます。

      更にセキュリティを強化したい場合、/etc/ypserv.conf を編集して、
      あるクライアントからはパスワードファイルを見えなくしたいかもしれませ
      ん。(あなたのネットワークに Debian 以外のスレーブサーバーがあるなら
      これを行ってはいけません!)

>   3.6 Setup the server by typing "/usr/lib/yp/ypinit -m"
> 
>   3.7 Start the server by typing:
  3.6 "/usr/lib/yp/ypinit -m" と入力してサーバーの設定を行います。

  3.7 以下のように入力してサーバーを起動させます。
> 
>       /etc/init.d/nis stop
>       /etc/init.d/nis start
> 
>      This will start the server (ypserv) and the password daemon (yppasswdd).
> 
>      If you want to restrict access to your NIS server, you'll have to setup
>      the NIS server as a client as well by running ypbind and adding the
>      plus-entries to /etc/passwd _halfway_ the password file. The library
>      functions will ignore all normal entries after the first NIS entry, and
>      will get the rest of the info through NIS. This way the NIS access rules
>      are maintained. example:
     これで、サーバー(ypserv) とパスワードデーモン(yppasswdd) が起動します。
 
     自分の NIS サーバーへのアクセスを制限したいならば、NIS サーバーも同様
     にクライアントとして設定を行う必要があります。このためには、ypbind
     を起動して、パスワードファイル /etc/passwd の途中に + エントリを追加
     します。ライブラリ関数は、はじめの NIS エントリ以後の全ての通常エント
     リを無視し、NIS によって残りの情報を取得します。このようにして NIS ア
     クセスルールが保守されます。以下がその例です。

>      root:x:0:0:root:/root:/bin/bash
>      daemon:*:1:1:daemon:/usr/sbin:
>      bin:*:2:2:bin:/bin:
>      sys:*:3:3:sys:/dev:
>      sync:*:4:100:sync:/bin:/bin/sync
>      games:*:5:100:games:/usr/games:
>      man:*:6:100:man:/var/catman:
>      lp:*:7:7:lp:/var/spool/lpd:
>      mail:*:8:8:mail:/var/spool/mail:
>      news:*:9:9:news:/var/spool/news:
>      uucp:*:10:50:uucp:/var/spool/uucp:
>      nobody:*:65534:65534:noone at all,,,,:/dev/null:
>      +miquels::::::
>      +:*:::::/etc/NoShell
>      [ All normal users AFTER this line! ]
>      tester:*:299:10:Just a test account:/tmp:
>      miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh
> 
>     The user tester will exist, but have a shell of /etc/NoShell. miquels
>     will have normal access.
> 
>     Alternatively, you could edit the /var/yp/Makefile file and set NIS to use
>     another source password file. On big systems, the NIS password and group
>     files are usually stored in /var/yp/ypfiles/. If you do this the normal
>     tools to administrate the password file such as "passwd", "chfn",
>     "adduser" will not work anymore and you will need special homemade tools
>     for this.
     これで、サーバー(ypserv) とパスワードデーモン(yppasswdd) が起動します。
 
     自分の NIS サーバーへのアクセスを制限したいならば、NIS サーバーも同様
     にクライアントとして設定を行う必要があります。このためには、ypbind
     を起動して、パスワードファイル /etc/passwd の途中に + エントリを追加
     します。ライブラリ関数は、はじめの NIS エントリ以後の全ての通常エント
     リを無視し、NIS によって残りの情報を取得します。このようにして NIS ア
     クセスルールが保守されます。以下がその例です。

      root:x:0:0:root:/root:/bin/bash
      daemon:*:1:1:daemon:/usr/sbin:
      bin:*:2:2:bin:/bin:
      sys:*:3:3:sys:/dev:
      sync:*:4:100:sync:/bin:/bin/sync
      games:*:5:100:games:/usr/games:
      man:*:6:100:man:/var/catman:
      lp:*:7:7:lp:/var/spool/lpd:
      mail:*:8:8:mail:/var/spool/mail:
      news:*:9:9:news:/var/spool/news:
      uucp:*:10:50:uucp:/var/spool/uucp:
      nobody:*:65534:65534:noone at all,,,,:/dev/null:
      +miquels::::::
      +:*:::::/etc/NoShell
      [ All normal users AFTER this line! ]
      tester:*:299:10:Just a test account:/tmp:
      miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh

     ユーザ tester が存在するが、シェル /etc/NoShell を持つ。
     ユーザ miquels は、通常のアクセスができる。

     別のやり方としては、/var/yp/Makefile ファイルを編集して NIS が別のソー
     スパスワードファイルを使用するようにすることもできます。大きなシステム
     上では、NIS パスワードファイルとグループファイルは通常 /var/yp/ypfiles/
     に保存されます。しかし、このようにすると、"passwd", "chfn", "adduser"
     のようなパスワードファイルを管理するための通常のツールが動作しなくなっ
     てしまいます。そのため、この種の作業用にツールを自作する必要があります。

>     However yppasswd, ypchsh and ypchfn will work ofcourse, provided you
>     run the yppasswdd with the -D option to point it to the location of the
>     NIS password and shadow file. The Debian version of these utilities -
>     and the yppasswdd daemon - have a non-standard extension. "Root" can -
>     using the root password - change other people's passwords, finger info
>     and shell.
     しかし、yppasswdd に -D オプションを使って NIS パスワードファイルと
     シャドーファイルを指定して起動するなら、もちろん yppasswd、ypchsh、
     ypchfn は動作します。これらのユーティリティー(と yppasswdd デーモン)
     の Debian バージョンは非標準的な拡張がされています。"root" は、(root
     パスワードを使って)他人のパスワード、finger 情報、shell を変更するこ
     とができます。

>     If you edit the NIS password file manually or you use the standard
>     /etc/passwd file, remember that after every change in one of the NIS
>     source files you'll have to run "make" in the /var/yp directory to update
>     the NIS maps. It would be reasonable to do this nightly from cron to be
>     sure the NIS maps are kept up-to-date.
     NIS パスワードファイルを手動で編集した場合や、普通の /etc/passwd 
     ファイルを使用している場合に、
     忘れてはいけないのが、NIS ソースファイルの一つでも変更があれば、NIS 
     マップを更新するために /var/yp ディレクトリで "make" を実行する必要が
     あることです。NIS マップを必ず最新にしておくために、毎晩 cron で実行
     するとよいでしょう。

> 4. SHADOW PASSWORDS
> 
>    The Linux libc5 does not support shadow NIS maps. If you are dependant
>    on libc5 applications, do not use shadow NIS maps. Instead you can use
>    the method below:
4. シャドーパスワード

   Linux の libc5 は、シャドー NIS マップをサポートしていません。
   もし libc5 アプリケーションを利用しているならシャドウ NIS マップを
   使用してはいけません。代わりに以下のような方法が使えます。

>   4.1 SHADOW-LIKE SECURITY
> 
>       You can provide shadow-like security by "mangling"
>       the password for NIS lookups of pasword-file entries. Read the manpage
>       for "ypserv.conf" and read the comments in the sample /etc/ypserv.conf.
  4.1 シャドーライクなセキュリティ

      パスワードファイルのエントリを NIS 照合のためのパスワードを
      "つぶす" ことでシャドーライクなセキュリティーを提供することがで
      きます。"ypserv.conf" の man ページとサンプルファイル 
      /etc/ypserv.conf のコメントを読んで下さい。

>   4.2 REAL SHADOW SUPPORT
> 
>       Libc6 has real shadow support for NIS builtin. It works like you would
>       expect; export the shadow map from the NIS server and just use it.
>       The shadow map should be built with the "-s" (secure) option to
>       makedbm. This is automatic in all modern /var/yp/Makefile files.
  4.2 本当のシャドーサポート

      libc6 は実際に NIS に対するシャドーサポートを内蔵しています。
      NIS は期待通りに動作します。NIS サーバーからシャドーマップを
      取り出し、それを利用します。シャドーマップは makedbm に "-s" (secure)
      オプションを付けて構築されます。これは、最新の /var/yp/Makefile 
      ファイルでは自動的に行われます。
> 
>       Note that if you use the shadow password file you need to add
>       "plus" entries (as in 2.2) to both /etc/passwd and /etc/shadow.
>       Make sure you use the correct format; the passwd and shadow files
>       have different fields.
      シャドーパスワードファイルを使用しているなら、/etc/passwd と 
      /etc/shadow の両方に(2.2 のような) "plus" エントリを加える必要が
      あることに注意して下さい。正しいフォーマットを使用していることを
      確認して下さい。passwd ファイルと shadow ファイルは異なるフィール
      ドを持っています。

> 5. HOW TO SETUP A NIS SLAVE SERVER
> 
>   5.1 First setup your system as a working NIS client (see 1.)
> 
>   5.2 Follow the steps 3.1 .. 3.5 as described in above, but at step 3.4
>       set ypserv to slave (ypserv=slave) in the /etc/init.d/nis file.
>
>   5.3 Start the slave and initialize it by entering:
5. NIS スレーブサーバーの設定方法

  5.1 最初に、NIS クライアントが動作するようにシステムの設定をしてください。
      (1. を参照)

  5.2 上記の c) で説明したステップ 3.1 〜 3.5 と基本的に同じです。但し、
      ステップ 3.4 で /etc/init.d/nis ファイルの ypserv をスレーブに設
      定します。(ypserv=slave)

  5.3 コマンドラインから以下のように入力して、スレーブサーバーを起動・初期
      化します
>
>       /etc/init.d/nis stop
>       /etc/init.d/nis start
>       /usr/lib/yp/ypinit -s <name_of_your_master_nis_server_here>
> 
>   5.4 Now tell your master NIS server it has a slave. First you have to adjust
>       the NIS Makefile *on the master* so that all future updates get
>       distributed to the slave(s) automatically. Set the NOPUSH variable
>       in /var/yp/Makefile to "false" like this:
  5.4 次にスレーブサーバーがあることをマスター NIS サーバーに知らせます。
      まず、この先すべての更新が自動的にスレーブサーバーに伝播するように
      *マスター上の* NIS Makefile を調整しなければなりません。次のように
      /var/yp/Makefile の中で NOPUSH 変数を "false" に設定します。

>        NOPUSH="false"
> 
>       (Don't you just hate double negatives ..) Now tell the master about
>       its slaves by running "/usr/lib/yp/ypinit -m". Enter the names of the
>       slave servers. The maps will get rebuilt and pushed to the slaves.
      (二重否定を嫌ってはいけない ..)
      マスターサーバーで "/usr/lib/yp/ypinit -m" を実行することで、マスター
      にスレーブの情報を伝えます。この時、スレーブサーバー名を入力して下さい。
      NIS マップが再構築され、スレーブに転送(プッシュ)されます。

>   5.5 You might want to edit root's crontab *on the slave* (use crontab -e)
>       and add the following lines:
  5.5 *スレーブマシンの* ルート用 crontab を編集して(crontab -e を使って
      ください)、次の行を加えて下さい。
> 
>       20 *    * * *    /usr/lib/yp/ypxfr_1perhour
>       40 6    * * *    /usr/lib/yp/ypxfr_1perday
>       55 6,18 * * *    /usr/lib/yp/ypxfr_2perday
> 
>       This will ensure that most NIS maps are kept up-to-date, even if an
>       update is missed because the slave was down at the time the update was
>       done on the master.
      これによって、マスターサーバー上で更新があった時点でスレーブサーバー
      が停止していたためにスレーブサーバーの更新が行われなかった場合でも、
      ほとんどの NIS マップが最新情報に保たれていることが保証されます。
> 
>           nis.debian.howto  3.2.1-3  02-Mar-1998  miquels@xxxxxxxxxx
>