Debian
コンピュータでSamba
を実行しています。 Windows 7
を実行している別のコンピュータからサーバーにアクセスします。ゲストとして、共有を読み取り専用、強制ユーザーなどとして一覧表示できますが、資格情報を使用してSambaサーバーにアクセスできません。 \\ ip\storageにはアクセスできませんのみを取得します。
これが私の設定です:
*ユーザーは実際のユーザーとして存在します
* sambaはsecurity = user
として実行されます
* smbpasswd -a user
でユーザーを追加しました
*ログに何も問題がありません
* testparmは以下を示しています:
[global]
server string = %h server
interfaces = 127.0.0.0/8, eth1
bind interfaces only = Yes
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
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[homes]
comment = Home Directories
valid users = %S
read only = No
create mask = 0700
directory mask = 0700
browseable = No
[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
[cdrom]
comment = Samba server's CD-ROM
path = /cdrom
guest ok = Yes
locking = No
[allusers]
comment = Access to all users
path = /home/samba-all-users
valid users = @sambashare
force group = sambashare
read only = No
create mask = 0770
directory mask = 0771
[guest]
comment = Read/Write Guest Account Access
path = /home/samba-guest
force group = sambashare
read only = No
create mask = 0775
directory mask = 0775
guest only = Yes
guest ok = Yes
[storage]
comment = Music
path = /home/daniel/storage
注:
* sambaバージョンは3.6.6です
*クライアントはWindows 7 Home Premiumを実行しています
*このコンピューターにはファイアウォールがあり、iptablesを使用していますが、テストを実行しているのはICSのみです。すべてのルールはデフォルトでACCEPTに設定されています。
Windows 7ネットワーククライアントには、デフォルトで(中間者攻撃を防ぐために)パケット署名が必要であり、Sambaが無効ですデフォルトではパケット署名。クライアントとサーバーがこのアイテムについて互いにネゴシエートできていない可能性があります。したがって、2つの方法のいずれかで解決できます。
サーバー側のソリューション:Sambaでパケット署名を有効にする
以下をsmb.confに追加してください:
server signing = auto
サービスを再起動して、もう一度お試しください。
mandatory
の代わりにauto
を試すこともできます。ドキュメントを読む here 。
クライアント側のソリューション:Microsoftネットワーククライアントでパケット署名を無効にする
まず、ローカルグループポリシーエディターを開きます。
gpedit.msc
[検索の開始]ボックスに入力してEnterキーを押しますローカルグループポリシーエディターで、次の場所に移動します。
Local Computer Policy->
Computer Configuration->
Windows Settings->
Security Settings->
Local Policies->
Security Options
ポリシーを見つける:
Microsoft network client: Digitally sign communications (always)
これが有効になっている場合は、無効に変更します。 [適用]を押してコンピュータを再起動し、もう一度やり直してください。
ここに私の作業設定があります(OpenSUSE 11,3 smbdバージョン3.5.4-5.11.1-2573-SUSE-SL11.3で):
[global]
workgroup = WORKGROUP
passdb backend = tdbsam
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
usershare allow guests = no
domain logons = Yes
domain master = Yes
security = users
wins support = No
hosts allow = 192.168.0.*
[personal_projects]
inherit acls = No
path = /data_storage/personal_projects
read only = No
admin users = backupcat
available = Yes
browseable = Yes
comment = Komodo projects
guest ok = No
hosts allow = 192.168.0.*
valid users = @users
write list = @users
あなたの設定でそれを試してください。
多分ロングショットかもしれませんが、idmap config *はwinbindを呼び出します。nsswitch.confはどのように見えますか?特にpasswdに関する行:
まだ読んでいない場合は、こちらを参照してください: http://www.samba.org/samba/docs/man/manpages-3/winbindd.8.html
よろしく
可能な解決策についてスーパーユーザーで同様の質問をチェックすることができます( https://superuser.com/questions/699240/windows-7-laptop-cant-reliably-connect-to-my-linux-smb-shared-ディレクトリ/ 699273#69927 )