snbhsmt_log

ネットワークとコンピュータ、その他いろいろ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

共有フォルダを Linux にマウント

Windows や Samba の共有フォルダを Linux にマウントして読み書きする。 smbmount コマンドで、ホスト host.example.com の共有名 share の共有フォルダを、 /mnt ディレクトリにマウント。

# smbmount //host.example.com/share /mnt \
-o username=user,password=pass,codepage=cp932,iocharset=utf8,\
uid=root,gid=bin,fmask644,dmask=755

username と password は共有フォルダへアクセスするアカウント。
uid と gid はマウントした全てのファイルとディレクトリのオーナー。
fmask と dmask はマウントした全てのファイルとディレクトリのパーミッション。
codepage はリモート側のコードページ、 iocharset はローカル側のファイルシステムの文字コード。

fmask, dmask に 666, 777 を指定しても、実際に読み書き出来る為には その共有フォルダが username で writable でなければならないし、 対象のディレクトリやフォルダに読み書き出来るパーミッションが付与されて いなければならない。

そして、アンマウントするには smbumount コマンド。

# smbumount /mnt
スポンサーサイト

NBT と CIFS

Windows の共有サービスを利用するには NetBIOS over TCP/IP (NBT) と Common Internet File System (CIFS) の 2 つの方法がある。

NBT は従来からサポートされている方法で 137-139 番ポートを用いて通信する。

CIFS は 2000/XP 以降でサポートされた方法で、445 番ポートを用いて通信する。 Microsoft ではダイレクト・ホスティング SMB サービスと言っている。 CIFS では名前解決に DNS 等を用いるのでブロードキャスト・パケットを 流す必要が無い。

2000/XP で NBT を用いず CIFS のみを使用するには、 [インターネット プロトコル (TCP/IP)] のプロパティ - [詳細設定] - [WINS タブ] の [NetBIOS over TCP/IP を無効にする] をチェックする。

参考
@IT: Windows TIPS -- Tips: ポート 445 (ダイレクト・ホスティング SMB サービス) に注意

Samba 用に iptables を設定

Samba をインストールして、クライアントから利用できるようにパケットフィルタ (iptables) を設定。 このホストは ワークグループ構成で LMB, WINS サーバになっている。 この他に ESTABLISHED, RELATED なパケットを通す必要がある。 445 番ポートは Windows 2000/XP が使う。 逆にこれ以外のクライアントが無ければ 139 番ポートは必要無いのかな ?

MYHOST='192.168.0.1'
MYNET='192.168.0.0/24'
BCAST='192.168.0.255'

iptables -A INPUT -s $MYNET -d $MYHOST -p udp --sport 137 --dport 137 -j ACCEPT
iptables -A INPUT -s $MYNET -d $BCAST  -p udp --sport 137 --dport 137 -j ACCEPT

iptables -A OUTPUT -s $MYHOST -d $MYNET -p udp --sport 137 --dport 137 -j ACCEPT
#iptables -A OUTPUT -s $MYHOST -d $BCAST -p udp --sport 137 --dport 137 -j ACCEPT

iptables -A INPUT -s $MYNET -d $MYHOST -p udp --sport 138 --dport 138 -j ACCEPT
iptables -A INPUT -s $MYNET -d $BCAST  -p udp --sport 138 --dport 138 -j ACCEPT

iptables -A OUTPUT -s $MYHOST -d $MYNET -p udp --sport 138 --dport 138 -j ACCEPT
#iptables -A OUTPUT -s $MYHOST -d $BCAST -p udp --sport 138 --dport 138 -j ACCEPT

iptables -A INPUT -s $MYNET -d $MYHOST -p tcp -m multiport --dport 139,445 --syn -m state --state NEW -j ACCEPT

たぶんこれでも完璧ではないので引き続き見直しが必要。 って言うかややこしすぎるのでさっさと WebDAV に移行したい。

  • CentOS 4.3
  • samba-3.0.10-1.4E.6 (RPM)

Samba が couldn't find service xxx とログ出力する

かなり前から Samba が以下の様なメッセージをログ出力している。

[2006/07/17 04:08:41, 0] smbd/service.c:make_connection(800)
  hammerof (192.168.0.5) couldn't find service publi
これは共有名 public 中のファイルをアクセスした時のもので、オープンすると 4 回、 クローズすると 1 回出ている。 共有名は public なのに publi となっているのも意味不明。

このログは何なのだろうと思いつつも、なんの不具合もないので調べなかったが、 今日ウェブで以下のページを見つけた。
http://www.gatago.com/linux/samba/14518229.html
どうやら Windows 2000 以降のクライアント側のバグらしい。 多分実害はないが、このメッセージはログ・レベル 0 なので出力を停止できない。

Top

HOME

snbhsmt

Author:snbhsmt
Google Profiles

http://www.ksky.ne.jp/~snbhsmt/

全ての記事を表示する

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。