Samba をインストールする

Samba は Windows NT/2000 互換のファイルサーバ/プリントサーバ機能を提供する、 オープンソースのソフトウェアです。 これを利用することにより、Windows 環境へのファイル共有機能の提供だけでなく、 UNIX - Windows 間での透過的なファイル共有も可能になります。 相互に機能を補間し合うことで、より良い環境を構築できます。 ここでは、基本的な機能だけをサポートするサーバをインストールする手順を説明します。

現在の日本語版の最新安定版は、2.2.11-ja-1.0 (2004/09/10 リリース) です。

コンパイル

  1. ソースを展開します。
    % tar xzvf …/samba-2.2.11-ja-1.0.tar.gz
    % cd samba-2.2.11-ja-1.0/source
    
  2. configureを実行し、makeします。 configureのオプションは多くありますが、 機能を拡張するオプションはOpenBSDでは動作しないものも多いので注意が必要です。 日本Sambaユーザ会のドキュメント 「 Samba 2.2 日本語版インストール (3) configure」 を参考にしてください。
    % ./configure --localstatedir=/var/samba \
      --with-lockdir=/var/samba/locks --with-piddir=/var/run
    % make
    

インストールと設定

  1. インストールします。 /usr/local/samba の下に格納されます。
    % su
    # make install
    
  2. 必要なディレクトリを作成します。 これらのパスは設定により変更可能です。
    # mkdir /var/log/samba /var/samba
    # chmod 750 /var/log/samba
    # chmod 755 /var/samba
    
  3. 設定ファイル /usr/local/samba/lib/smb.conf を作成します。 この仕様は、 smb.conf のマニュアル に説明があります。 また、サンプルをページの最後に添付するので、参考にしてください。
    また、smb.conf は、SWATを利用してWebブラウザからの操作で作成することもできます。 SWATを有効にするには、configure時に --with-i18n-swat を指定してコンパイルし、 環境設定をする必要がありますが、ここでは、その手順については触れません。
  4. 起動の設定を /etc/rc.local に記述します。
    echo -n ' nmbd'
    /usr/local/samba/bin/nmbd -D -d 1 -l /var/log/samba
    echo -n ' smbd'
    /usr/local/samba/bin/smbd -D -d 1 -l /var/log/samba
    
  5. 各利用者について、Sambaアクセス用のパスワードの初期設定を行ないます。
    # /usr/local/samba/bin/smbpasswd -a ユーザID
    
    なお、初期パスワードから実際に使用するパスワードへの変更は、 各利用者自身が smbpasswd コマンドを使用して行なうことができます。

smb.conf のサンプル

  1. 各ユーザーのホームディレクトリとグループ共有のディレクトリ group123 を Windows 環境からアクセスできるようにする設定です。 ワークグループは "WORKGROUP" です。 OpenBSD 上の日本語ファイル名はEUCコードを使います。 アクセス可能なのは、192.168.1.** のIPアドレスを持つマシンからだけに制限されます。 共有するプリンタは無しの設定です。
    [global]
      workgroup = WORKGROUP
      client code page = 932
      coding system = EUC
      security = user
      map to guest = Bad User
      encrypt passwords = yes
      socket options = IPTOS_LOWDELAY TCP_NODELAY
      deadtime = 15
      load printers = no
      lock directory = /var/samba/locks
      log file = /var/log/samba/log.%m
      max log size = 256
      hosts allow = 192.168.1. 127.0.0.1
      guest ok = yes
      create mask = 0644
      directory mask = 0755
      map archive = no
      map hidden = no
      map system = no
      veto files = /*.*.{*}/*.{*}/.??*/
    [group123]
      comment = Group123 Share Area
      path = /home/group123
      browseable = yes
      writeable = yes
      guest ok = no
      create mask = 0664
      directory mask = 0775
    [homes]
      comment = Home Directory
      browseable = no
      writeable = yes
      guest ok = no