FreeBSD/Samba3 の変更点


*''Samba3.0系'' [#x95ace3b]
livconvにパッチを当ててEUC-JP-MSを使えるようにする。~
Windows の全文字をシフトJIS(cp932) と日本語EUC(eucJP-ms) で扱えるようになります。~

#contents

**''環境'' [#k7e9f2bb]
FreeBSD 6.0~
samba-3.0.20

**まずはPortsからインストールする。&aname(A); [#r0c7f1cb]
 > cd /usr/ports/japanese/samba
 > su
 > make clean
 ===>  Cleaning for libiconv-1.9.2_1
 ===>  Cleaning for gettext-0.14.5
 ===>  Cleaning for gmake-3.80_2
 ===>  Cleaning for libtool-1.5.20
 ===>  Cleaning for pkgconfig-0.20
 ===>  Cleaning for popt-1.7
 ===>  Cleaning for jpeg-6b_3
 ===>  Cleaning for png-1.2.8_2
 ===>  Cleaning for tiff-3.7.4
 ===>  Cleaning for perl-5.8.7
 ===>  Cleaning for openldap-client-2.2.29
 ===>  Cleaning for cups-base-1.1.23.0_5
 ===>  Cleaning for gnutls-1.0.24_1
 ===>  Cleaning for libgcrypt-1.2.2
 ===>  Cleaning for libgpg-error-1.1
 ===>  Cleaning for ja-samba-3.0.20b,1
 
 > su
 # make install
 syslogにログを吐きたい場合
 # make WITH_SYSLOG=yes install

**EUC-JP-MSを使えるようにする(libiconvにパッチを当てて再インストール)&aname(B); [#f7797aef]
 # iconv -l|grep EUC
 EUC-JP EUCJP EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE CSEUCPKDFMTJAPANESE
 CN-GB EUC-CN EUCCN GB2312 CSGB2312
 EUC-TW EUCTW CSEUCTW
 EUC-KR EUCKR ISO-IR-149 KOREAN KSC_5601 KS_C_5601-1987 KS_C_5601-1989 CSEUCKR  CSKSC56011987
 EUC-JISX0213
▼一度libiconvをアンインストール~
 # cd /usr/ports/converters/libiconv
 # make deinstall
 # make clean
▼パッチを取得しパッチを当てる~
 # make WITH_EXTRA_PATCHES=yes install
▼パッチが当たった状態でインストールできたか確認。~
 # iconv -l | grep EUC|grep MS
 EUC-JP-MS EUCJP-MS EUCJP-OPEN EUCJP-WIN 
-''設定ファイル/usr/local/etc/smb.confを修正''&aname(C);
 display charset = CP932
 unix charset = EUC-JP-MS
 dos charset = CP932
 この3行を追加する。

**''/etc/rc.confを修正し起動'' [#ad993b7a]
 # vi /etc/rc.conf
 ここの#を外す。
 ---------------修正-----------------
 nmbd_enable="YES"
 smbd_enable="YES"
 ---------------修正-----------------
 
 # /usr/local/etc/rc.d/samba.sh start

**''Sambaのアカウント追加''&aname(D); [#ob124d6a]
例:&color(#0000ff){matsui};を追加の場合
 # /usr/local/bin/smbpasswd -a matsui
 (パスワード設定入力)

***一括登録 [#jff5581c]
ユーザを既に登録しているならば、Sambaユーザを一括して登録できます。
 mksmbpasswd.sh < /etc/passwd > /etc/samba/smbpasswd

***起動 [#m70ae41f]
 # /usr/local/etc/rc.d/samba start


**Sambaのゴミ箱機能 [#c4f32cf2]
 [homes]
    comment = Home Directories
    path = %H/samba ← 追加(/home/ユーザー名/sambaをホームディレクトリにする)
    browseable = no
    writable = yes
    各ユーザ専用のごみ箱機能追加(ここから)
    ※ファイル削除時に自動的にごみ箱へ移動されるようにする
    vfs objects = recycle ← ごみ箱の有効化
    recycle:repository = .recycle ← ごみ箱のディレクトリ名(/home/ユーザ名/.recycle)
    recycle:keeptree = no ← ごみ箱へ移動時にディレクトリ構造を維持しない
    recycle:versions = yes ← 同名のファイルがごみ箱にある場合に別名で移動
    recycle:touch = no ← ごみ箱へ移動時にタイムスタンプを更新しない
    recycle:maxsize = 0 ← ごみ箱へ移動するファイルのサイズ上限(0:無制限)
    recycle:exclude = *.tmp ~$* ← ここで指定したファイルはごみ箱へ移動せずに即削除する
    各ユーザ専用のごみ箱機能追加(ここまで)
 
 [public]
    comment = Public Stuff
    path = /home/samba
    public = yes
    writable = yes
    only guest = yes
    共有ディレクトリのごみ箱機能追加(ここから)
    ※ファイル削除時に自動的にごみ箱へ移動されるようにする
    vfs objects = recycle ← ごみ箱の有効化
    recycle:repository = .recycle ← ごみ箱のディレクトリ名(/home/ユーザ名/.recycle)
    recycle:keeptree = no ← ごみ箱へ移動時にディレクトリ構造を維持しない
    recycle:versions = yes ← 同名のファイルがごみ箱にある場合に別名で移動
    recycle:touch = no ← ごみ箱へ移動時にタイムスタンプを更新しない
    recycle:maxsize = 0 ← ごみ箱へ移動するファイルのサイズ上限(0:無制限)
    recycle:exclude = *.tmp ~$* ← ここで指定したファイルはごみ箱へ移動せずに即削除する
    共有ディレクトリのごみ箱機能追加(ここまで)

**プリンター共有を無効 [#u55202d3]
    load printers = no ← 追加(プリンタ共有無効化)※Sambaでプリンタを共有しない場合
    disable spoolss = yes ← 追加(プリンタ共有無効化)※Sambaでプリンタを共有しない場合


**ドットファイルを隠す [#o910e1f3]
これで、ドットファイルを隠しファイルとして扱うのですが・・・~
Windowsのすべてのファイルを表示するだと、結局表示されてしまいます。
 hide dot files = yes

こうすると、うまくドットファイルは隠してくれます。
 veto files = /.*/