
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 に設定されています。
答え1
Windows 7 ネットワーク クライアント必要デフォルトでパケット署名(中間者攻撃を防ぐため)、およびSamba無効にするデフォルトではパケット署名が有効になっています。クライアントとサーバーがこの項目に関して相互にネゴシエートできない可能性があります。この問題を解決するには、次の 2 つの方法があります。
サーバー側のソリューション: Samba でパケット署名を有効にする
smb.conf に以下を追加します。
server signing = auto
サービスを再起動して再試行してください。
mandatory
の代わりにを試すこともできますauto
。ドキュメントを読むここ。
クライアント側のソリューション: Microsoft ネットワーク クライアントでパケット署名を無効にする
まず、ローカル グループ ポリシー エディターを開きます。
- スタートボタンを押します
gpedit.msc
検索開始ボックスに入力してEnterキーを押します
ローカル グループ ポリシー エディターで、次の場所に移動します。
Local Computer Policy->
Computer Configuration->
Windows Settings->
Security Settings->
Local Policies->
Security Options
ポリシーを見つける:
Microsoft network client: Digitally sign communications (always)
有効になっている場合は、無効に変更してください。[適用] を押してコンピューターを再起動し、もう一度試してください。
答え2
解決策については、スーパーユーザーで同様の質問を確認してください(https://superuser.com/questions/699240/windows-7-laptop-cant-reliably-connect-to-my-linux-smb-shared-directory/699273#699273)
答え3
これが私の動作設定です(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
あなたの設定で試してみてください。
答え4
おそらく可能性は低いですが、idmap config * は winbind を呼び出します。nsswitch.conf はどのようになっていますか? 特に passwd に関する行:
まだ読んでいない場合は、こちらを参照してください。 http://www.samba.org/samba/docs/man/manpages-3/winbindd.8.html
よろしく