AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 579723
Accepted
Antitribu
Antitribu
Asked: 2014-03-05 06:50:54 +0800 CST2014-03-05 06:50:54 +0800 CST 2014-03-05 06:50:54 +0800 CST

带有 winbind 的 Linux 嵌套组

  • 772

我们有几个使用 winbind 连接到 Active Directory 的 RHEL6 服务器。所有服务器都使用配置管理工具进行相同的配置。然而,当使用 groups 命令和/或 sudo 查询组时,服务器会产生不同的结果。但是,Getent 和 winbind 在所有服务器上返回正确一致的结果。

user.name1 和 user.name2 是组 test.group1 的成员。test.group1 是组 test.group2 的成员

在所有服务器上运行以下命令是一致的:

# getent group test.group1 
test.group1:*:16126:user.name1,user.name2

# getent group test.group2
test.group2:*:16125:user.name1,user.name2

# wbinfo --group-info test.group1 
test.group1:*:16126:user.name1,user.name2

# wbinfo --group-info test.group2
test.group2:*:16125:user.name1,user.name2

但是服务器 A 错误地返回:

# groups user.name2
test.group1

服务器 B 正确返回:

# groups user.name2
test.group1
test.group2

Samba 配置如下所示:

   winbind use default domain = true
   winbind offline logon = false
   winbind separator = + 
   winbind enum users = Yes
   winbind enum groups = Yes
   winbind nested groups = Yes
   winbind expand groups = 10
   server string = Linux Server
   strict locking = no
   wins server = 192.168.0.1
   idmap config * : range = 10000-50000000
   idmap config * : backend = rid
   idmap config SENT : range = 10000-50000000
   idmap config SENT : default = yes 
   idmap config SENT : backend = rid
   idmap uid = 10000-50000000
   idmap gid = 10000-50000000

nsswitch.conf 看起来像:

passwd:     files winbind
shadow:     files winbind
group:      files winbind

我冒险猜测答案是在 PAM 中的某个地方,或者可能是一个 winbind 查找错误,关于在哪里查找的任何想法或建议?Winbind/servers 已重新启动,tdb 文件已重建。问题也可能是间歇性的。


编辑:

终于可以重新审视这个问题了。我已经使用 SSSD 而不是 winbind 重建了身份验证,并且发生了同样的情况

sssd.conf

[sssd] 
config_file_version = 2 
domains = sent.local 
services = nss, pam 
debug_level = 1

[nss] 

[pam] 

[domain/sent.local]
id_provider = ad 
auth_provider = ad 
access_provider = ad

default_shell = /bin/bash 
fallback_homedir = /home/domain/%u

use_fully_qualified_names = False

现在我们得到了一些有趣的结果,从未担任过域管理员的用户会得到与以前相同的结果,直到我们预先缓存了我们知道他们是其成员的组,例如:

[root@test-smg1 - (11:46:40) sssd]#  id test.user5
uid=1084806380(test.user5) gid=1084800513(domain users) 
groups=1084800513(domain users)

[root@test-smg1 - (11:46:43) sssd]#  getent group testg2
testg2:*:1084806126:test.user5,test.user4,test.user3,test.user2

[root@test-smg1 - (11:46:46) sssd]#  id test.user5
uid=1084806380(test.user5) gid=1084800513(domain users) 
groups=1084800513(domain users),1084806126(testg2)

[root@test-smg1 - (11:46:49) sssd]#  getent group testg2-nest
testg2-nest:*:1084806125:test.user4,test.user3,test.user2,test.user5

[root@test-smg1 - (11:46:54) sssd]#  id test.user5
uid=1084806380(test.user5) gid=1084800513(domain users) 
groups=1084800513(domain users),1084806126(testg2),1084806125(testg2-nest)

这让我认为这个问题可能更多地是在活动目录和这个 AD 特定实现的方向上,而不是 linux 方面的问题。使用户成为域管理员的成员会导致其所有组正确显示。从域管理员中删除用户会使用户处于此“固定”状态。

active-directory
  • 2 2 个回答
  • 14090 Views

2 个回答

  • Voted
  1. Best Answer
    Antitribu
    2014-09-09T05:11:54+08:002014-09-09T05:11:54+08:00

    看起来这是我们的 AD 设置中的一个非常具体的问题,“读取组成员身份”会针对当前工作的用户检查经过身份验证的用户,而对于那些不工作的用户则取消检查。添加此权限可解决问题(尽管 winbind 需要花费大量时间来处理更改)。

    安全面板

    • 2
  2. Robert Heryan
    2014-09-19T23:38:50+08:002014-09-19T23:38:50+08:00


    我在winbind上遇到了同样的麻烦。
    这是我的案例的一些分析细节:
    - 几个用户受到此问题的影响(总共 800 个用户)。
    - 只有少数组丢失(wbinfo -r ; id)(一些仍然被分配)到有问题的帐户 - 可能不是由 AD 中的有问题的用户权限引起
    - 组中的用户列表是完整的(getent 组;不幸的是我没有找到了通过 wbinfo 列出组用户的方法)
    - 我所有的服务器都使用相同版本的 samba,并且问题出现在所有具有相同用户的服务器上。
    我将尝试设置 SSSD 以确认,此问题与 AD 有关,而不是与 SAMBA 有关。

    • 0

相关问题

  • 如果以域用户身份远程登录,PC 速度极慢

  • 如何在 Windows 2003 的 ou 级别应用策略

  • 允许用户更改其 Active Directory 密码的 Web 界面

  • MOSS 2007 无法使用 ActiveDirectoryMembershipProvider 配置表单身份验证

  • 通过 VPN 更改 Active Directory 密码

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve