我在 12.04 LTS 上设置了一个 samba 服务器,它对一个用户来说运行良好,但对其他用户来说却不行。
我正在尝试从 Windows 7 笔记本电脑映射网络驱动器。我可以成功验证一个用户的身份,但其他两个用户都收到“访问被拒绝”错误。
这是我的 smb.conf 文件。
[global]
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
dns proxy = No
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
[share]
comment = Ubuntu File Server Share
path = /srv/share
read only = No
create mask = 0755
我知道服务已成功读取 /etc/passwd 文件,因为如果我更改了可用用户的 Linux 密码,则连接时必须使用新密码。
我更改了所有用户,以便他们都是同一组的成员(无论如何,所有三个用户都是管理员)。
我每次只能连接一个用户。
以下是共享文件夹的权限
/srv$ ls -l
drwxrwxrwx 1 nobody nogroup 16 Feb 22 17:05 share
有任何想法吗?
答案1
事实证明,在使用“security = user”时,为了为用户启用 samba 共享,用户必须至少登录一次。我不知道第一次登录时设置了哪些环境变量,但一旦我登录到框中,它就正常工作了。
答案2
在我的例子中,一个 Windows 用户无法连接到 Samba,但其他几个 Windows 用户可以。一个曾经工作过的用户在尝试访问以下共享时超时:
//machine name
出现此错误:
您可能没有权限使用此网络资源。请联系此服务器的管理员以了解您是否有访问权限。无法找到用户名。
解决此问题的方法是从 Windows 中删除已保存的用户名和密码。通过执行以下步骤:
控制面板;用户帐户;高级选项卡;管理密码。我找到列出的服务器名称并将其删除。然后,我没有出现超时,而是获得了新的登录信息,并能够成功登录。