FreeBSD/Samba3
Samba3.0系 †
livconvにパッチを当ててEUC-JP-MSを使えるようにする。
Windows の全文字をシフトJIS(cp932) と日本語EUC(eucJP-ms) で扱えるようになります。
環境 †
FreeBSD 6.0
samba-3.0.20
まずはPortsからインストールする。 †
> 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にパッチを当てて再インストール) †
# 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を修正
display charset = CP932 unix charset = EUC-JP-MS dos charset = CP932 この3行を追加する。
/etc/rc.confを修正し起動 †
# vi /etc/rc.conf ここの#を外す。 ---------------修正----------------- nmbd_enable="YES" smbd_enable="YES" ---------------修正----------------- # /usr/local/etc/rc.d/samba.sh start
Sambaのアカウント追加 †
例:matsuiを追加の場合
# /usr/local/bin/smbpasswd -a matsui (パスワード設定入力)
一括登録 †
ユーザを既に登録しているならば、Sambaユーザを一括して登録できます。
mksmbpasswd.sh < /etc/passwd > /etc/samba/smbpasswd
起動 †
# /usr/local/etc/rc.d/samba start
Sambaのゴミ箱機能 †
[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 ~$* ← ここで指定したファイルはごみ箱へ移動せずに即削除する 共有ディレクトリのごみ箱機能追加(ここまで)
プリンター共有を無効 †
load printers = no ← 追加(プリンタ共有無効化)※Sambaでプリンタを共有しない場合 disable spoolss = yes ← 追加(プリンタ共有無効化)※Sambaでプリンタを共有しない場合
ドットファイルを隠す †
これで、ドットファイルを隠しファイルとして扱うのですが・・・
Windowsのすべてのファイルを表示するだと、結局表示されてしまいます。
hide dot files = yes
こうすると、うまくドットファイルは隠してくれます。
veto files = /.*/