sambaの履歴

Sambaを使う

環境

CentOS 5

インストール

% yum install samba

ユーザを追加する

ユーザ名はWindowsのユーザ名と同じにしなければならない。username mapでマッピングできるらしいけど、そのへは試してない。

/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セッションの切断(ログアウト)の仕方

c:¥>net use /delete *
※運がよければ?上記だけでログアウト(ログオフ)できますが、通常はサーバ側からの操作も必要です

  • linux

$smbcontrol smbd close-share IPC$
smbstatusで今の接続状況がわかる、セッションの維持時

http://blog.jojo.jp/?eid=738389