NAME
winbindd − NT サ ー バ か ら 名 前 情 報 を 取 得 す る た め の Name Service Switch デ ー モ ン
SYNOPSIS
winbindd [ -d debuglevel ] [ -i ] [ -S ] [ -r ] [ -A ] [ -h ] [ -B <broadcast address> ] [ -U <unicast address> ] [ -d <debug level> ] [ -s <smb config file> ] [ -i <NetBIOS scope> ] [ -T ] name
DESCRIPTION
こ の ツ ー ル は Samba <URL:samba.7.html> 3.0 の 一 部 で あ り 、 以 下 で 説 明 す る 機 能 は 、 現 在 の バ ー ジ ョ ン の Samba に は ま だ 実 装 さ れ て い な い 。
winbinddは 、 最 近 の Cラ イ ブ ラ リ の ほ と ん ど に 実 装 さ れ て い る Name Service Switch 機 能 を 提 供 す る デ ー モ ン で あ る 。 Name Service Switch 機 能 に よ り 、 ユ ー ザ 上 と シ ス テ ム 情 報 を NISや DNSの よ う に 、 異 な る デ ー タ ベ ー ス サ ー ビ ス か ら 取 得 す る こ と が で き る よ う に な る 。 動 作 の 詳 細 は 、 /etc/nsswitch.conf フ ァ イ ル に よ っ て 設 定 す る こ と が で き る 。 ユ ー ザ と グ ル ー プ は 、 名 前 の 解 決 が 行 な わ れ た 時 点 で 、 Sambaシ ス テ ム の 管 理 者 に よ っ て 指 定 さ れ た ユ ー ザ と グ ル ー プ IDの 領 域 か ら IDを 割 り 当 て ら れ る 。
winbinddに よ っ て 提 供 さ れ る サ ー ビ ス は 、 ’winbind’ と 呼 ば れ 、 Windows NT の サ ー バ か ら ユ ー ザ と グ ル ー プ の 情 報 を 取 得 す る た め に 用 い る こ と が で き る 。 こ の サ ー ビ ス は 関 連 す る PAMモ ジ ュ ー ル を 通 じ て 、 認 証 サ ー ビ ス を 提 供 す る こ と も 可 能 に な っ て い る 。
winbindd サ ー ビ ス は 、 以 下 の nsswitch デ ー タ ベ ー ス 用 に 実 装 さ れ て い る :
passwd |
passwd(5) フ ァ イ ル に 格 納 さ れ た 伝 統 的 な ユ ー ザ 情 報 で 、 getpwent(3) 関 数 に よ っ て 取 得 さ れ る 。 | ||
group |
group(5) フ ァ イ ル に 格 納 さ れ た 伝 統 的 な グ ル ー プ 情 報 で 、 getgrent(3) 関 数 に よ っ て 取 得 さ れ る 。 |
例 え ば 、 以 下 の よ う に 、 /etc/nsswitch.conf フ ァ イ ル に 簡 単 な 設 定 を 行 な う こ と で 、 ま ず ユ ー ザ や グ ル ー プ の 情 報 を /etc/passwdや /etc/group か ら 取 得 し よ う と し 、 つ い で 、 そ れ ら を Windows NT の サ ー バ か ら 取 得 し よ う と す る よ う に な る 。
passwd: files
winbind
group: files winbind
OPTIONS
-d debuglevel
debuglevel を 0 か ら 100 の 数 値 で 指 定 す る 。 0 の 場 合 情 報 を 全 く 出 力 し な い 。 100 の 場 合 本 当 に 大 量 に 出 力 す る 。 Samba Team に バ グ レ ポ ー ト を 提 出 す る 際 に は 、 debug level 100 を 使 用 す る こ と (BUGS.txt を 参 照 の こ と )。
-i |
winbindd が デ ー モ ン と な っ て 現 在 の 端 末 か ら 切 り 離 さ れ な い よ う に す る 。 こ の オ プ シ ョ は 、 開 発 者 が 対 話 的 に winbindd の デ バ ッ グ を 行 な う こ と が 必 要 な 場 合 に 用 い ら れ る 。 |
NAME AND ID RESOLUTION
Windows NTの サ ー バ 上 に あ る ユ ー ザ と グ ル ー プ は 、 ユ ー ザ や グ ル ー プ の 作 成 時 に ド メ イ ン 内 で 一 意 な rid(relative id)を 付 与 さ れ る 。 Windows NTの ユ ー ザ や グ ル ー プ を UNIXの ユ ー ザ や グ ル ー プ に 変 換 す る た め に は 、 ridと UNIXの ユ ー ザ や グ ル ー プ IDと の マ ッ ピ ン グ が 必 要 と な る 。 こ れ は winbindd の 行 な う 作 業 の 一 つ で あ る 。 ユ ー ザ と グ ル ー プ IDが サ ー バ で 解 決 さ れ た 際 に 、 winbinddに よ っ て ユ ー ザ と グ ル ー プ IDは 指 定 さ れ た 領 域 か ら 割 り 当 て ら れ る 。 こ の 処 理 は 、 最 初 に ア ク セ ス が あ り 、 サ ー ビ ス が 提 供 さ れ た 時 点 で 行 な わ れ る た め 、 ク ラ イ ア ン ト が ユ ー ザ や グ ル ー プ の 一 覧 (enumeration)コ マ ン ド を 発 行 し た 時 点 で 、 存 在 す る 全 て の ユ ー ザ と グ ル ー プ の マ ッ ピ ン グ が 行 な わ れ る 。 割 り 当 て ら れ た UNIX側 の IDは Samba側 の lockデ ィ レ ク ト リ 以 下 に 置 か れ た デ ー タ ベ ー ス に 格 納 さ れ 、 記 憶 さ れ る 。 警 告 : ridか ら UNIXの IDへ マ ッ ピ ン グ を 行 な う こ の デ ー タ ベ ー ス は 、 winbinddが ユ ー ザ と グ ル ー プ の マ ッ ピ ン グ を 格 納 す る 唯 一 の フ ァ イ ル で あ る 。 こ の フ ァ イ ル が 削 除 さ れ た り 壊 れ た り す る と 、 ど の Windows NTユ ー ザ や グ ル ー プ の ridに 対 応 し て い る か を winbinddが 認 識 す る こ と は で き な く な っ て し ま う 。
CONFIGURATION
winbindd
デ ー モ ン の 設
定 は smb.conf(5) フ ァ
イ ル の 設 定 パ
ラ メ ー タ に よ
っ て 行 な わ れ
る 。 全 て の パ
ラ メ ー タ の 設
定 は 、 smb.conf フ ァ
イ ル の [global] セ ク
シ ョ ン で 行 な
わ れ る 。
winbind separator
winbind separator オ プ シ ョ ン は 、 NTド メ イ ン 名 と ユ ー ザ 名 を UNIXの ユ ー ザ 名 に 対 応 づ け る 際 の 方 式 を 指 定 す る 。 デ フ ォ ル ト で 、 winbindd は 伝 統 的 な ’\’ を セ パ レ ー タ と し て 利 用 す る た め 、 UNIXの ユ ー ザ 名 は DOMAIN\usernameの よ う な 形 式 に な る 。 ’\’ の 文 字 は UNIXの シ ェ ル で 特 別 な 意 味 を 持 っ て い る た め 、 特 定 の ケ ー ス で 、 こ の セ パ レ ー タ 文 字 は 問 題 を 引 き 起 こ す こ と が あ る 。 そ う し た ケ ー ス で は 、 winbind separator オ プ シ ョ ン を 用 い る こ と で 別 の 文 字 を セ パ レ ー タ 文 字 に 指 定 す る こ と が 可 能 で あ る 。 よ い 候 補 と し て は ’/’ (こ れ は UNIX の デ ィ レ ク ト リ 識 別 子 と 競 合 す る ) や ’+’ 文 字 な ど が あ げ ら れ る 。 ’+’ 文 字 は 、 UNIX ユ ー テ ィ リ テ ィ と の 互 換 性 が 100% で あ る た め よ い 選 択 な よ う に 見 え る が 、 あ な た の 嗜 好 に よ っ て は 、 美 学 的 に よ ろ し く な い 選 択 に な る か も 知 れ な い 。 デ フ ォ ル ト : winbind separator = \ 設 定 例 : winbind separator = +
winbind uid
winbind uid パ ラ メ ー タ は winbindd デ ー モ ン が 割 り 当 て る ユ ー ザ IDの 範 囲 を 指 定 す る 。 予 期 し な い 競 合 が 発 生 し な い よ う に す る た め 、 こ の ユ ー ザ IDの 範 囲 に ロ ー カ ル な ユ ー ザ や NISの ユ ー ザ が 存 在 し な い よ う に す る こ と 。 デ フ ォ ル ト : winbind uid = <empty string> 設 定 例 : winbind uid = 10000-20000
winbind gid
winbind gid パ ラ メ ー タ は 、 winbindd デ ー モ ン が 割 り 当 て る グ ル ー プ IDの 範 囲 を 指 定 す る 。 予 期 し な い 競 合 が 発 生 し な い よ う に す る た め 、 こ の グ ル ー プ IDの 範 囲 に ロ ー カ ル な グ ル ー プ や NISの グ ル ー プ が 存 在 し な い よ う に す る こ と 。 デ フ ォ ル ト : winbind gid = <empty string> 設 定 例 : winbind gid = 10000-20000
winbind cache time
こ の パ ラ メ ー
タ は 、 winbindd デ ー
モ ン が Windows NT サ ー
バ に 問 い 合 わ
せ を 行 な わ ず
に ユ ー ザ と グ
ル ー プ の 情 報
を キ ャ ッ シ ュ
す る 時 間 を 秒
単 位 で 指 定 す
る 。 キ ャ ッ シ
ュ 中 の 情 報 が
古 く な る と 、
winbindd は ド メ イ ン
コ ン ト ロ ー ラ
に 対 し て サ ー
バ 上 の ア カ ウ
ン ト デ ー タ ベ
ー ス の シ ー ケ
ン ス 番 号 を 問
い 合 わ せ る 。
シ ー ケ ン ス 番
号 が 変 更 さ れ
て い な か っ た
場 合 、 キ ャ ッ
シ ュ さ れ た 情
報 は 、 更 に winbind
cache timeで 設 定 さ れ
た 秒 数 の 間 有
効 で あ る と 記
録 さ れ る 。 そ
れ 以 外 の 場 合
、 情 報 は サ ー
バ か ら 再 度 取
得 さ れ る 。 こ
れ に よ り 、 ア
カ ウ ン ト デ ー
タ ベ ー ス に 実
質 的 な 変 更 が
な い 限 り 、 winbindd
は winbind cache timeで 設 定
し た 秒 数 毎 に
シ ー ケ ン ス 番
号 の 問 い 合 わ
せ パ ケ ッ ト を
一 つ 送 出 す る
だ け で す む 。
デ フ ォ ル ト : winbind
cache time = 15
winbind enum users 非 常 に 大
規 模 な 環 境 下
で は
setpwent(), getpwent() や endpwent() と い っ た シ ス テ ム コ ー ル 群 の 呼 び 出 し に よ る ユ ー ザ の 一 覧 取 得 を 抑 止 す る 必 要 が あ る か も 知 れ な い 。 winbind enum users パ ラ メ ー タ が false の 場 合 、 getpwent シ ス テ ム コ ー ル の 呼 び 出 し は 全 く デ ー タ を 返 却 し な い 。 警 告 : ユ ー ザ 一 覧 (enumeration)を 無 効 に す る と 幾 つ か の プ ロ グ ラ ム に つ い て は 異 常 動 作 を 引 き 起 こ す 恐 れ が あ る 。 例 え ば 、 finger プ ロ グ ラ ム は 、 全 て の ユ ー ザ の リ ス ト に ア ク セ ス で き る 前 提 で 、 ユ ー ザ 名 の マ ッ チ ン グ を 行 な っ て い る 。 デ フ ォ ル ト : winbind enum users = yes
winbind enum groups 非 常 に 大 規 模 な 環 境 下 で は
setgrent(), getgrent() や endgrent() と い っ た シ ス テ ム コ ー ル 群 の 呼 び 出 し に よ る ユ ー ザ の 一 覧 取 得 を 抑 止 す る 必 要 が あ る か も 知 れ な い 。 winbind enum groups パ ラ メ ー タ が false の 場 合 、 getpwent シ ス テ ム コ ー ル の 呼 び 出 し は 全 く デ ー タ を 返 却 し な い 。 警 告 : グ ル ー プ 一 覧 (enumeration)を 無 効 に す る と 幾 つ か の プ ロ グ ラ ム に つ い て は 異 常 動 作 を 引 き 起 こ す 恐 れ が あ る 。 デ フ ォ ル ト : winbind enum groups = no
template homedir
Windows NT の ユ ー ザ に 対 す る ユ ー ザ 情 報 を 作 成 す る 際 に 、 winbindd デ ー モ ン は こ の パ ラ メ ー タ に よ っ て ユ ー ザ の ホ ー ム デ ィ レ ク ト リ の 位 置 を 設 定 す る 。 文 字 列 %D が あ れ ば 、 ユ ー ザ の Windows NTに お け る ド メ イ ン 名 に 置 き 換 え ら れ る 。 文 字 列 %U が あ れ ば 、 ユ ー ザ の Windows NTに お け る ユ ー ザ 名 に 置 き 換 え ら れ る 。 デ フ ォ ル ト : template homedir = /home/%D/%U
template shell
Windows NT の ユ ー ザ に 対 す る ユ ー ザ 情 報 を 作 成 す る 際 に 、 winbindd デ ー モ ン は こ の パ ラ メ ー タ に よ っ て ユ ー ザ の シ ェ ル を 設 定 す る 。 デ フ ォ ル ト : template shell = /bin/false
設 定 例
ユ ー ザ や グ ル ー プ 情 報 の 参 照 や ド メ イ ン コ ン ト ロ ー ラ で の 認 証 を 行 な う た め に winbindd を 設 定 す る 場 合 は 、 以 下 の よ う な 設 定 を 行 な う こ と に な る 。 こ の 設 定 は Red Hat Linux 6.2 で 確 認 し て い る 。
/etc/nsswitch.conf に 以 下 の 記 述 を 行 な う :
passwd: files
winbind
group: files winbind
/etc/pam.d/* の auth 行 を 以 下 の よ う に 設 定 す る :
auth required /lib/security/pam_securetty.so
auth required |
/lib/security/pam_nologin.so |
||||
auth sufficient |
/lib/security/pam_winbind.so |
auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok
sufficient キ ー ワ ー ド と use_first_pass キ ー ワ ー ド の 利 用 に 特 に 注 意 す る こ と 。 こ こ で account 行 を 以 下 の よ う に 置 き 換 え る :
account required /lib/security/pam_winbind.so 次 の ス テ ッ プ は ド メ イ ン へ の 参 加 で あ る 。 こ れ は samedit プ ロ グ ラ ム を 用 い て 、 以 下 の よ う に し て 行 な う :
samedit -S ’*’ -W DOMAIN -UAdministrator
-U パ ラ メ ー タ に 続 く ユ ー ザ 名 は 、 そ の マ シ ン 上 で administrator 権 限 の あ る ユ ー ザ で あ れ ば 誰 で も よ い 。 引 続 き 、 samedit コ マ ン ド 上 で 、 以 下 の コ マ ン ド を 実 行 す る :
createuser MACHINE$ -j DOMAIN -L こ れ は 、 ド メ イ ン 名 が "DOMAIN"、 Samba マ シ ン の 名 前 が "MACHINE" の 場 合 の 例 で あ る 。 次 に libnss_winbind.so.2 を /lib に 、 pam_winbind.so を /lib/security に 各 々 コ ピ ー す る 。 最 後 に 、 smb.conf に 以 下 の よ う な デ ィ レ ク テ ィ ブ が 含 ま れ る よ う に 設 定 を 行 な う :
[global]
winbind separator = + |
winbind cache time = 10
template shell = /bin/bash
template homedir = /home/%D/%U
winbind uid = 10000-20000
winbind gid = 10000-20000
workgroup = DOMAIN
security = domain
password server = *
こ こ で winbindd を 起 動 し 、 ユ ー ザ と グ ル ー プ デ ー タ ベ ー ス に NT側 の ユ ー ザ や グ ル ー プ が 含 ま れ て い る こ と と 、 DOMAIN+user形 式 の ユ ー ザ 名 を 用 い る こ と で 、 UNIXマ シ ン に ド メ イ ン の ユ ー ザ と し て 、 ロ グ オ ン で き る こ と を 確 認 す る 。 getent passwd と getent group コ マ ン ド を 使 っ て 、 winbindd が 適 切 な 動 作 を 行 な っ て い る こ と を 確 認 す る こ と も で き る 。 |
メ モ
以 下 の メ モ は winbinddを 設 定 し た り 実 行 し た り す る 際 に 有 用 で あ る :
winbindd が 動 作 す る に は 、 同 じ マ シ ン 上 で nmbdが 実 行 さ れ て い る 必 要 が あ る 。 winbinddは 、 起 動 時 と SIGHUP シ グ ナ ル を 受 信 し た 時 に Windows NT サ ー バ に 信 頼 す る ド メ イ ン の リ ス ト を 問 い 合 わ せ る 。 そ の た め 、 実 行 中 の winbindd に 新 し い サ ー バ 間 の 信 頼 関 係 を 認 識 さ せ る た め に は 、 SIGHUP シ グ ナ ル を 送 る 必 要 が あ る 。
winbinddの nsswitch モ ジ ュ ー ル に よ っ て 名 前 の 解 決 を 行 な う ク ラ イ ア ン ト プ ロ セ ス は 、 $WINBINDD_DOMAIN と い う 名 前 の 環 境 変 数 を 読 み と る 。 こ の 変 数 に は コ ン マ で 区 切 ら れ た Windows NTの ド メ イ ン 名 が 含 ま れ て お り 、 winbindd は こ こ に 記 述 さ れ た Windows NT の ド メ イ ン に 対 し て の み 、 ユ ー ザ と グ ル ー プ 名 の 解 決 を 行 な お う と す る 。
PAM は 、 簡 単 に 誤 っ た 設 定 が 行 な わ れ て し ま う 。 PAM の 設 定 フ ァ イ ル を 修 正 す る 際 は 、 何 を 行 な っ て い る か を き ち ん と 確 認 す る こ と 。 PAM の 設 定 を 誤 る こ と で 、 誰 も シ ス テ ム に ロ グ イ ン で き な く な っ て し ま う こ と も あ り 得 る 。 複 数 の UNIX マ シ ン が winbindd を 実 行 し て い た 場 合 で も 、 通 常 winbindd に よ っ て 割 り 当 て ら れ る ユ ー ザ や グ ル ー プ IDが 同 一 に は な ら な い 。 ユ ー ザ や グ ル ー プ の IDは ロ ー カ ル マ シ ン 内 で の み 有 効 で あ る 。
Windows NT の rid か ら UNIX の ユ ー ザ や グ ル ー プ IDへ の マ ッ ピ ン グ フ ァ イ ル が 壊 れ た り な く な っ た り し た 場 合 、 こ の マ ッ ピ ン グ 情 報 は 失 わ れ る 。
シ グ ナ ル
以 下 の シ グ ナ ル が winbindd デ ー モ ン を 操 作 す る た め に 利 用 可 能 で あ る 。
SIGHUP |
smb.conf(5) フ ァ イ ル を 再 読 み 込 み さ せ て 、 実 行 中 の winbindd に パ ラ メ ー タ の 変 更 を 反 映 さ せ る 。 こ の シ グ ナ ル に よ り 、 ユ ー ザ と グ ル ー プ 情 報 の キ ャ ッ シ ュ も ク リ ア さ れ る 。 wibindd が 信 頼 す る ド メ イ ン の リ ス ト も 、 同 様 に 再 読 み 込 み さ れ る 。 |
SIGUSR1
SIGUSR1 シ グ ナ ル に よ り 、 winbindd は 、 割 り 当 て た ユ ー ザ と グ ル ー プ IDに 関 す る 情 報 と と も に 、 ス テ ー タ ス 情 報 を winbind ロ グ フ ァ イ ル に 書 き 込 む 。 ロ グ フ ァ イ ル は log file パ ラ メ ー タ で 指 定 さ れ た フ ァ イ ル 名 の フ ァ イ ル に 書 き 込 ま れ る 。
フ ァ イ ル
/etc/nsswitch.conf(5)
Name service switch の 設 定 フ ァ イ ル で あ る
/tmp/.winbindd/pipe
ク ラ イ ア ン ト
が winbindd プ ロ グ ラ
ム と 通 信 す る
た め の UNIX の パ イ
プ で あ る 。 セ
キ ュ リ テ ィ 上
の 理 由 で winbind ク
ラ イ ア ン ト は
/tmp/.winbindd デ ィ レ ク
ト リ と /tmp/.winbindd/pipe
フ ァ イ ル の 両
方 の 所 有 者 が root
の 時 の み winbindd デ
ー モ ン と の 接
続 を 行 な お う
と す る 。
/lib/libnss_winbind.so.X
name service switchラ イ ブ ラ リ の 実 体 で あ る 。
$LOCKDIR/winbindd_idmap.tdb
Windows NT の rid と UNIXの ユ ー ザ や グ ル ー プ IDと の マ ッ ピ ン グ を 格 納 す る ロ ッ ク デ ィ レ ク ト リ ($LOCKDIR)は Sambaの コ ン パ イ ル 時 に --with-lockdir オ プ シ ョ ン を 用 い る こ と で 設 定 で き 、 デ フ ォ ル ト で は /usr/local/samba/var/locks で あ る 。
$LOCKDIR/winbindd_cache.tdb キ ャ ッ シ ュ さ れ た ユ ー ザ と グ ル ー プ の 情 報 を 格 納 す る
VERSION
こ の マ ニ ュ ア ル ペ ー ジ は Samba バ ー ジ ョ ン 2.2 一 式 用 で あ る 。 た だ し 、 winbindd は Samba の 正 式 な リ リ ー ス 版 に ま だ 含 ま れ て い な い 。
参 照
nsswitch.conf(5), samba(7) <URL:samba.7.html>, wbinfo(1) <URL:wbinfo.1.html>, smb.conf(5) <URL:smb.conf.5.html>
AUTHOR
オ リ ジ ナ ル の Samba ソ フ ト ウ ェ ア と 関 連 す る ユ ー テ ィ リ テ ィ は 、 Andrew Tridgell に よ っ て 作 成 さ れ た 。 現 在 Samba は Samba Team に よ っ て 、 Linux カ ー ネ ル の 開 発 と 同 様 の オ ー プ ン ソ ー ス プ ロ ジ ェ ク ト と し て 開 発 が 行 な わ れ て い る 。
wbinfo お よ び winbindd は Tim Potter に よ っ て 書 か れ た 。
Samba 2.2 に お け る DocBook 形 式 へ の 変 換 は 、 Gerald Carter に よ っ て 行 な わ れ た 。