だから私はこれを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から共有にアクセスできますが、ユーザー名とパスワードの入力を求められます。ただし、ワークグループをドメインとして使用するため、空白のままにすることはできません。ユーザー名に\を入力して消去し、空のユーザー名とパスワードでログインします。共有内のファイルにアクセスできるようになりました。
私が入ったら、ワークグループ構成は正常に機能しています。デフォルトのワークグループがインストールされたコンピューターを使用している場合、読み取りと実行が可能です。私のホームワークグループのコンピューターは、読み取りと書き込みを実行できます。だからそれは働いています。
問題は、パスワードを要求するべきではないということです。ネットワーク上のすべての人に完全に公開される必要があります。 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ユーザーは、Netoworkの下でNASを参照してアクセスできます。キーは、セキュリティをsecurity = shareに設定していました。廃止されましたが、機能します。セキュリティ=ユーザーおよびユーザーへのマップ=悪いユーザーは機能していませんでした。
とにかく、共有に接続する人は誰でもディレクトリのUNIXグローバル権限を取得できますが、これは管理可能ですが、smb.confで指定されたワークグループに参加しているユーザーにUNIXグループ権限を取得してほしいです。
この方法で、ディレクトリを775に設定でき、ワークグループに参加しているが、他のユーザーは読み取りと実行しかできないため、書き込みが可能になります。
これが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
buntuフォーラムのこのスレッド に出くわし、それが役立つかもしれないと思いました。それは舞台裏で起こるステップを説明します:
Windowsでは、共有を参照するときにクライアントのユーザー名とパスワードが自動的に送信されます-これはユーザーの知らないうちに行われます。これにより、認証を必要としないゲスト共有であっても、Sambaは送信された資格情報を処理するようになります。
そのユーザー名が渡されると、Sambaはそのユーザーのパスワードデータベースを検索します。
ユーザー名に一致するものがない場合、クライアントユーザーには「Bad User」というタグが付けられ、デフォルトでは「nobody」であるゲストアカウントに変換(マッピング)されます。
ユーザー名に一致するものが見つかり、Windowsクライアントから送信されたものと一致するsambaパスワードがある場合、Windowsユーザーは自動的にアクセスしますが、匿名ユーザーとしてではなく、「force user = nobody」を追加する必要があります共有の定義。
ユーザー名と一致するが、sambaパスワードがWindowsクライアントによって自動的に送信されるパスワードと正確に一致しない場合、ゲスト共有に対してもパスワードの入力を求められます。
force user = nobody
を共有定義に追加してみて、それが実行されるかどうかを確認してください。
編集02/20/2013:
testparm
はゼロ以外の終了コードを返していますか?それでも同じように、私は設定のその領域に良いハードな外観を与えます。また、smb.confで大文字と小文字が区別されるかどうかはわかりませんが、(たとえば)map to guest = Bad User
のすべての例でBとUが大文字になっています。使用しているオプションについて Sambaのマニュアルページ をチェックアウトし、すべてを再確認します。
Google検索でここに来て、明確な答えがないので、私はそれを要約しました。
以下は、SMBクライアントがSambaサーバーにアクセスするときにユーザー名とパスワードの入力を求めないようにするために必要な条件です。
guest account = <owner-of-your-shares>
セクションの下に[global]
を追加します。共有の所有者アカウントにアクセスできることが重要です。これを行わないと、Sambaはゲストアカウントがnobody
ユーザーであり、共有内のデータにアクセスする可能性が低いと想定します。
または、force user = <owner-of-your-share>
ブロックの下に[shareXYZ]
を指定できます。
[shareXYZ]
にguest ok = yes
があることを確認してください。
browsable = yes
を設定しますが、通常は[global]
から継承され、デフォルトでyes
に設定されます。
次に、おそらくsecurity = user
も設定する必要があります(環境にActive Directoryが設定されていない場合のデフォルトです)。ただし、環境にADがないため、このフラグが必要かどうかはわかりません。
もちろん、nobody
ユーザーを動作させたい場合は、chown -Rh 65534:65534 /yourshare
だけで構いません。その後、guest ok = yes
の下の単一の設定[shareXYZ]
で問題ありません。
rwx
をothers
(chmod o+rwx /yourshare
)に設定しても、Sambaがそのnobody
ユーザーを共有に入れないことに注意してください。これをstrace -f -e chdir,geteuid,getegid -p <pid-of-the-parent-smbd-process>
で確認しました。おそらく、Sambaはothers
に設定されたアクセス許可を無視します。わからない。
30秒で機能します
ソース: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server
[グローバル]ゲストへのマップ=悪いユーザー
log file = /var/log/samba/%m
log level = 1
[ゲスト]#この共有は匿名(ゲスト)アクセスを許可します
# without authentication!
path = /srv/samba/guest/
read only = no
guest ok = yes