samba のインストール

・samba のダウンロード

# cd /usr/local/src
# wget http://us4.samba.org/samba/ftp/stable/samba-3.0.25b.tar.gz

・解凍

# tar zvxf samba-3.0.25b.tar.gz

・インストールオプションがあるなら ./configureで指定する.

# cd samba-3.0.25b
# cd source
# ./configure <オプション>

・make、install

# make
# make install

・/etc/servicesの設定.無ければ足しておく.

# vi /etc/services

netbios-ssn139/tcp
netbios-ns137/udp

・smb.confの設定
サンプルは /usr/local/src/samba-3.0.25b/examples/smb.conf.default にある

# cp /usr/local/src/samba-3.0.25b/examples/smb.conf.default /usr/local/samba/lib/smb.conf
# vim /usr/local/samba/lib/smb.conf

[global]
        workgroup = exsample-share
        server string =
        security = user
;       hosts allow = 192.168.0. 127.
        log file = /usr/local/samba/var/log.%m
        max log size = 50
        encrypt passwords = yes
        dns proxy = no
        dos charset = CP932
        unix charset = UTF-8

[homes]
comment = Home Directories
browseable = yes
writable = yes

[share]
        comment = share
        browseable = yes
        writable = yes
        valid users = [ユーザ名]
        create mask = 0755
        path = /mnt/share

・sambaユーザの追加.パスワードはlinuxユーザのものと同じにしておいたほうが管理が楽

# /usr/local/samba/bin/smbpasswd -a www
# /usr/local/samba/bin/smbpasswd -a hiro

ディレクトリの作成、パーミッションの変更をする。

# mkdir /mnt/share/
# chown "ユーザ名":root /mnt/share/

・起動設定
方法1:inetd経由で起動する
sambaは137〜139番ポートを使用して通信しているが、inetdで勝手に使っていいものか?未検証.

方法2:デーモンとして起動する
システム起動時に自動起動するようにスクリプトの設置をする

# vim /etc/init.d/smb

#!/bin/sh
[ -f /usr/local/samba/lib/smb.conf ] || exit 0

case "$1" in
 start)
  echo -n "Starting SMB services:"
  /usr/local/samba/sbin/smbd -D
  /usr/local/samba/sbin/nmbd =D
  echo
  touch /var/lock/subsys/smb
  ;;
 stop)
  echo -n "Shutting down SMB services:"
  NMBD='cat /usr/local/samba/var/locks/nmbd.pid'
  SMBD='cat /usr/local/samba/var/locks/smbd.pid'
  kill -9 $NMBD
  kill -9 $SMBD
  rm -f /var/lock/subsys/smb
  echo ""
  ;;
 restart)
  echo -n "Restarting SMB services:"
  $0 stop
  $0 start
  echo "done."
  ;;
  *)
  echo "Usage: smb {start|stop|restart}"
  exit 1
esac

シンボリックリンクの作成

# ln -s /etc/init.d/smb /etc/rc5.d/S88smb
※S88の箇所はinetd以降になるようにすること(swatを使う場合)

・再起動

# /etc/init.d/smb restart