sfw にインストールされている Samba(Ver. 3.0.11) を使い, PDC とする.
patch-146363-01 をあてた後は, Samba(Ver. 3.5.5)となり, 設定ファイルの位置が /etc/sfw から /etc/samba に変更となっているので 読み替えること.
変更箇所
[global] workgroup = ドメイン名 security = user <-- 元のまま domain logons = yes passdb backend = tdbsam:/etc/sfw/private/smbpasswd.tdb encrypt passwords = yes domain master = auto preferred master = auto local master = yes wins support = yes add machine script = /usr/sbin/useradd -d /dev/null -s /bin/false %u username map = /etc/sfw/private/smbusers log file = /var/adm/samba/log.%m
# /usr/sfw/lib # ln -s codepages/lowcase.dat . # ln -s codepages/upcase.dat . # ln -s codepages/valid.dat .
ユーザ名のマッピングを行う.
root = administrator
初期作成
# /usr/sfw/bin/pdbedit -L
登録者のリスト
# /usr/sfw/bin/pdbedit -L
ユーザ追加
# /usr/sfw/bin/pdbedit -a ユーザ名
or
# /usr/sfw/bin/smbpasswd -a ユーザ名
で,smbpasswd からのパスワード変更は O.K.
Samba 側のユーザの一括登録スクリプト
smbpasswd -as を利用する. -> -s で標準入力からパスワードを入力する
#!/usr/bin/perl print "set samba passwd\n"; $filename="pass.txt"; $ct=0; #open(SFILE,$filename) || die "cannot open"; while (<>){ chop; chop; ($uname,$password)=split(/\s+/); #`/usr/bin/smbadduser $uname:$password`; open(CMD, "| /usr/sfw/bin/smbpasswd -as $uname > /dev/null"); print CMD "$password\n$password\n"; close(CMD); $ct=$ct+1; print "$uname - $ct\n"; } #close(SFILE);
マイナーバージョンがあがった Solaris 10(すくなくとも 5/09以降)では, SMF によって Samba 3.0.33 を起動するようになっている. そのためには,次の 2つのサービスを有効にしなければならない.
# svcadm enable samba # svcadm enable wins