我安装并配置了 Samba 4 作为 AD,并且共享了 Homes。我可以与我的用户一起登录 Samba 服务器和 Windows 2008 服务器。但是在 Windows 上,当我以 user1 身份登录时输入“\IPSambaServer\user1”,访问被拒绝,错误代码为:0x80070005。
当然,我不希望主目录中有 777。
Samba 服务器上的 Linux 权限:
ls -dl /home/user1 drwx------. 6 user1 users 4096 Aug 26 14:04 /home/user1/
测试参数:
[全局]
工作组 = 域
域 = enterprise.com
服务器字符串 = Samba 服务器
服务器角色 = 活动目录 域控制器
安全性 = AUTO
passdb 后端 = samba_dsdb
日志文件 = /usr/local/samba/var/log.samba
最大日志大小 = 50
dns 代理 = 否
rpc_server:tcpip = 否
rpc_daemon:spoolssd = 嵌入式
rpc_server:spoolss = 嵌入式
rpc_server:winreg = 嵌入式
rpc_server:ntsvcs = 嵌入式
rpc_server:eventlog = 嵌入式
rpc_server:srvsvc = 嵌入式
rpc_server:svcctl = 嵌入式
rpc_server:默认 = 外部
idmap 配置 *:后端 = tdb
映射存档 = 否
映射只读 = 否
存储 dos 属性 = 是
vfs 对象 = dfs_samba4,acl_xattr
[homes]
注释 = 主目录
只读 = 否
创建掩码 = 0660
目录掩码 = 0771
user_xattr,acl
我在 /etc/fstab 中添加
奇怪的是,管理员可以访问(读取和写入)他的主页以及每个用户的主页。但也许是因为我映射了 root = DOMAIN\administrator
为了测试,我创建了目录 /tmp/test,权限为 777,然后共享它。我使用 Windows 中的用户 1 在其中创建了一个目录。然后ls -l /tmp/test/
告诉我新目录的所有者(而不是用户 1)是 3000040。我尝试使用其他用户,结果是 3000043。
在家庭共享的安全选项卡中,“Creator 和 Propri”具有读/写权限。我该如何授予用户家庭访问权限?
答案1
我找到解决办法了!
创建用户时,我使用脚本将 uidNumber 添加到 Samba(使用 ldif 文件和命令 ldbmodify)。问题是 Samba 创建了自己的 uidNumber(在我的情况下,user1 为“300040”),并且在 Windows 计算机上使用它来获得访问权限。
我发现获取此号码的唯一方法是使用wbinfo -i user1
。因此,我将每个用户的此号码放入 uidNumber 中,这样就成功了!