![用户无法连接到 Windows 上的 samba 共享(其他人可以)](https://linux22.com/image/618540/%E7%94%A8%E6%88%B7%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%20Windows%20%E4%B8%8A%E7%9A%84%20samba%20%E5%85%B1%E4%BA%AB%EF%BC%88%E5%85%B6%E4%BB%96%E4%BA%BA%E5%8F%AF%E4%BB%A5%EF%BC%89.png)
我已经在 Debian 机器上设置了 Samba,以便 Linux 服务器中的现有用户可以使用 Windows 连接到他们的主页和不同的共享。
用户1,用户2和用户3可以毫无问题地连接,但是用户4无法访问任何共享。用户4可以完美使用SSH登录。
Samba 在连接尝试失败时输出以下内容(使用用户4证书):
[2013/09/25 13:12:03.174008, 1] smbd/service.c:678(make_connection_snum)
create_connection_server_info failed: NT_STATUS_ACCESS_DENIED
Samba 在成功连接后输出以下内容(使用用户3在同一台 Windows 计算机上使用凭据):
[2013/09/25 13:13:04.564410, 1] smbd/service.c:1070(make_connection_snum)
user-pc (::ffff:XXX.XXX.XXX.XXX) connect to service www initially as user user3 (uid=1001, gid=33) (pid 2046)
这是 vipw 的输出
user1:x:1001:1001:,,,:/home/user1:/bin/bash
user2:x:1002:1002:,,,:/home/user2:/bin/bash
user3:x:1003:1003:,,,:/home/user3:/bin/bash
user4:x:1004:1004:,,,:/home/user4:/bin/bash
这是 /etc/groups 的输出
www-data:x:33:user1,user2,user3,user4
这是我的 smb.conf
[global]
workgroup = WORKGROUP
server string = %h server
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
[homes]
comment = Home Directories
browseable = no
read only = no
create mask = 0775
directory mask = 0775
valid users = %S
[vault]
path=/mnt/vault/
browseable=yes
writeable=yes
create mask = 0664
directory mask = 0775
valid users = user1 user2 user3 user4
force group = www-data
我不知道在哪里还可以寻找这些用户之间的差异。用户4是最近创建的,我不知道在此过程中是否忘记了什么。
答案1
您正在使用 tdbsam,所以也许您忘记将 user4 添加到 samba 的数据库
sudo smbpasswd -a user4