目次に戻る

Samba しよっと !!!


1.PigCop [ FreeBSD(98)2.2.1-R ]側の設定

ここは、FreeBSD(98)2.2.1-R の install が終了したので、ほおっておいた PigCop に Samba 1.9.16p11 の install を行なった際の記録を公開します
97.9.29の日記とだぶる部分が結構あると思いますがご了承ください (^^;



1.1.ports パッチにはオリジナルから変更点がある?

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


1.2.それでは install しませう

/stand/sysinstall の FreeBSD 設定メニューからネットワークを選択してネットワークサービスメニューに移りそこで Samba を選択しました

※ 注意

ネットワークサービスメニューからインストールを実行すると /usr/local/etc にsmb.conf が作成されるようです
どうやら FreeBSD 設定メニューからパッケージを選択して install すると smb.confは作成されないようです


1.3.事前設定

/usr/public.dir を作成しました

# ls -al

では以下のように表示されています

drwx-r-xr-x   2  root   wheel   512...


1.4./usr/local/etc のファイル

/usr/local/etc には smb.conf と lmhosts が必要なようなので、それらのファイルを設定しました

smb.conf をデフォルトから変更しました

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 を作成しました

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



1.5.smb.conf の設定を確認する

smb.confの設定内容を確認するためのコマンド testparm (これは、smb.conf の書式をチェックするコマンドです)が用意されているので実行しました
実行結果をみると、どうやら大丈夫そうだ


1.6.起動時にデーモンで起動させる

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


1.7.inetd で起動させる

周知の事実とは思いますが(だって知らなかったんだもん) 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 が起動するようです



目次に戻る


This page hosted by
Get your ownFree Home Page

1