某个特定用户帐户的 samba 身份验证问题

某个特定用户帐户的 samba 身份验证问题

我在使用 Samba 时遇到了一个相当烦人的问题。以下是我的设置:

  • Windows Server 2003 + Active Directory(用户身份验证)
  • NAS 服务器(Ubuntu 12.04 + PBIS Open Broker,因此此 NAS 在 AD + Samba 3.6.3 内注册)
  • WS AD 服务器上的一些 AD 组
  • NAS 上用于 AD 组的一些共享

/etc/samba/smb.conf 的摘录:

[boxes]
comment = Development boxes
valid users = @"DOMAIN\dev"
writable = yes
path = /media/raid/boxes
write list = @"DOMAIN\dev"

此“boxes”共享允许 DOMAIN\dev 组进行读写。并且它工作正常……除了我自己的帐户。

使用我自己的帐户,我可以访问一般共享(与“域用户”组共享),但不能访问更具体的共享(在最后一种情况下,系统总是要求我提供凭据,并显示“拒绝访问”消息)。我不得不说,情况并非如此,一年多来,该系统一直运行良好,最近才出现这个问题,我记得没有任何具体的变化。

我寻求帮助是因为我现在对 Samba 还不够熟悉,无法调查发生了什么。我查看了 /var/log/samba 中的以下日志文​​件:

  • log.smbd:没有什么特别重要的
  • log.nmbd:没有什么特别重要的
  • log.#我的电脑名称#: 修改日期太旧
  • log.#我的电脑 IP#: 修改日期太旧
  • log.#我的域登录#:文件为空

我还检查了我的帐户没有被锁定,我尝试更改密码。这个问题发生在我自己的站点(Fedora)或任何 Windows PC 上。

那么,我该如何准确诊断发生了什么以解决这个问题?

谢谢。

编辑1:根据@sam_pan_mariusz 的建议,我检查了以下命令

id #my login#
uid=76547207(#my login#) gid=76546561(domain^users) groups=76546561(domain^users),76548718(#a group#)

显然,这远非正确,因为我自己的登录名是 3 个组的成员,而这里只列出了 1 个(我的意思是特定组,而不是“域用户”)。

我又进行了一次测试,使用相同的命令,我发现我的老板在“dev”组中,而编码不是他的工作。因此,在 AD 服务器上,我将他从 dev 组中移除并运行:

id #my boss login#
uid=76547181(#my boss login#) gid=76546561(domain^users) groups=76546561(domain^users),76547165(#group 1#),76548718(#group 2#),76548790(#group 3#),76547162(dev)

这意味着群组及其内容在 NAS 上没有得到很好的刷新。

编辑2:/etc/nsswitch.conf 文件

passwd:         compat lsass
group:          compat lsass
shadow:         compat

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

这里没有 winbind,只有 lsass。我读到过某处说 PBis Open Broker 和 Winbind 不兼容。

编辑3:找到了一个棘手的解决方法

在通过 SSH 连接的 nas 上,我运行了:

su - #my login#

并立即退出,但这会强制刷新组成员身份...以供我登录。这很好,但我需要自动执行此操作并适用于所有域用户和组。

编辑4:上述解决方法曾经奏效。现在不再有效。

相关内容