しばらく前にASUS VivoTab Note 8を買ったり、HP Pavilion 15-n200 (AMD)が29800円だったので妻に買ったりMacBook Airもあるし
Linux以外のマシンが増えてきたので、これらのマシンからもファイルサーバを利用できるようにSambaの導入をしました
今までは自分のLinuxマシンだけだったんでNFSで間に合ってたんだけどね
Gentooでのインストールは特に気にすることなくいつも通り
自分はクライアントの機能は不要だったので -client
と -smbclient
を指定した
デフォルトの設定ファイルをコピーして自分の設定を作っていく
# emerge -av samba
# cp /etc/samba/smb.conf.default /etc/samba/smb.conf
以下に変更した設定をメモしておく
- workgroup = WORKGROUP
Windowsのデフォルトに合わせる - hosts allow = 10.0.0.
hosts deny = all
LAN内のマシン以外からのアクセスを拒否する - load printers = no
プリンタはいらない - interfaces = br0
bind interfaces only = yes
LAN側のNICでのみ待ち受ける - max protocol = smb2
全てWindows8.1なので新しいプロトコルが使える - map to guest = Bad User
ログインに失敗した場合はGuestユーザとして扱う
共有ディレクトリの設定の部分でpublic = yes
と設定するとアクセス可能になる
共有ディレクトリの設定はこのようにした
元々あった homes
と printers
は不要なのでコメントアウトして
新たにSamba用のディレクトリ以下を公開することにした
[Home]
comment = Home Directories
path = /mnt/lvm/samba/%u
writable = yes
printable = no
[Public]
comment = Public
path = /mnt/lvm/samba/Public
public = yes
writable = yes
printable = no
共有ディレクトリにアクセスできるユーザを作るにはまずLinuxのユーザを作成しなければいけない
その後、既存のLinuxのユーザをSambaへ登録する操作が必要になる
# useradd sambauser
# pdbedit -a -u sambauser
なおSamba側に登録されているユーザの一覧は pdbedit -L -v
で確認できる
以上で設定は終了
testparm
コマンドを実行すると設定の確認ができる
最後にサービスへの登録と起動をする
# rc-update add samba default
# /etc/init.d/samba start
これでクライアント側から見れるようになるはず
ただWindows、Macどちらの場合もワークグループ名を明示的に指定しないとログインできなかった
ユーザ名の欄に WORKGROUP\sambauser
のようにワークグループ名を指定した形式で入力しなければならない
- Windowsは
エクスプローラ
のネットワーク
にサーバが表示されるのでダブルクリックして接続 - Macは
Finder
->Go
->Connect to Server
で表示されるダイアログにsmb://hostname
と入力し接続
これらの設定で今のところ問題なく使用できている
しかし /var/log/samba/log.smbd
にこのようなログが出ているのでそのうち修正したい *1 *2
Unable to open printcap file /etc/printcap for read!
この設定の追加で上記のエラーが出なくなった
- printing = bsd
- printcap name = /dev/null