[samba-jp:21946] Re: samba4.0.3がドメインマスタブラウザにならない
NAKANOSHUICHI
fanta @ orangesooda.com
2013年 3月 10日 (日) 22:05:43 JST
なかのです。
> Samba4 でマスタブラウザ関連の機能は未サポートです。
やはりそうでしたか。
情報ありがとうございます、リンク先のリリースノート確認しました。
Vista以降はブラウジングに、NetBIOSに加えてSSDPとWSDが利用されたらしいですね。マスタブラウザになれなくても、自分をアナウンスできるものは無いかなぁ。
> 実は、ファイルサーバとしての機能はまだほとんど確認していないので、この手の
え、そうだったんですか?
ネットでBLOG検索すると結構やった人はおられるようですが、たかはしさんが先日のセミナーでおっしゃっていたように、公式サイトにまとまった情報としてあると助かりますね。
それでは公式ドキュメントに
https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO
https://wiki.samba.org/index.php/Samba4/Winbind
補足し直します、CentOS6.xの場合です。他の方の参考になれば。
◎samba4で作ったAD兼ファイルサーバにログインするには
/usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
としてsamba.confを生成し、
cp /usr/local/samba/share/setup/krb5.conf /etc としてさらにkrg5.confの内容を修正
ln -s /usr/local/samba/lib/libnss_winbind.so.2 /lib/libnss_winbind.so
ln -s /lib/libnss_winbind.so /lib/libnss_winbind.so.2
のリンク(OSが64の場合 /libでも/lib64でもどちらでも認識)と、
/etc/nsswitch.conf の修正
passwd: files winbind
group: files winbind
のここまで4点。sambaのコンパイルは通常の./configureでOK。
◎フォルダの自動作成には pam_winbind.so が必要なので
yum install pam-devel してからsambaのコンパイルを ./configure.developer として pam_winbind.so を作る。
そして
ln -s /usr/local/samba/lib/security/pam_winbind.so /lib/security
(やはりOSが64の場合 /libでも/lib64でもどちらでも認識)
次に先のメールのようにsamba.confに
obey pam restrictions = yes
と記述し、sambaログイン時に /etc/pam.d/samba 経由で認証させるように変更。もちろん [homes] セクションも作っておく。
/etc/pam.d/samba ファイルを新規作成し次の4行だけを記述。
auth sufficient pam_winbind.so
account sufficient pam_winbind.so
session required pam_mkhomedir.so skel=/etc/skel-samba
session required pam_winbind.so
この追加の4点をやって、sambaログインがpam経由で認証され、かつユーザフォルダを参照時にユーザフォルダが自動作成させる目標が達成される。skel=/etc/skel-sambaとしているのは、デフォルトでは/etc/skel内のドットファイルがユーザフォルダにコピーされてしまうのを避けるためで、/etc/skel-sambaを空フォルダで作成しておくといい。
さらにsambaユーザのUNIXシェルログインが必要な場合(sambaサーバに対してユーザからそのような希望はあまりないと思いますが)ドキュメントには
/etc/pam.d/common-auth
/etc/pam.d/common-account
/etc/pam.d/common-session
のファイルの指示があるがCentOSの場合はこの指示のファイルは存在しないので、こちら。
/etc/pam.d/password-auth-ac
/etc/pam.d/system-auth-ac
の適切な場所に先の4行を挿入追記することでUNIXシェルログインにもsambaユーザ認証されると同時に、UNIXシェルログイン時にユーザフォルダが作成された。
挿入する順序はたいせつで、間違えると/etc/passwdのrootユーザもUNIXログインできなくなったり困ったのでUNIXシェルログインが不要ならやめたほうがいいかも。
もちろん samba.confの[global]セクションに template shell = /bin/bash と書いてデフォルトの/bin/false シェルから変更しておく。
以上です。
フォルダの自動生成の設定は面倒ですね。ユーザ登録しただけで利用しないユーザが多数いる場合は面倒でもsambaにフォルダの自動生成させたほうが良いですが、そうでないなら samba-tool user list でユーザ一覧を出してユーザディレクトリを作るこんな適当なシェルスクリプトをcronで走らせたほうが楽かもしれない。
#!/bin/sh
list=$(samba-tool user list)
cd /home
for i in $list
do echo $i
if [ "$i" != "Guest" -a "$i" != "krbtgt" ];then
if [ ! -d $i ];then
mkdir $i
chown -R $i $i
fi
fi
done
そういえば、ホームディレクトリの自動生成時にマシンアカウント名のフォルダ pcxxxxx$ も作成されるのはsamba2.xの時からsamba4.0でも変わりませんね。いつもcronで消してましたが、このマシンアカウント名のフォルダって消してもいいですよね?どうなんでしょう?
そもそも作らないでくれるといいのに。
@中野修一
samba-jp メーリングリストの案内