Windows 7およびXBMCを介してアクセスされる匿名のパブリックSamba共有のセットアップ


9

ですから、1週間以内にこれを成功させて問題はなかったと言っておく必要がありますが、それ以来、サーバーを再フォーマットして再構成しました。

ここに私が以前持っていたものと私がもう一度達成しようとしているものがあります。Ubuntuサーバーにパブリックsamba共有がありました。ネットワーク上の誰もが\ Hostnameと入力するだけで、共有とそのコンテンツにアクセスできます。パスワードは必要ありません。共有のワークグループに属していないユーザーには読み取りアクセスがありましたが、ワークグループに属しているユーザーには読み取り/書き込みアクセスがありました。(Windows 7)

ここで、\ Hostnameに接続しようとすると、ユーザー名とパスワードの入力を求められます。un pwと入力すると、完全なアクセス権が得られますが、そうする必要はありません。私の現在の設定は...

security = user
map to guest = bad user

[Shares]
path = /home/shares
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes

これで髪を引っ張っています。助言がありますか?

編集:

ええと、これは私にとても苦労しています。私はとても近いです。

これが私が持っているものです。

開始して\ Hostname \ Sharenameと入力すると、Windows 7から共有にアクセスできますが、ユーザー名とパスワードの入力を求められます。ワークグループをドメインとして使用するため、空白のままにすることはできません。ユーザー名に\を入力してそれをクリアし、空のユーザー名とパスワードでログインします。これで、共有内のファイルにアクセスできます。

いったん入ると、ワークグループ構成は適切に機能しています。デフォルトのWORKGROUPが設定されたコンピューターを使用している場合は、読み取りと実行が可能です。ホームワークグループのコンピューターは、読み取りと書き込みを実行できます。これでうまくいきました。

問題は、パスワードを要求しないことです。ネットワーク上のすべての人に完全に公開する必要があります。XBMCと共有しようとしていますが、ファイルマネージャーのsmbの下にも表示されません。XBMCから手動でアクセスすることもできません。接続拒否エラーが表示されます。

まだこれで髪を抜いています。最悪の部分は、これを約1週間前に初めて行ったときで、約30分費やしましたが、完全に機能しました。今、私はおそらく少なくとも4時間を費やしましたが、それでもまだ機能していません。

Testparm:

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        workgroup = FELLOWSHIP
        server string = %h server (Samba, Ubuntu)
        map to guest = Bad User
        obey pam restrictions = Yes
        pam password change = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        unix password sync = Yes
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        dns proxy = No
        wins support = Yes
        usershare allow guests = Yes
        panic action = /usr/share/samba/panic-action %d
        idmap config * : backend = tdb

[printers]
        comment = All Printers
        path = /var/spool/samba
        create mask = 0700
        printable = Yes
        print ok = Yes
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/printers

[Shares]
        path = /home/shares
        read only = No
        guest ok = Yes

更新:つまり、ワークグループに関係なく、ネットワーク経由で共有を利用できるようになりました。私のネットワークに接続するすべてのWindowsユーザーは、ネットワークの下でNASを表示してアクセスできます。重要なのは、セキュリティをセキュリティ=共有に設定することでした。私は知っています、それは非推奨ですが、それは機能し、セキュリティ=ユーザーとユーザーへのマップ=悪いユーザーは私のために機能していませんでした。

とにかく、今では共有に接続する誰もが管理可能なディレクトリのUNIXグローバルアクセス許可を取得しているようですが、私はsmb.confで指定されたワークグループに参加しているユーザーにUNIXグループアクセス許可を取得してもらいます。

このようにして、ディレクトリを775に設定できます。ワークグループに参加しているため、他のユーザーは読み取りと実行しかできないため、書き込みを行うことができます。


ワークグループユーザーをマップして、ユーザー名マップファイルで特定の権限を取得できます:samba.org/samba/docs/man/manpages-3/smb.conf.5.html#USERNAMEMAP
Aaron

回答:


8

Ubuntuフォーラムこのスレッドに出くわし、それが役立つと考えました。それは舞台裏で起こるステップを説明します:

Windowsでは、クライアントのユーザー名とパスワードは、共有を参照するときに自動的に送信されます。これは、ユーザーの知らないうちに行われます。認証が不要なゲスト共有であっても、Sambaは送信された資格情報を処理する必要があります。

そのユーザー名が渡されると、Sambaはそのユーザーのパスワードデータベースを検索します。

  • ユーザー名が一致しない場合、クライアントユーザーには「悪いユーザー」というタグが付けられ、デフォルトでは「nobody」であるゲストアカウントに変換(マッピング)されます。

  • ユーザー名との一致が見つかり、Windowsクライアントから送信されたものと一致するsambaパスワードがある場合、Windowsユーザーは匿名ユーザーではなくても自動的にアクセス権を取得するため、「force user = nobody」を追加する必要がありました。共有の定義。

  • ユーザー名との一致が見つかったが、SambaパスワードがWindowsクライアントによって自動的に送信されたパスワードと正確に一致しない場合、ゲスト共有であっても、パスワードの入力を求められます。

force user = nobody共有定義に追加してみて、それが機能するかどうか確認してください。

2013年2月20日を編集:

されtestparm、ゼロ以外の終了コードを返しますか?すべて同じように、私は先に進んで、構成のその領域に良い、ハードな外観を与えます。また、大文字と小文字が区別されるsmb.confがどのように区別されるかはわかりませんが、(たとえば)私が目にするすべての例でmap to guest = Bad Userは、BとUが大文字になっています。チェックアウトのSambaのマニュアルページは、使用しているオプション、およびダブルチェックのためにすべてを。


ブライスねえ、答えてくれてありがとう。元の質問以来、少し進歩しましたが、基本的には同じ問題を抱えています。smb.confのグローバルシーティングで定義されているワークグループの誰もがその共有にアクセスできるように、共有を構成しました(共有と呼びます)。パスワードは必要ありません。次のコメントを続けます...
George Spake

共有の設定は次のとおり[Shares] path = /home/shares browsable = yes available = yes read only = no public = yes writable = yes guest ok = yes です。追加するforce user = nobodyと、破損し、共有にまったくアクセスできなくなります。奇妙なのはここです。testparmを実行するとダンプが発生する[Shares] path = /home/shares read only = no guest ok = yesなんらかの理由で、パブリック、書き込み可能、​​使用可能、および参照可能な定義が表示されないようです。これは、問題がどこにあるのかを示すインジケータになりますか?
George Spake

@GeorgeSpake編集が行われました...
アーロン

1
testparmはそういうものを吐き出すだけだと思います。confファイルではすべて小文字です。私はまた、testparmがデフォルト以外の定義のみをダンプすることを発見し、これを確認する必要があります。これにより、結果の一部が省略される理由が説明されます。
George Spake 2013

4.3.11+dfsg-0ubuntu0.14.04.3Ubuntu 14.04での最近のsambaの更新により、公開共有が壊れました。これは、公開共有force user = nobodyを元に戻すために必要な修正です
Antony

7

これがOpenElecの設定方法です。あなたが求めていることをすべきです。(それが1年後であっても...多分それは次の助けになるでしょう)必要に応じて共有設定を微調整するだけです。

[global]
  server string = YOURSERVERNAME
  workgroup = WORKGROUP
  netbios name = %h
  security = share
  guest account = root
  socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
  smb ports = 445
  max protocol = SMB2
  min receivefile size = 16384
  deadtime = 30
  os level = 20
  mangled names = no
  syslog only = yes
  syslog = 2
  name resolve order = lmhosts wins bcast host
  preferred master = auto
  domain master = auto
  local master = yes
  printcap name = /dev/null
  load printers = no
  browseable = yes
  writeable = yes
  printable = no
  encrypt passwords = true
  enable core files = no
  passdb backend = smbpasswd
  smb encrypt = disabled
  use sendfile = yes

[share]
comment = Share
path = /share
available = yes
browsable = yes
writable = yes
public = yes

この追加をありがとう!私はWindows 8.1でパブリック共有を動作させるのに苦労してきましたが、これらの設定でうまくいきました。
davidmdem 2014

13
痛い!「ゲストアカウント=ルート」。つまり、ゲストアカウントはrootにマップされます。つまり、何でも実行するための無制限のアクセス許可があります。十分気をつける!ドラゴンが先に!
DanielSmedegaardBuus

0

グーグル検索がここに私たちをもたらし、明確な答えがないので、私はそれを要約しました。

以下は、SambaサーバーにアクセスするときにSMBクライアントがユーザー名とパスワードの入力を求めないようにするために必要な条件です。

  1. セクションのguest account = <owner-of-your-shares>下に追加し[global]ます。共有の所有者アカウントがそれらにアクセスできることが重要です。これを行わない場合、Sambaは、guestアカウントが、nobody共有内のデータにアクセスする可能性が低いユーザーであると想定します。

    または、ブロックのforce user = <owner-of-your-share>下で指定することもできます[shareXYZ]

  2. あなた[shareXYZ]が持っていることを確認してくださいguest ok = yes

    設定されますがbrowsable = yes、通常はから継承[global]されyes、デフォルトでに設定されます。

次に、おそらくsecurity = user設定する必要があります(これは、環境にActive Directoryが設定されていない場合のデフォルトです)。ただし、環境にADがないため、このフラグが必要かどうかはわかりません。

もちろん、nobodyユーザーに働きたい場合は、を使用できます。chown -Rh 65534:65534 /yourshareその後、のguest ok = yes下の単一の設定で問題ありません[shareXYZ]

()に設定rwxしても、Sambaはそのユーザーと共有に参加できません。これをで確認しました。おそらくSambaは、?わからない。otherschmod o+rwx /yoursharenobodystrace -f -e chdir,geteuid,getegid -p <pid-of-the-parent-smbd-process>others


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.