![Linux/Samba Windows7 和基于每个用户的权限](https://linux22.com/image/1392375/Linux%2FSamba%20Windows7%20%E5%92%8C%E5%9F%BA%E4%BA%8E%E6%AF%8F%E4%B8%AA%E7%94%A8%E6%88%B7%E7%9A%84%E6%9D%83%E9%99%90.png)
我想正确设置我的 NAS 的用户和组权限。
虽然这对于使用 NFS 的所有 Linux 机器来说都很容易实现,但我无法让它与 Windows 和 Samba 一起工作,在这种情况下是 Windows7 和 Samba 3.5.2。基本功能可以工作,尤其是所有公开的和可由“其他人”写入的内容。但当然这只是一半。
我的用户名daddy
在所有 Linux 和 Windows 上都是相同的,我的(明文)密码也始终相同。在 NAS 和 Linux 上,daddy
特别属于组family
和everybody
。我有一个特定的共享,只有 (Linux) 用户family
和属于组的用户才能访问family
。在共享中,有一个名为“private”的目录,它属于family:family
并将其权限设置为 770。
该共享具体有以下设置:
browsable = yes
public = yes
invalid users = "guest"
write list = @"family","family"
valid users = "root",@"family","family"
inherit permissions = yes
我可以从 Windows 计算机访问共享,而无需输入用户名/密码。使用 Windows,我可以创建一个文件并使用它。在 NAS 上,该文件将由具有daddy:everybody
666 权限掩码的人拥有。因此,显然我的 Windows/Linux 用户名之间的映射是神奇的。
无法访问“私有”。Windows 告诉我我没有所需的权限。当然,使用 Linux 和 NFS 可以,因为是daddy
组 的成员。奇怪的是,samba 一定也建立了和family
之间的连接,否则它不会让我在该共享上创建和编辑文件。daddy
family
我将smbd
的日志级别设置为 1023,但我得到的只是大文件,没有我可以处理的信息。grep daddy log*
甚至没有任何结果。但是,我有时会看到这种情况:
log.192.168.0.10:[2014/01/05 18:46:29.919729, 5] smbd/uid.c:369(change_to_root_user)
log.192.168.0.10: change_to_root_user: now uid=(0,0) gid=(0,0)
log.192.168.0.10: smb_uid=0
log.192.168.0.10: smb_uid=0
我尝试将 Samba 共享静态映射到驱动器号。执行此操作时,可以选择一个复选框,让我提供不同的用户名/密码来连接共享。当我执行此操作并提供daddy
我的密码时,Windows 将重新提示我输入用户名密码...我认为这意味着提供的用户名/密码不正确。然而,NAS 上的 Samba 日志文件不会记录失败的连接尝试。
到目前为止,我甚至不知道需要修复什么 Linux 用户设置、Windows 用户设置、Samba 还是其他什么?!如能帮助解决此问题并使目录“私有”仅供属于特定组的用户访问,我们将不胜感激!