̾??
nsswitch.conf
—
?͡??ॵ???ӥ??????å????????ե?????
nsswitch.conf
?ե??????? C
?饤?֥????Ǥ?
nsdispatch(3)
(?͡??ॵ???ӥ?
?????å??ǥ????ѥå???)
?롼???????ɤΤ褦?˺?ư?????뤫??
???ꤷ?ޤ???
?????????ե??????ϡ?host, user (password), group
?ʤɤ˴ؤ???
???????????͡??ʥǡ????١?????Ĵ?٤뤿????
?ץ????????ȥ????뤷?ޤ???
?ƥǡ????١????? (?????????ե????롢DNS?? NIS
?Τ褦??) ?????????????????졢
???Υ??????????ꤹ?????? nsswitch.conf
?????ꤷ?ޤ???
nsswitch.conf
?γƥ????ȥ??ϥǡ????١???̾?ȡ????ڡ????Ƕ??ڤ??줿
???????Υꥹ?Ȥǹ????????Ƥ??ޤ???
?ƥ??????ˤϡ??ꥹ?Ȥμ??Υ????????Ȥ????????ߤΥ??????ǽ??????ˤ??뤫
?????????????????˽ޤ??? ?ƴ????ϡ?1
?Ĥ⤷???ϡ??????ʾ??Υ??ơ??????????ɤȡ?
???Υ??ơ??????????ɤ?ȯ???????ݤ˹Ԥ?ư???????Ω?äƤޤ???
?ʲ??Υ????????????????Ƥ??ޤ?:
- ??????
- ????
- files
- /etc/hosts ?? /etc/passwd
?ʤɤΥ????????ե????롣
- dns
- ?????ͥåȥɥᥤ???͡??ॷ???ƥࡣ
“hosts” ?? ‘networks’ ?ϡ?
IN
???饹?????Ѥ???????¾???Ƥ?
HS
???饹 (Hesiod) ?????Ѥ??ޤ???
- nis
- NIS (?????? YP)
- compat
- “passwd” ?? “group”
?Υǡ????١????? ‘+/-’
?ݡ??Ȥ??ޤ???
???줬???????硢?????ȥ??Υ??????ϡ??????ΤߤǤ???
?ʲ??Υ??ơ??????????ɤ????Ѳ?ǽ?Ǥ?:
- ???ơ???????????
- ????
- success
- ?ᤷ???????ȥ꤬???Ĥ????ޤ?????
- notfound
- ???Υ??????ˤϡ??????ȥ꤬?????ޤ????Ǥ?????
- tryagain
- ?????????ӥ??????֤Ǥ????ƻ??Բ?ǽ?Ǥ???
- unavail
- ???????α??????ʤ??????????ȥ꤬?????Ƥ??ޤ???
???줾???Υ??ơ??????????ɤˤ????ơ??ʲ??Υ?????????ǽ?Ǥ?:
- ??????????
- ????
- continue
- ???Υ??????????ԡ?
- return
- ???ߤη??̤????롣
nsswitch.conf
?? BNF
??ʸ?ϰʲ????̤??Ǥ?:
- <entry>
- ::= <database> ":" [<source>
[<criteria>]]*
- <criteria>
- ::= "[" <criterion>+ "]"
- <criterion>
- ::= <status> "=" <action>
- <status>
- ::= "success" | "notfound" | "unavail" |
"tryagain"
- <action>
- ::= "return" | "continue"
?ƥ????ȥ??ϥե????????ο??????Ԥ??饹?????Ȥ??ޤ???
?????? ‘#’
?ϡ??????ޤǥ??????ȤȤ????ޤ???
???Ԥ?̵?뤵???ޤ??? ?????? ‘\’
???????????ϲ??Ԥ?̵?뤷??
???ιԤߤιԤ?³???Ȥ??ޤ???
???ƤΥ????ȥ??ϡ???ʸ???Ⱦ?ʸ???????̤??ޤ?????
?ǥե????ȴ????? “success”
?ξ????? return ?ˤʤꡢ?????ʳ??ξ?????
continue ?ˤʤ??ޤ??? (?Ĥޤꡢ
[success=return notfound=continue unavail=continue
tryagain=continue]
)
????Ū?ʥޥ??????????????ˤ????ơ?
‘+’ ?? ‘-’
ʸ???ϡ??桼???ѥ???ɤ?
???롼?????? NIS
?????????????褦?????ꤹ?뤿???˻Ȥ????ޤ???
NIS
?ʤɤ????ۤ????Ƥ??륽?????˥????????????̤???ˡ??
nsswitch.conf
?????ޤ?????????????ñ???? “compat”
?????ꤹ????????Ū??ư????ˡ?????ޤ???
“passwd_compat: source” ?????ꤹ????
‘+/-’ ??ͳ?ǥ??????????줿?????????ؤ?
???????˻??Ѥ??뤳?Ȥ??Ǥ??ޤ???
???ξ????? “source” ?ˤϡ?
‘dns’, ‘nis’ ?? ‘files’,
‘compat’
?ʳ??Τ???¾?Υ??????????ƤϤޤ??ޤ???
????Ū?ʡ?¿???Υǡ????١????ˤϡ?
getXXXent
()
???????????ؿ????????ޤ??? (?ƥ?????????????)
?ǡ????١??????????????ե??????ΤȤ??ϡ????ˤ??ʤäƤ??ޤ?????
¿???Υ??????ξ????ϡ?
?ۤȤ??ɰ?̣???ʤ??????????ǤϤ????ޤ?????
???Υ??ե??????Ϥޤ??ߴ????Τ??????Ѱդ????Ƥ??ޤ?????
?????????????ʥ????ȥ????Ǥ??ʤ????⤷???ޤ?????
?ޤ??ϡ????̤ä????????ݻ????Ƥ???ʣ???Υ??????????ꤷ?????硢
??ʣ?????????ȥ꤬?֤????뤫?⤷???ޤ?????
?????μ????ȡ????ߤμ????Ȥθߴ??????μ¤ˤ??뤿????
“compat”
???????ϻ??ꤹ???ǡ????١????ˡ?ñ?Ȥ?¸?ߤ??ʤ????Фʤ??ޤ?????
???????????????ˤ????? ???餫????ͳ??
nsswitch.conf
??¸?ߤ??Ƥ??ʤ??????ޤ???
?礱?Ƥ????????줿?????ȥ꤬???ä?????
nsdispatch(3)
???ᤵ?줿?ǡ????١????ˤ?
“files”
?Υ????ȥ????ǥե????ȤȤ??ޤ???
?㳰?ϰʲ????̤??Ǥ?:
- ?ǡ????١???
- ?ǥե????ȥ??????Υꥹ??
- group
- compat
- group_compat
- nis
- hosts
- files dns
- passwd
- compat
- passwd_compat
- nis
??Ϣ?ե?????
- /etc/nsswitch.conf
nsswitch.conf
?ե???????
/etc ?ˤ????ޤ???
?ۥ??Ⱦ????? /etc/hosts
???θ? DNS ?Ǹ????????桼???????? NIS ???θ? files
?Ǹ????????ˤϰʲ??????Ѥ??Ƥ???????:
- hosts:
- files dns
- passwd:
- nis [notfound=return] files
- group:
- nis [notfound=return] files
“[notfound=return]” ?δ????ϡ?"NIS
?? notfound ???֤??????硢files ?ϸ??????ʤ?"
?Ȥ????????ˤʤ??ޤ??? NIS
?????Ф??????Ƥ????????????ơ?NIS
?Τߤ?
?????ʾ????Ȥ??Ƽ??갷???ޤ???
?????ƥब NO_NIS
?ǥ????ѥ??뤵???Ƥ??????? ‘nis’
?Υ????ȥ??ϳ????Ƥ?????????
nsswitch.conf
?ե??????ե????ޥåȤ?
FreeBSD 5.0
?ǤϤ??????о줷?ޤ????? ??????
NetBSD 1.4 ?ǤϤ??????о줷??
NetBSD
?ץ????????Ȥ??饤???ݡ??Ȥ????ޤ?????
Luke Mewburn ⟨lukem@netbsd.org⟩ ?? ULTRIX
svc.conf(5)
?? Solaris
nsswitch.conf(4)
?ޥ˥奢???ڡ????????Υ????ǥ????ˡ?
???μ?ͳ?˺????۲?ǽ?ʥ͡??ॵ???ӥ?
?????å??μ????Ҥ??ޤ?????