Sambaを使う
環境
CentOS 5
インストール
% yum install samba
ユーザを追加する
ユーザ名はWindowsのユーザ名と同じにしなければならない。username mapでマッピングできるらしいけど、そのへんは試してない。
・useradd hogehoge: Unixユーザを追加
・pdbedit -a hogehoge: Sambaユーザを追加(Unix名と同じに?)
/etc/samba/smb.conf を編集する
[global]
workgroup = MSHOME
netbios name = MyServerName
hosts allow = 127. 192.168.1.
# アクセスできなかったりしたらログを見る!
log file = /var/log/samba/%m.log
max log size = 50
security = user
passdb backend = tdbsam
# Unix名、Samba名のマッピング。いけてるかどうか未確認
username map = /etc/samba/smbusers
[public] #←ここがWindowsから見た時のディレクトリ名になる
security = share
path = /home/samba #←chmod 777 /home/sambaする
public = yes
writable = yes
create mode = 664
directory mode = 775
ポートを空ける
/etc/sysconfig/iptables
・A INPUT -p udp --dport 137 -j ACCEPT
・A INPUT -p udp --dport 138 -j ACCEPT
・A INPUT -p tcp --dport 139 -j ACCEPT
/etc/rc.d/init.d/iptables restart
SELinux
ファイル名を指定して実行などから、\\MyServerName\にアクセス。マイネットワークからサーバが表示されたけど、ディレクトリにはアクセスできない…。
ログを見ると
[2008/09/03 21:49:46, 0] smbd/service.c:make_connection_snum(1003)
'/home/akiyoshi' does not exist or permission denied when connecting to [akiyoshi] Error was 許可がありません
とある。これはSELinuxが有効になっているかららしい。
SELinux無効化するには
% setenforce 0
起動時に無効にするには
# vi /etc/sysconfig/selinux
SELINUX=enforcing を
SELINUX=disabled にするとOK
知ってればどうということでもないんだろうけど、結構大変だった…。
sambaセッションの切断(ログアウト)の仕方
・windows
c:¥>net use /delete *
※運がよければ?上記だけでログアウト(ログオフ)できますが、通常はサーバ側からの操作も必要です
・linux
$smbcontrol smbd close-share IPC$
smbstatusで今の接続状況がわかる、セッションの維持時
http://blog.jojo.jp/?eid=738389