Active DirectoryとSambaのユーザー共有

目的
・WindowsとSambaのユーザ共有

仕様
・ユーザの登録、グループの登録、パスワードの変更はWindows(ActiveDirectory)のみで行う。
・Sambaサーバは、将来にわたって使えるように複数サーバに対応するようにする。

手順
1.SambaをWinbindでユーザー参照できるようにする。
2.ActiveDirectoryをWinbindで参照できるようにする。
3.OpenLDAPを設定し、ActiveDirecotryとユーザー参照をできるようにする。
4.WinbindがOpenLDAPにユーザー参照するようにする。

で、ようやく1だけ終わったのでメモ残し

VirtualPC上での設定はうまくいかない。(実機では同じ設定でいくがVirtualPC上ではうまくいかなかった。)

1.Portsでインストール。Sambaでのオプション変更。winbinddを入れる。

2.smb.confとnsswitch.confの編集。

smb.conf

workgroup domain名?必要かどうか微妙。

server string サーバ一覧に載るときの説明

security = ads
昔はdomainだったらしいがadsでうまくいった。

password server = *
よく分からんけど同一セグメントなら*でいいらしい。

realm ドメイン名

passdb
backend これもよく分からんからコメントアウトしただけ

socket options = TCP_NODELAY
昔こうだったきがしたので変えてみた。

netbios name = サーバー一覧に載るときの名前

winbind separator = + FreeBSDでは、/は、
処理が変になる可能性があるので、+にdomainとグループと個人を

分ける際の/を+に置換する。

winbind uid =
10000-12000 winbindで使用するユーザーID、10000からはじめる場合が多いのかな?
ローカルとかぶらなければOK

winbind gid =
10000-12000 winbindで使用するグループID、10000からはじめる場合が多い。
ローカルとかぶらなければOK

ldap ssl =
no Samba3.3以降ではこれがないとうまくいかないとのこと「Softwareデザイン」に書いてあった。

winbind use default domain =
yes いちいちドメインから表示されたり打つのが面倒なため短縮用。

nsswitch.conf

group = files winbind

passwd = files winbind

どっちとも意味がいまいち分からんけどこうしろと書いてあったのでしてみる。

3.ADへの参加「net join ads -U ユーザー名」で参加。この地点でAD上にPCが追加されます。

4.SambaとWinbinddを起動し、wbinfoで、ユーザ一覧やグループ一覧が表示されるか調べる。

5.smb.confにADのユーザからアクセスできる領域の設定を行う。

私は、特に考えずに

Valid usersとforce user、force groupを使用して強制的に読み書きできるようにした。

force user、force groupは、ローカルのユーザーとIDでいいと思われる。

※Valid usersでアクセス権を定義するのだが、

・AD上のグループは、グローバルグループでないとならない。

・個人->グループ1->グループ2となっている場合。グループ2でアクセス定義してあってもうまくいかない。

・スペースを含むグループやユーザ名の場合。”(ダブルクオテーション)で囲む。

・2つ以上のグループや個人を定義する場合は、,(コロン)で列挙する。

・グループの場合は、@(アットマーク)を前につける。

これで一応動いているがまだ問題は山済み。

・ローカルユーザが作成されない。

・ローカルグループが作成されない。

この2つは、もしADが落ちたりした場合に、単体での運用ができなくなる。