web-dev-qa-db-ja.com

Sambaが共有へのアクセスを拒否するのはなぜですか?

Samba(3.0.33-3.29)を実行しているCentOS 5.2ボックスで、/uploadというフォルダを作成しました。

Sambaでは、次のように共有を構成しました。

 [upload] 
コメント=アップロードフォルダー
パス= /upload
有効なユーザー=ケビンルート
パブリック=はい
書き込み可能=はい
ブラウズ可能=はい
作成マスク= 0777 
ディレクトリマスク= 0777 
ゲストOK =はい

chownを使用して/uploadフォルダを自分のアカウント「kevin」に移動し、シェル経由でファイルとフォルダを作成できることを確認しました。

Windows 7からマシンを参照して「kevin」として認証すると、ホームディレクトリ共有とupload共有が表示されますが、それらにアクセスできません。

Windowsレポート:

ネットワークエラー
 
 Windowsが\\ cos-01\uploadにアクセスできません
 
名前のスペルを確認してください。それ以外の場合は、ネットワークに問題がある可能性があります。ネットワークの問題を特定して解決するには、[診断]をクリックします。
 
エラーコード:0x80070035 
ネットワークパスが見つかりませんでした。

これは私がやったことのチェックリストです:

  • アカウントkevinsmbpasswd -a kevinを使用してsambaに追加され、同時にパスワードを設定しました。 sambaとcentosのパスワードはどちらも同じです。
  • サーバー名cos-01/etc/hostsファイルにあります。
 172.0.0.1 localhost localhost.localdomain 
 172.17.3.90 cos-01 
  • /etc/samba/smb.confにもnetbios名を設定しました
  • Windows 7のLAN Manager認証レベルを「LMとNTLMを送信する-ネゴシエートされている場合はNTLMv2セッションセキュリティを使用する」に設定しました

更新:

IPアドレスとサーバー名の両方(つまり、\ cos-01\uploadまたは\ 172.16.3.90\upload)で共有にアクセスしてみました。どちらの場合も、上記と同じエラーが発生します。

/var/log/samba/smbd.logログファイルを確認したところ、次のようなことがわかりました。

 [2010/07/02 16:56:10、0] smbd/service.c:make_connection_snum(1013)
 '/ upload'が存在しないか、[upload]への接続時に権限が拒否されましたエラーは許可が拒否されました
10
Kev

SELinuxはアクティブですか?そうであれば、タイプをpublic_content_tに設定することでアクセス可能にすることができます。 Sambaが書き込みを行えるようにする必要がある場合は、タイプをpublic_content_rw_tに設定します。後者を実行する場合は、SELinuxにもこれを通知する必要があることに注意してください。私のsystem-config-selinuxにはこのためのブール値があります:Allow Samba to write files in directories labeled public_content_rw_t

5
Kevin M

この質問に回答するために提供する必要があるいくつかの追加情報があります。

私は/uploadフォルダを自分のアカウント 'kevin'に変更し、シェル経由でファイルとフォルダを作成できることを確認しました。

  • これをchownをrootとして、またはkevinとして、あるいは他のアカウントとして実行しましたか?
  • 現在ディレクトリに割り当てられているグループは何ですか?
  • ディレクトリのモードは何ですか?ユーザーとグループに実行ビットが設定されていますか?

Windows 7からマシンを参照して「kevin」として認証し、ホームディレクトリ共有とアップロード共有を表示できますが、それらにアクセスできません。

  • Windows 7マシンはSambaサーバーと同じワークグループのメンバーですか?
  • サーバーはドメインのメンバーですか、それともドメインコントローラーですか、それともスタンドアロンサーバーですか? Windows 7マシンがドメインに属している場合は、サーバーをドメインに参加させることも検討してください。必須ではありませんが、認証に役立ちます。
  • security =の現在の/etc/samba/smb.conf設定は何ですか? Sambaサーバーがドメインのメンバーである場合は、おそらくsecurity = adsである必要があります。Sambaサーバーがスタンドアロンの場合は、おそらくsecurity = userまたはsecurity = shareである必要があります。
  • client signing = noのエントリはありますか? (新しいWindowsクライアントに接続する場合は、代わりにyesが必要になる場合があります)
  • client use spnego = noのエントリはありますか? (新しいWindowsクライアントに接続する場合は、代わりにyesが必要になる場合があります)
  • winbindは稼働していますか? サーバーがドメインメンバーでもドメインコントローラーでもない場合、実行中に混乱が生じる可能性があります。スタンドアロンサーバーではこのサービスは必要ありません
3
Avery Payne

うーん、これは通常、ローカルパス/ upload(つまり、servrのルートにアップロード)がサーバーに存在しないことを意味します。

0
Jasper

代わりに、IPアドレスを使用してSambaサーバーにアクセスしてみてください:\ _ip_address_of_samba_server_\upload

また、/ var/log/samba/log.smbdのsambaログを確認して、Windowsクライアントが実際にログインを試みているかどうかを確認します。それ以外の場合は、ネットワークに問題があります。そして、エラーはそのようです。

宜しくお願いします、

マーティン

0
mkudlacek

これを試してください、それは助けました

http://winplat.net/post/2012/04/04/Unable-to-access-Samba-shares-from-Windows-7-with-error.aspx

  • NetBIOS over TCP/IPを有効にする
  • 認証レベルを選択
  • SMB署名
  • 「Microsoftネットワーク用クライアント」
  • ネットワークバインドの順序
0
sushatn