戻る

Samba

[更新履歴]

03/09/15 … winXPからの最初のアクセスが遅い場合の解決策を追記。
別に Internet Service ってワケじゃないけど(つか、するべきじゃないけど)、LAN 内にwinマシンがあれば何かと便利(つーか必須?)なので。

とりあえず Debian に大容量 HDD を搭載して、ファイルサーバにしちゃいましょう。

外に出さない上に、中も利用するのは自分だけ、という甘い考えから、いまいちセキュリティを意識していない。。。まずいなぁ

インストール

くどいけど apt-get
# apt-get install samba

1. Configure smb.conf through debconf?                 <Yes>
2. Workgroup/Domain Name?                              (入力)
3. User password encryption?                           <Yes>
4. How do you want to run Samba?                       daemon
5. Create samba password file, /etc/samba/smbpasswd?   <No>

設定

とりあえず、いろいろ変更するまえにくどいけどバックアップ。
# cd /etc/samba
# cp smb.conf smb.conf.default
修正が終わったときは、(動作確認した上で)その時の日付か何かで修正後の設定ファイルもくどいけどバックアップ。
# cp smb.conf smb.conf.`date +%Y%m%d`

基本的にイジるのは次の箇所くらい
[global]
workgroup = [winに合わせる] --> ワークグループの設定
server string = %h server (Samba %v)
invalid users = root
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
encrypt passwords = true
socket options = TCP_NODELAY
unix password sync = false --> Debianのアカウントとはリンクさせない
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
obey pam restrictions = yes
client code page = 932 --> 日本語ファイル名対策
coding system = SJIS

[homes]
comment = Home Directories
browseable = no
writable = yes --> 書き込みを許可
create mask = 0644 --> 新規ファイルのパーミッション
directory mask = 0755 --> 新規ディレクトリのパーミッション

[以下好みのディレクトリ]
client code page と coding system は、win 側で既に日本語ファイル名のファイルを作っていて、それを Linux コピーした際などは必要。エクスプローラで見たとき、「ソ」とか「能」とか化ける。

一般には sjis じゃなくて euc にする見たいだけど、個人的にすでに、大量の sjis ファイル名のファイルがあったんで、すべてを euc コードにリネームするのは無理だった(笑)

Samba ユーザの作成
Debian のユーザとリンクさせたければ、上記 [unixpassword sync] を true にするのかな?個人的には Samba は別にしたいので使わない。
つーか、Create password fileをNoと答えても作られるので、作り直す。
# smbpasswd -a username

修正が済んだら、Sambaのリブート。
# cd /etc/init.d
# ./samba restart
winマシンから、"\\Debianのhostname"にアクセスしてみる。

09/15 追記
ある日(何をやったかは忘れた)をさかいに、「windows XPからの最初のアクセス」だけ異様に遅くなった。XP以外のwinは問題ないし、一度アクセス(sambaでシェアしているディレクトリリストまでは普通。それ以下にアクセスすると遅い。最初だけ)してしまえば、あとは普通。sambaが使うポートはアクセス許可(iptables)してるのだが…

というわけで、原因はポート80を閉めたことによるらしい。
参照記事: samba-jp ML(14943: Re: XPから最初のアクセスだけ極端に遅い)

そーいや、ssh, http, httpsの公開用ポートを、セキュリティ向上のため well-known じゃないのにしたんだっけ。