ここは、FreeBSD(98)2.2.1-R の install が終了したので、ほおっておいた PigCop
に Samba 1.9.16p11 の install を行なった際の記録を公開します
97.9.29の日記とだぶる部分が結構あると思いますがご了承ください (^^;
ports パッチとオリジナルからコンパイルして使用する場合では以下に示した部分が異なっているようです
設定項目 | オリジナル | ports パッチの変更点 |
---|---|---|
BINDIR | /usr/local/samba/bin | /usr/local/bin |
SBINDIR | /usr/local/samba/bin | /usr/local/sbin |
LIBDIR | /usr/local/samba/lib | 未設定 |
ETCDIR | 未設定 | /usr/local/etc |
VARDIR | /usr/local/samba/var | 未設定 |
LOGDIR | 未設定 | /var/log |
SMBLOGFILE | /usr/local/samba/var/log.smb | /var/log/smb |
NMBLOGFILE | /usr/local/samba/var/log.nmb | /var/log/nmb |
CONFIGFILE | /usr/local/samba/lib/smb.conf | /usr/local/etc/smb.conf |
LMHOSTSFILE | /usr/local/samba/lib/lmhosts | /usr/local/etc/lmhosts |
/stand/sysinstall の FreeBSD 設定メニューからネットワークを選択してネットワークサービスメニューに移りそこで
Samba を選択しました
※ 注意
ネットワークサービスメニューからインストールを実行すると /usr/local/etc にsmb.conf が作成されるようです
どうやら FreeBSD 設定メニューからパッケージを選択して install すると smb.confは作成されないようです
/usr/public.dir を作成しました
# ls -al
では以下のように表示されています
drwx-r-xr-x 2 root wheel 512...
/usr/local/etc には smb.conf と lmhosts が必要なようなので、それらのファイルを設定しました
smb.conf
[global] comment = FreeBSD - Samba %v log file = /var/log/samba.log dont descend = /dev,/proc,/root,/stand printing = bsd map archive = no status = yes ;public = yes read only = no preserve case = yes strip dot = yes security = share guest ok = yes workgroup = NUKEM password level = 0 dead time = 60 public = no browsable = yes [homes] browseable = no comment = User Home Directory create mode = 0775 public = no [public] path = /usr/public.dir public = yes only guest = no writable = yes printable = no [tmp] comment = Temporary file space path = /tmp read only = no public = yes
lmhosts
# workgroup name 0.0.0.0 NUKEM G # announcement for another subnet 192.0.1.255 NUKEM G #subnet # machine 192.0.1.101 PigCop
smb.confの設定内容を確認するためのコマンド testparm (これは、smb.conf の書式をチェックするコマンドです)が用意されているので実行しました
実行結果をみると、どうやら大丈夫そうだ
FreeBSD の boot 時に自動的に起動させるために /usr/local/etc/rc.d に samba.sh
を作成しました
samba.sh
#!/bin/sh if [ -f /usr/local/sbin/smbd -a -f/usr/local/etc/smb.conf ]; then if [ -f /usr/local/sbin/nmbd ]; then echo -n ' Samba' /usr/local/sbin/smbd -a -D -d2 /usr/local/sbin/nmbd -D -d2 fi fi
もちろん手動で起動させることもできるようです (^^;;;
その場合は以下のようにします
# smbd -D # nmbd -D
周知の事実とは思いますが(だって知らなかったんだもん) inetd とはインターネット・スーパー・サーバーのことらしい...それをつかうとメモリの節約ができるようですねぇ
inetd を利用することにより smbd が常駐せずに Samba の処理要求があったときに起動するようにできるようです(nmbd
は常駐するみたいですけど...(^^;)
inetd を利用するには /etc/inetd.conf と /etc/services をいじくる必要があるらしいです...ふぅ
でもFreeBSD(98)2.2.1-R では、/etc/services には既に記述があり /etc/inetd.conf
はあらかじめコメントアウトされている部分をはずすことによってもう実行できるようになっているようです
(簡単ですね (^^) )
/etc/services(から抜粋) netbios-ns 137/tcp #NETBIOS Name Service netbios-ns 137/udp #NETBIOS Name Service netbios-dgm 138/tcp #NETBIOS Datagram Service netbios-dgm 138/udp #NETBIOS Datagram Service netbios-ssn 139/tcp #NETBIOS Session Service netbios-ssn 139/udp #NETBIOS Session Service これらの記述が無かった場合は自分で追加するようです
/etc/inetd.conf(から抜粋) #netbios-ssn stream tcp nowait root /usr/local/sbin/smbd smbd #netbios-ns dgram udp wait root /usr/local/sbin/nmbd nmbd この2行のコメントを外す
/etc/inetd.conf を修正したら、再読み込みをさせるために
# kill -HUP `cat /var/run/inetd.pid`
を実行することでクライアントから要求があったときに smbd と nmbd が起動するようです