2008/02/04(月)FreeBSD 6.3R へ samba 3.0.28 をインストール

2017/10/11 8:57 サーバ運営・管理
samba は、Windows 環境で Unix や Linux のファイルシステムやプリンタインタフェースを共有する有名なミドルウェアです。
どうも Windows系が絡むと、メンテナンスもややこしくなるので嫌なのだが、必要に迫られて仕方なく。。

1) 必須の パッチ版 libiconv をインストール
ここ から libiconv の最新版をダウンロード。
(最新版 は 1.12 の模様)
ここ から、パッチを手に入れる。

上記のサイトにも説明されているですが、

$ gzip -dc libiconv-1.12.tar.gz | tar xvf -
$ cd libiconv-1.12
$ gzip -dc ../libiconv-1.12-ja-1.patch.gz | patch -p1


として、パッチを当てて、

$ ./configure
$ make ; make check
$ su
# make install


として、インストール。あまりお勧めはしないが、上記工程全てをを root でやっても大丈夫です。

2) samba のインストール
 Windows 系が絡むソフトウェア特有の文化があって、各種説明があまり的確にはなっていません。
 正直、かなり填まりました。

# tar xvzf samba-3.0.28.tar.gz
# cd samba-3.0.28/source
# ./configure --with-syslog (syslog を有効にする)
      --with-winbind (Windowsユーザと unix ユーザの統合ログイン可にする)
       --with-acl-support (acl を有効にする)
       --with-smbwrapper (smpsh を有効にする)
       --with-automount (automount サポート)
       --with-utmp (アクセス記録収集をサポート)
       --disable-cups (cupsを無効:プリンタ共有しなければ使わない)
       --with-libiconv=/usr/local
      --with-configdir=/usr/local/etc (smb.conf を置きたいディレクトリ名)
       --with-pam
(./configure の部分は、便宜上複数行に分けているが、実際は、半角スペースで区切って1行にして一気に入力)

# make
# make install


3) 動作環境の整備
・/etc/inetd.conf に以下の1行追加。

swat  stream tcp  nowait/400   root  /usr/local/samba/sbin/swat   swat

・このあと、inetd を再起動(inetd を使っていない場合は、有効にするとよい)
・/usr/local/etc/rc.d に、samba.sh などのファイル名で、以下のスクリプトを作成

#!/bin/sh
#
smbspool=/var/spool/samba
pidfiledir=/usr/local/samba/var/locks
smbd=/usr/local/samba/sbin/smbd
nmbd=/usr/local/samba/sbin/nmbd
winbindd=/usr/local/samba/sbin/winbindd
# start
if [ "x$1" = "x" -o "x$1" = "xstart" ]; then
  if [ -f $smbd ]; then
     if [ -d $smbspool ]; then
      rm -f $smbspool/*
     fi
    echo -n ' Samba 3.0.28 '
    $nmbd -D
    $smbd -D
    $winbindd
  fi
# stop
elif [ "x$1" = "xstop" ]; then
  kill `cat $pidfiledir/smbd.pid`
  kill `cat $pidfiledir/nmbd.pid`
  kill `cat $pidfiledir/winbindd.pid`
# restart
elif [ "x$1" = "xrestart" ]; then
  $0 stop
  $0 start
fi

(編集後は、実行権を付与するのを忘れずに)

4)動作環境の設定
いきなり smb.conf を作っても良いが、日本語ドキュメントが有償のものばかりで、敷居が若干高いので、GUI インタフェースの swat を使う。
http://(インストールしたサーバ):901/

で、認証を要求されるが、ここでは、wheel グループに所属するunix アカウントとそのパスワードにてログインすると、ログインできます。

備忘録的なヒント:
・SHARE 属性で、通常の WindowsXP にてファイル共有が可能になる
・Windows XP からの共有アクセスは、ユーザ、グループ共に nobody になる模様。
 (なので適当な権限設定とセキュリティ対策を行うこと。)
・設定変更後は、上記スクリプトにて restart するのが確実