aboutsummaryrefslogblamecommitdiff
path: root/ja_JP.eucJP/man/man5/passwd.5
blob: 0452e0a2196f53f1c3444d1a4cb8de28e9aae3b9 (plain) (tree)































                                                                              
                                                                                       
   
                                                                                         










                                                                         
   

                                                


                                    











                                       
                             













                              
                                                                         





                                                                          
                                                                           

                      
                                                         



                                                                        




                                                                            
   
                         






                                                                        
                                                       


                                                                  
                                                                            


               

                                                               

















                                                                  
                                                       






                                              
                                                           

         


                                               
   









                                   





                                                   
          






                                                                        
                                        



                                                                        
                            
             
                                                                          






                                                                        
                                                


                                                                        
                     


                                                          
          
               
                                                                      







                                                              


                                                          




                                              

       
           
                     





                                                               
                                                                          


                                  

                                                           


                                                        


                                                           
                                                  










                                                                   







                                                          

                                                                      




                      

                                                            



          

                          
                                                              
                 

                                                                


                                                     


                                                                               


                                    

                                                                     






                      










                                                                          




                              








                                                                          








                                                                      
          








                                                      



                                                                     

                                                                            
                                                    







                                        
                                                    

                                
                                        
                                                                           


                                                                       
                       

   
                                                                            
              
                                      

                                                                          

                                                                        
                                            



                  
                                                                   








                                                                        
      
                                










                                                                        
                                                                 






























                                                                          

                                                                            











                                                                    
                                                  


                                                                      
                

            
          






                                                               
                                                                    
                            
          
                                                                    
                                                                   

                        
                                                                     








                                        
                                                         








                                                
                 

                                                                  


                                                 
                                                                            




                                                           
                                    

                 

                          
              
                                       






                                                  








                                            

               


                      

                                                                  


             
               


                                                                    
                                                           
                           

          
   






















                                                                            
                                                                        



                                                                            


                                          

                                                                      




                

















                                                                            




                    





                                                          
                                                      



                                                                        
                                                          






                                                                      


                                        
                    




                                    
                                            
           
                                                                          













                                                                        
                            













                                                                           
                                                      















                                                                          
        














                            



                      
          
                
          
        
                                                                             
   
                                   












































                                                                    
                               




                                  
                                                                  




                                  
.\" Copyright (c) 1988, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     From: @(#)passwd.5	8.1 (Berkeley) 6/5/93
.\" %FreeBSD: src/share/man/man5/passwd.5,v 1.26.2.4 2001/07/21 09:16:52 schweikh Exp %
.\"
.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/passwd.5,v 1.16 2001/05/14 01:09:30 horikawa Exp $
.\"
.\" WORD: NIS/YP INTERACTION	NIS/YP との相互作用 [yppasswd.1]
.\" WORD: accounting		アカウンティング (パスワード期限等の意味)
.\" WORD: epoch			基準時点
.Dd September 29, 1994
.Dt PASSWD 5
.Os
.Sh 名称
.Nm passwd
.Nd パスワードファイルのフォーマット
.Sh 解説
.Nm
ファイルは改行で区切られたレコードから成ります。
ユーザごとに 1 レコードが対応し、
コロン
.Pq Ql \&:
で区切られた 10 個の欄が含まれます。
これらの欄は以下の通りです:
.Pp
.Bl -tag -width password -offset indent
.It name
ユーザのログイン名。
.It password
ユーザの
.Em 暗号化された
パスワード。
.It uid
ユーザのid。
.It gid
ユーザのログイングループ id。
.It class
ユーザのログインクラス。
.It change
パスワードの変更時間。
.It expire
アカウントの有効期限。
.It gecos
ユーザについての一般的な情報。
.It home_dir
ユーザのホームディレクトリ。
.It shell
ユーザのログインシェル。
.El
.Pp
最初の空白文字でない文字がポンド記号 (#) であるような行は注釈であり、無視
されます。スペース、タブ、改行だけからなる空行もまた無視されます。
.Pp
.Ar name
欄はコンピュータアカウントにアクセスするのに用いられるログインであり、
.Ar uid
欄はそれに結び付けられた数字です。これらはファイルアクセスを制御するので、
両方共そのシステム (またしばしば複数のシステムにわたる 1 つのグループ) の中
で一意であるべきです。
.Pp
同じログイン名や同じ UID のエントリを複数持つことは可能で
すが、普通それは誤りです。これらのファイルを取り扱うルーチンはしばしばそ
の複数エントリの 1 つだけを返しますし、
そしてそれはランダムな選択によるものです。
.Pp
ログイン名は決してハイフン
.Pq Ql \&-
で始めてはいけません。また、メーラを混乱させる傾向にあるので、大文字やドット
.Pq Ql \&.
も絶対に名前の一部にしないことを強く推奨します。
.Pp
password 欄はパスワードの
.Em 暗号化された
形です。
.Ar password
欄が空ならば、そのマシンへアクセスするのに何のパスワードも必要としないで
しょう。これはほとんど恒常的に誤りです。これらのファイルは暗号化された
ユーザパスワードを含んでいるので、
適当な権利無しにはいかなる人によっても可読であっ
てはいけません。管理上のアカウントは 1 個のアスタリスク
.Ql \&*
を含むパスワード欄を有しており、これは通常のログインを許しません。
.Pp
group 欄はユーザがログインした上で位置付けられるグループです。このシステムは
マルチグループ(
.Xr groups 1
参照)
をサポートしますが、この欄はユーザの 1 次グループを指名します。
2 次グループのメンバは
.Pa /etc/group
の中で選ばれます。
.Pp
.Ar class
欄はユーザのログインクラスに対するキーです。ログインクラスは
.Xr login.conf 5
の中で定義されます。
.Xr login.conf 5
は、ユーザの属性、アカウンティング、リソース、環境設定に関する
.Xr termcap 5
形式のデータベースです。
.Pp
.Ar change
欄は
.Dv GMT
における基準時点からの秒数を表したものであり、
この時までにアカウントに対するパスワードを変更する必要があります。
パスワードエージング機能をなくすには、
この欄を空欄にしておくか 0 をセットしておけば良いです。
.Pp
.Ar expire
欄は
.Dv GMT
における基準時点からの秒数を表したものであり、
その時にアカウントが消滅します。
アカウント再設定機能をなくすには、
この欄を空にセットしておくか 0 をセットしておけば良いです。
.Pp
.Ar gecos
欄はコンマ
.Pq Ql \&,
で区切られた以下のような副欄を通常含んでいます:
.Pp
.Bl -bullet -compact -offset indent
.It
ユーザのフルネーム
.It
ユーザの職場の位置
.It
ユーザの職場の電話番号
.It
ユーザの自宅の電話番号
.El
.Pp
この情報は
フィンガープログラム
.Xr finger 1
によって利用され、最初の欄はシステムのメーラ
によって使われます。fullname 欄内にアンパサンド文字
.Pq Ql \&&
が現われると、この欄を使うプログラムはそれをそのアカウントのログイン名の
大文字版に置き換えます。
.Pp
ユーザのホームディレクトリは、ユーザがログインして位置付けられる完全な
.Tn UNIX
パス名です。
.Pp
shell 欄はユーザの好むインタプリタです。
.Ar shell
欄になにも無ければ Bourne シェル
.Pq Pa /bin/sh
が仮定されます。セキュリティ上の理由により、シェルがシステムへのアクセス
を許さないスクリプト (例えば
.Xr nologin 8
スクリプト) に設定されている場合、いかなる環境変数も渡されないように配慮さ
れるべきです。
.Xr sh 1
については、これは
.Fl p
フラグを指定することで可能です。これが他のシェルでどのように行なわれるか
は、特定のシェルの文書を調べてください。
.Sh YP/NIS との相互作用
.Ss NIS パスワードデータへのアクセスを可能にする
システム管理者は
.Pa /etc/master.passwd
ファイルに特別なレコードを付け加えることによって、パスワード情報について
NIS/YP を用いるように
.Tn FreeBSD
を設定できます。ハッシュされたパスワードデータベースおよび
.Pa /etc/passwd
ファイル (
.Pa /etc/passwd
は絶対に手動で編集してはいけません) に変更が適切にマージされるように、
エントリは
.Xr vipw 8
で付加するべきです。別の方法としては、なんらかの方法で
.Pa /etc/master.passwd
を修正した後、
.Xr pwd_mkdb 8
を用いてパスワードデータベースを手動で更新することができます。
.Pp
NIS を活性化するための最も簡単な方法は、名前欄にプラス符号
.Pq Ql \&+
だけを持つ、
以下のような空のレコードを付け加えることです。
.Bd -literal -offset indent
+:::::::::

.Ed
.Ql \&+
は、
.Tn FreeBSD
の標準 C ライブラリの
.Xr getpwent 3
ルーチンに対し、
検索において NIS パスワードマップを使用開始するよう指示します。
.Pp
上記のエントリは
.Em ワイルドカード
エントリとして知られていることに注意してください。なぜなら、それはすべての
ユーザと一致し (他に情報を持たない
.Ql \&+
は、全員に一致します)、
全 NIS パスワードデータを無変更にて引き出すことを許します。
一方、
NIS エントリで
.Ql \&+
の次にユーザ名やネットグループ名を指定することによって、
どのようなデータが NIS パスワードマップから展開されるのか、
およびそれがどのように解釈されるのかについて、
管理者が影響を与えることができます。
この特徴を示す、少数のレコード例を挙げます (1 つの
.Pa master.passwd
ファイル中には複数の NIS エントリを持つことが可能であることに注意):
.Bd -literal -offset indent
-mitnick:::::::::
+@staff:::::::::
+@permitted-users:::::::::
+dennis:::::::::
+ken:::::::::/bin/csh
+@rejected-users::32767:32767::::::/bin/false

.Ed
特定のユーザ名は明示的にリストされますが、ネットグループは
.Ql \&@
を前に付けて表されます。
上の例では、
.Dq staff
および
.Dq permitted-users
ネットグループ
のユーザは、NIS から読まれ無変更で使用されるパスワード情報を持ちます。
言い換えれば、それらのユーザはそのマシンに通常のアクセスを許される
ということです。ユーザ
.Dq ken
および
.Dq dennis
は、
ネットグループを通じてではなく明示的に名前が指定されており、
NIS から読まれるパスワード情報を持ちます。
.Em 例外
は、ユーザ
.Dq ken
のシェルが
.Pa /bin/csh
に再マップされることです。
これは、NIS パスワードマップで指定されたシェルの値が、ローカル
.Pa master.passwd
ファイルの特別な
NIS エントリで指定された値によって上書きされることを意味します。
ユーザ
.Dq ken
は csh シェルを割り当てておいても良いかも知れません。
なぜなら、
政治的あるいは技術的な理由でクライアントマシンにインストールされていない
別のシェルを、彼の NIS パスワードエントリに指定されているかもしれないためです。
他方、
.Dq rejected-users
ネットグループのユーザは、その UID、
GID、シェルが不正な値で上書きされているのでログインできなくなります。
.Pp
ユーザ
.Dq mitnick
は、そのエントリが
.Ql \&+
ではなく
.Ql \&-
で指定されているので、
完全に無視されることになります。
マイナスエントリは、
ある NIS エントリを完全に遮断するために用いることができます。
このような方法でパスワードデータが除外されたユーザは、
システムから全く認識されません。(マイナスエントリで指定された
上書き情報は無視されます。
なぜなら、システムが最初に認識しないことにしたユーザの上書き情報を処理
することは無駄だからです。)
一般にマイナスエントリは、
ある権限のあるネットグループのメンバとなってアクセスを許されるかもしれない
ユーザを特別に除外するために使用します。
例えば
.Dq mitnick
が
.Dq permitted-users
ネットグループのメンバであり、
いかなる理由があってもそのネットグループ内に留まることを許す必要がある場合
(おそらくそのドメイン内の他のマシンにアクセスすることを保証するため)、
管理者はマイナスエントリを使用することにより、
特定のシステムへのアクセスを拒否し続けるこ
とができます。また、アクセスを許されたユーザおよびその残りを削除したよう
なよくありそうな混み入ったユーザのリストを生成するよりは、むしろアクセスを
許されないユーザを明示的にリストする方が容易なことが多いです。
.Pp
プラスおよびマイナスエントリは、先行一致優先で最初から最後の順で評価されま
す。これはシステムが特定のユーザに一致する最初のエントリだけを使用する
ことを意味します。
同じ例を使用すると、
.Dq staff
ネットグループと
.Dq rejected-users
ネットグループの両方のメンバとなっているようなユーザ
.Dq foo
は、
上の例では
.Dq rejected-users
のエントリの前に
.Dq staff
のエントリがありますので、
システムに許可されます。もし順序が逆なら、今度はユーザ
.Dq foo
は
.Dq rejected-users
として認識され、アクセスは拒否されます。
.Pp
最後に、
.Pa /etc/master.passwd
ファイルの NIS アクセスエントリで指定されたユーザまたはネットグループ
のどれとも一致しない NIS パスワードデータベースレコードは、(マイナスエントリ
を使って指定したすべてのユーザと共に) すべて無視されます。先に示した例
ではリストの最後にワイルドカードエントリが無いので、
.Dq ken
と
.Dq dennis
と
.Dq staff
ネットグループと
.Dq permitted-users
ネットグループとを除くすべてのユーザを、
システムは権限があるユーザとして認識しないでしょう。
.Dq rejected-users
ネットグループは認識されますが、
全メンバのシェルは再マップされますので、
アクセスは拒否されるでしょう。他のすべての NIS パスワードレコードは無視され
るでしょう。 管理者は以下のようなワイルドカードエントリをリストの最後に
付けても良いでしょう。
.Bd -literal -offset indent
+:::::::::/sbin/nologin

.Ed
このエントリは他のすべてのエントリと一致しないすべてのユーザを一挙にとらえる
働きをします。
必ずしもログインアクセスを許可せずに、
特定の
NIS ドメイン内の全ユーザをシステムが認識可能であることが望ましいときには、
このテクニックが有効なことがあります。
ログインシェルとシェルスクリプトを使用するときのセキュリティに関する事柄
について、シェル欄の記述を参照してください。
.Pp
この
.Pa 上書き
機能の主な用途は、
管理者が NIS クライアント上でアクセス制限を強化可能とすることです。
単に特定のネットグループに対してユーザを追加したり削除したりするだけで、
そのユーザにあるマシン群へのアクセスを許可し、
かつ他のマシン群へのアクセスを拒否することができます。
ネットグループデータベースもまた NIS 経由でアクセスできるので、
1 個所すなわち NIS マスタサーバからアクセス制限を管理できます。
一旦ホストのアクセスリストが
.Pa /etc/master.passwd
に設定されると、新にネットグループが作られない限りそれは再度変更する必要
はありません。
.Sh 注
.Ss NIS 経由のシャドウパスワード
.Tn FreeBSD
はシャドウパスワード法を採用しており、
ユーザの暗号化されたパスワードはスーパユーザだけが読み書き可能な
.Pa /etc/master.passwd
および
.Pa /etc/spwd.db
にのみに記憶されます。
暗号化されたパスワードをパスワード推測プログラムに通すことにより、
ユーザが他のユーザアカウントに対して不正アクセスすることを防ぐためです。
NIS にはパスワード隠蔽のための標準的な方法がありません。
これは、
パスワードデータをすべて NIS パスワードマップに置き換えることは、
.Tn FreeBSD
のパスワード隠蔽システムのセキュリティを無効にしてしまうことを意味します。
.Pp
.Tn FreeBSD
にはこの問題を回避するのに役立つ少数の特別な特徴が備わっています。
.Tn FreeBSD
NIS クライアントと
.Tn FreeBSD
NIS サーバとの間でパスワード隠蔽を実装することは可能です。
.Xr getpwent 3
ルーチンは
.Pa /etc/master.passwd
と同じデータを含む
.Pa master.passwd.byname
と
.Pa master.passwd.byuid
マップを検索します。マップが存在すれば
.Tn FreeBSD
は標準の
.Pa passwd.byname
および
.Pa passwd.byuid
マップの代りにそれらをユーザ認証に利用しようとします。
.Tn FreeBSD
の
.Xr ypserv 8
はまたクライアントの要求をチェックして、
クライアントの要求が特権ポートから来たことを確認します。
スーパユーザのみが特権ポートにアクセスすることが許されるので、
要求しているユーザがスーパユーザであるか否か判断可能です。
.Pa master.passwd
マップにアクセスする権限の無いユーザからのすべての要求は拒否されるでしょう。
すべてのユーザ認証プログラムはスーパユーザの権限で実行されるので、
ユーザの暗号化されたパスワードデータへの必要なアクセスを持ちますが、
通常ユーザはパスワード情報を含まない標準
.Pa passwd
マップへのアクセスのみ許されます。
.Pp
この特徴は
.Tn FreeBSD
以外のシステムがある環境では利用できないことに注意してください。
また、ネットワーク
に無制限にアクセスできる真に限定されたユーザは依然
.Pa master.passwd
マップを危うくすることにも注意してください。
.Ss NIS の上書きに伴なう UID および GID の再マップ
.Tn SunOS
や Sun の NIS コードを利用しているオペレーティングシステムとは異なり、
.Tn FreeBSD
ではユーザが NIS
.Pa passwd
エントリ中の
.Pa すべて
の欄を上書きすることを許しています。例えば以下のような
.Pa /etc/master.passwd
エントリを考えてみましょう。
.Bd -literal -offset indent
+@foo-users:???:666:666:0:0:0:Bogus user:/home/bogus:/bin/bogus

.Ed
このエントリにより、`foo-users' ネットグループ中のすべてのユーザは、
UID、GID、パスワードを含めて
.Pa すべて
のパスワード情報を上書きされます。この結果、彼等のパスワードは不正な
値に再マップされるので、すべての `foo-users' はシステムから締め出さ
れることになるでしょう。
.Pp
以下のように NIS ワイルドカードエントリを使う習慣のある人が多いので、
このことは覚えておくべき重要なことです。
.Bd -literal -offset indent
+:*:0:0:::

.Ed
これはしばしば新米の
.Tn FreeBSD
管理者が以下のように
.Pa master.passwd
ファイルの NIS エントリを選んでしまうことにつながります。
.Bd -literal -offset indent
+:*:0:0::::::

.Ed
更に悪く、以下のようにしてしまうこともあります。
.Bd -literal -offset indent
+::0:0::::::

.Ed
.Pa master.passwd
.Sy ファイルには「絶対に」このようなエントリは入れないでください!!
最初のものは、
すべてのパスワードを
.Ql \&*
に再マップし (これは誰もログインできなくします)、
すべての UID および GID を 0 に再マップする (これは皆をスーパユーザにします)
ことを
.Tn FreeBSD
に指示します。
2 番目のものは全 UID および GID をちょうど 0 にマップします
が、これは
すべてのユーザが root になってしまう
ことを意味します!
.Pp
.Ss NIS 上書き評価の互換性
Sun が最初に
.Xr getpwent 3
ルーチンに NIS サポートを追加したとき、
.Tn SunOS
のパスワードファイル
.Pa /etc/passwd
はプレーン
.Tn ASCII
フォーマットであるということが考慮されていました。
.Tn SunOS
のドキュメントによれば、パスワードファイルに
.Ql \&+
エントリを付け加えると、
パスワードファイル中の
.Ql \&+
エントリがある位置に
NIS パスワードデータベースの内容が
.Dq 挿入
されます。例えば
管理者が
.Pa /etc/passwd
の中央に
.Ql \&+::::::
エントリを置いた場合、
NIS パスワードマップの全体の内容が
パスワードファイルの中央にコピーされたかのように現われるでしょう。
管理者が
.Ql \&+::::::
エントリを
.Pa /etc/passwd
の中央と最後の両方に置けば NIS パスワードマップは
2 度現われることになるでしょう。
すなわち 1 度目はそのファイルの中央に現れ、もう 1 度は最後に現れます
(単純なワイルドカードの代りに上書きエントリを用いることで、
他の組み合わせが可能です)。
.Pp
これに対し
.Fx
では単一の
.Tn ASCII
パスワードファイルを持つというわけではありません。
.Tn FreeBSD
ではハッシュ化されたパスワードデータベースを持ちます。このデータベースで
は最初や中央や最後を容易に定義できませんので、
.Tn SunOS
に 100% 互換の手法を設計することは非常に困難です。例えば
.Tn FreeBSD
の
.Fn getpwnam
関数と
.Fn getpwuid
関数は、線形検索ではなくハッシュデータベースに直接問い合わせするように設計さ
れています。パスワードデータベースが大きいシステムでは、
このアプローチの方が高速です。
しかしデータベースへ直接問い合わせを利用するとき、
システムは元のパスワードファイルの順序を知り得ませんし気にしませんので、
.Tn SunOS
が使用するものと同じ上書き論理は容易に適用できません。
.Pp
代りに
.Tn FreeBSD
ではすべての NIS 上書きエントリを一緒のグループにまとめ、それらから 1 つ
のフィルタを作ります。各 NIS パスワードエントリはちょうど 1 回上書きフィルタ
に対して比較され、それに応じて取り扱われます。フィルタがエントリを変更せ
ずに通すことを許すならエントリは変更されないものとして取り扱われ、フィルタ
が欄の再マップを要求するなら欄は再マップされ、フィルタが明白な除外を要求
するなら(すなわちエントリが
.Ql \&-
上書きと一致するなら) エントリは無視され、
エントリがフィルタ指定のどれとも一致しないならエントリは捨てられます。
.Pp
また、NIS の
.Ql \&+
および
.Ql \&-
エントリ自身は、
.Pa /etc/master.passwd
の中で指定された順序で取り扱われることに再度注意してください。
それ以外の方法で取り扱うと、予測不可能な振舞いとなってしまうからです。
.Pp
結局のところ、データベースのパラダイムを保ちつつ
.Tn FreeBSD
では
.Tn SunOS
と非常によく似た動作を行いますが、
.Xr getpwent 3
関数は
.Tn SunOS
のものとはいくぶん異なった振舞いをします。主な違いは以下の通りです。
.Bl -bullet -offset indent
.It
NIS パスワードマップの各々のレコードは、ローカルパスワード空間のパスワードに
1 度だけマップすることができます。
.It
NIS の
.Ql \&+
および
.Ql \&-
のエントリの位置は、
NIS パスワードレコードがパスワード空間にマップされる場所に
必ずしも影響を与えません。
.El
.Pp
あらゆる
.Tn FreeBSD
の構成のうち 99% においては NIS クライアントの振舞いは
.Tn SunOS
や他の同種のシステムのそれと区別できないものとなるでしょう。それでもこれ
らのアーキテクチャ的な違いを知っておくことは必要です。
.Pp
.Ss NIS 上書きに関しネットグループの代りにグループを用いる
.Tn FreeBSD
はネットグループではなくユーザグループに基づいた上書き照合を行なう能力
を提供します。例えば NIS エントリが以下のように指定されたとき、
.Bd -literal -offset indent
+@operator:::::::::

.Ed
システムはまず
.Ql operator
と呼ばれるネットグループに対してユーザを
照合しようとします。
.Ql operator
ネットグループが存在しないとき、
システムは代りに通常の
.Ql operator
グループに対して照合しようとします。
.Ss FreeBSD の古いバージョンからの動作の変遷
.Tn FreeBSD
の NIS/YP の取り扱いについてはいくつかのバグフィックスと改善がありました。
そのいくつかは動作上の変化をもたらしました。動作上の変化は一般に良い方向
にありますが、ユーザおよびシステム管理者がそれらについて知っておくことは
重要です。
.Bl -enum -offset indent
.It
2.0.5 以前のバージョンでは、逆方向検索 (つまり
.Fn getpwuid
を用いる) には上書きは適用されませんでした。つまり、
.Fn getpwuid
は
.Fn getpwnam
が認識しないログイン名を返すことがありました。
これは現在では
.Pa /etc/master.passwd
で指定された上書きをすべての
.Xr getpwent 3
関数に適用することで解決されました。
.It
.Fx 2.0.5
以前では、ネットグループの上書きは全く動作しませんでした。
これは主に
.Tn FreeBSD
が NIS を通してネットグループを読むことをサポートしなかったことが原因です。
これもまた修正され、
.Tn SunOS
や同種の NIS を使用可能なシステムと全く同様に、
ネットグループを指定可能となりました。
.It
.Tn FreeBSD
は現在 NIS サーバの能力を持っており、標準第 6 版形式の
.Pa passwd
マップに加え
.Pa master.passwd
NIS マップの使用もサポートしています。このことは、NIS サーバとして
.Tn FreeBSD
システムを利用するなら、変更情報、有効期限の情報、クラス情報を指定可能であ
るということを意味しています。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/master.passwd -compact
.It Pa /etc/passwd
パスワードを除いた
.Tn ASCII
パスワードファイル
.It Pa /etc/pwd.db
パスワードを除いた
.Xr db 3
形式のパスワードデータベース
.It Pa /etc/master.passwd
パスワードの入った
.Tn ASCII
パスワードファイル
.It Pa /etc/spwd.db
パスワードの入った
.Xr db 3
形式のパスワードデータベース
.El
.Sh 関連項目
.Xr chpass 1 ,
.Xr login 1 ,
.Xr passwd 1 ,
.Xr getpwent 3 ,
.Xr login_getclass 3 ,
.Xr yp 4 ,
.Xr login.conf 5 ,
.Xr adduser 8 ,
.Xr pw 8 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8
.Sh バグ
ユーザ情報は他のどこか に入れるべき (そして結局は入れることになる) でしょう。
.Pp
YP/NIS パスワードデータベースでは、
普通のユーザには暗号化されたパスワードが見えてしまいます。したがって
.Pa master.passwd
マップのシャドウパスワードおよび
.Tn FreeBSD
の
.Xr ypserv 8
サーバを利用しないと、
簡単にパスワードクラッキングを許してしまうことになります。
.Pp
.Pa master.passwd
タイプのマップの使用をサポートする
.Tn FreeBSD
の
.Xr ypserv 8
を使用しないと、
YP/NIS パスワードデータベースは
古いスタイル (第 6 版) のフォーマットになります。これは、
.Tn FreeBSD
システムを標準 NIS サーバのクライアントとして利用するとき、
ユーザのログインクラスやパスワード期限等の
現在のフォーマットにある欄の値については
サイトワイドな値が利用できなくなることを意味します。
.Sh 互換性
パスワードファイル形式は
.Bx 4.3
以降で変更されました。以下の awk スクリプトは、古いスタイルの
パスワードファイルを新しいスタイルのパスワードファイルに
変換するのに利用できます。
.Dq class ,
.Dq change ,
.Dq expire
欄が追加されましたが、デフォルトでは無効になっています。
これらの欄を設定するには
.Xr vipw 8
もしくは
.Xr pw 8
を使用してください。
.Bd -literal -offset indent
BEGIN { FS = ":"}
{ print $1 ":" $2 ":" $3 ":" $4 "::0:0:" $5 ":" $6 ":" $7 }
.Ed
.Sh 歴史
.Nm
ファイルは
.At v6
で現われました。YP/NIS の機能は
.Tn SunOS
を雛型として
.Fx 1.1
で初めて現われました。上書き機能は
.Fx 2.0
において新しく組み込まれました。上書き機能はネットグループを適切に
サポートするために
.Fx 2.0.5
で更新されました。注釈のサポートは
.Fx 3.0
で初めてサポートされました。