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 / 问题 / 110298
Accepted
Andy Shellam
Andy Shellam
Asked: 2010-02-07 13:33:21 +0800 CST2010-02-07 13:33:21 +0800 CST 2010-02-07 13:33:21 +0800 CST

使用 LDAP 和 PAM 限制帐户登录

  • 772

我希望一些 PAM/LDAP 专家可以在这里帮助我。我最近在 Ubuntu Server 上设置了一个 LDAP 目录来保存我的客户(用于基于 Web 的系统)和员工(需要通过 SSH 登录)的帐户。

LDAP 身份验证运行良好。但是,我无法使帐户限制起作用:员工帐户将具有介于2001和之间的 ID,2999并且将成为该ssh-users组的成员,以允许他们登录服务器。

有问题的限制在/etc/ldap.conf,并且是pam_min_uid,pam_max_uid和pam_groupdn。

pam_groupdnssh-users包含我组 的完整 DN 。pam_min_uid=2000和pam_max_uid= 2999。

现在,我设法通过添加使它们工作:

account [success=1 default=ignore] pam_ldap.so

中的pam_unix.so线以上/etc/pam.d/common-account。但是,本地 Unix 帐户无法登录:SSH 服务器一尝试就终止连接。

我已经在上面的文件中设置了pam_ldap.so模块sufficient,但是无效的用户会收到一条消息,说他们无法登录,但无论如何它都会记录他们。

那么,如何为 LDAP 用户设置这些帐户限制,同时仍然允许 UNIX 用户登录?

您可能会猜到我是 PAM 的新手,尽管我已经设法让“自动创建主目录”模块工作:-)

非常感谢,安迪

ubuntu ldap pam
  • 3 3 个回答
  • 21840 Views

3 个回答

  • Voted
  1. Best Answer
    Andy Shellam
    2010-02-09T11:19:34+08:002010-02-09T11:19:34+08:00

    PAM 能够根据访问控制列表(至少在 Ubuntu 上)来限制访问,就像 kubanskamac 的回答 (+1) 一样,将组视为 posix 组,无论它们是存储在 LDAP 中/etc/group还是 NIS 中。

    /etc/security/access.conf是访问列表文件。在我的文件中,我放在最后:

    -:ALL EXCEPT root sysadmin (ssh-users):ALL
    

    这会拒绝除 root、sysadmin 和 ssh-users 组(在 LDAP 中)之外的所有人,无论他们从哪里登录(第二个ALL)。

    然后在我的 PAM 帐户文件(这是一个帐户模块)中,我在最后添加:

    account required pam_access.so
    

    它告诉 PAM 使用这个文件。这是一种享受:-)

    • 11
  2. kubanczyk
    2010-02-07T13:55:58+08:002010-02-07T13:55:58+08:00

    我会简单地使用

    auth required    pam_listfile.so   sense=accept item=group file=/etc/groups.allow onerr=fail
    

    仅允许特定组(本地组和 LDAP 组)。这样您就不必在ldap.conf.

    如果您想以自己的方式保持授权,则不应在“帐户”通行证上过滤用户。我相信您应该在“auth”通行证上进行。其次,如您所见,pam_unix 同时处理本地和 LDAP 帐户(至少在“帐户”通道上),因此似乎根本不需要 pam_ldap。

    编辑:第三,如果您坚持在“帐户”通行证上有东西(我相信这可能会产生奇怪的副作用),您的序列应该以:...、“足够的 pam_ldap”、“需要的 pam_localuser”、“需要的 pam_unix”结尾. 我的意思是,如果您有任何其他模块,请将它们移到 pam_ldap 之前 - 否则由于“足够”条款,LDAP 帐户将忽略它们。

    • 5
  3. Hank
    2012-10-03T05:50:16+08:002012-10-03T05:50:16+08:00

    只是添加到@andy-shellam,这是我的common-account文件:

    account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so
    account [success=1 default=ignore]            pam_ldap.so
    account requisite                     pam_deny.so
    account required                      pam_access.so
    account required                      pam_permit.so
    
    • 0

相关问题

  • 如何在 Ubuntu 上设置简单的防火墙?

  • 设置没有密码的用户

  • 在 Ubuntu 上设置电子邮件服务器

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

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

Sidebar

Stats

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

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

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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