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 / 问题 / 830104
Accepted
db_ch
db_ch
Asked: 2017-02-03 03:43:49 +0800 CST2017-02-03 03:43:49 +0800 CST 2017-02-03 03:43:49 +0800 CST

如果在 LDAP 上,Linux 是否会保留组成员的缓存?(组与 getent 组之间的差异))

  • 772

我们的用户和组 LDAP 配置正在运行。

我们的服务器使用 LDAP 来存储用户和组。

# /etc/nsswitch.conf :
passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

但是今天我们在 LDAP 中添加了一个新组,有 3 个用户,然后添加了其他用户。3 个用户在组中,但其他用户不在组中。

我们可以通过使用“groups”看到这一点:更准确地说,“getent group GROUPNAME”显示组中的用户,而“groups”不显示该用户的组......?!

因此我试图理解:

  • 是否有某种组缓存 - LDAP 列表?
  • 或者同步是否有可能失败,如果是,如何手动重新启动它?

抱歉,我的问题没有更准确,但我真的不知道从哪里开始......

PS 配置文件

# /etc/ldap/ldap.conf
URI     ldap://172.16.1.232
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt


# /etc/pam_ldap.conf
base dc=ourdomain,dc=ch
uri ldap://172.16.1.232/
ldap_version 3
rootbinddn cn=admin,dc=ourdomain,dc=ch
pam_password crypt
linux ldap openldap groups pam-ldap
  • 2 2 个回答
  • 16945 Views

2 个回答

  • Voted
  1. Best Answer
    Slipeer
    2017-02-03T03:51:55+08:002017-02-03T03:51:55+08:00

    pam_ldap并且nsswitch没有缓存机制,但nscd或sssd可能存在于实现缓存的系统上。

    nscd要使组缓存无效/刷新,请使用:

    sudo nscd --invalidate=group
    

    sssd要使组缓存无效/刷新,请使用:

    sudo sss_cache -G
    
    • 19
  2. user193597
    2017-02-03T08:29:13+08:002017-02-03T08:29:13+08:00

    jopasserat 的评论引出了另一个可能的答案。

    该groups命令不报告用户的组成员身份。它报告当前进程的组 ID 权限。它仅使用 NSS 将数字组 ID 转换为名称。

    当用户登录时,从 NSS 获得组成员身份,并使用setgid和setgroups系统调用为用户的初始进程赋予正确的权限。从那里继承的所有进程都继承相同的权限(执行 set-id 程序时除外)。

    如果配置的权限发生更改,则在用户登录时,现有进程不受影响。您必须注销并再次登录才能获得特权,如果您试图撤销特权,则必须杀死所有用户的进程才能完成工作。

    nscd这样可以增加额外的缓存层来担心,但是预先存在的用户进程实际上是所有配置中都存在的特权缓存。

    • 3

相关问题

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

  • 在 SQL Server 中,何时应将 PRIMARY Data FileGroup 拆分为辅助数据文件?

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