AD 环境中的 Linux 用户和权限管理

Joh*_*ohn 5 linux active-directory user-management user-permissions

问题: 通过 Active Directory 中的组成员身份,对 Linux 服务器上的资源(访问服务、主目录、加入本地用户组、文件系统权限等)的用户访问需求进行集中用户管理和用户权限管理。

背景: 我们有许多 Linux 服务器,一些 CentOS 和其他 Ubuntu,用于开发、网络托管、数据库托管、PXE 服务等。我们还有一个集中的 Active Directory 环境,所有用户都被添加到并提供加入组织时的组成员身份。

示例: Bob 和 Alice 加入组织,他们被添加到 AD 内的相应组中,现在他们可以访问我们一台或多台 Linux 服务器上的 SSH 或 MySQL。Bob 离开后,我们将他从 AD 组中删除,他将无法再访问用于 SSH、MySQL 等的 Linux 服务器。

笔记: 如何处理这样的任务?Linux 中是否有一组可用的实用程序来允许这种类型的操作?我们需要授予用户的访问权限将取决于他们作为 Active Directory 成员的用户组成员身份。例如,AD 开发组中的每个人都需要具有 SSH 访问权限、MySQL 访问权限以及 Linux 版本控制服务器 1 和 2 上的主目录。系统管理员 AD 组中的每个人都需要具有 SSH 访问权限和所有 Linux 服务器的 SU 权限等。我浏览了许多关于 serverfault 的现有文章,但没有找到任何与此处列出的需求相匹配的内容。

vor*_*aq7 5

我知道有两种基本技术——

方法一: Microsoft 的UNIX 身份管理- 这允许您将 ActiveDirectory 作为 NIS 服务器公开。
这几乎适用于任何 *NIX 风格(它们都支持 NIS),并且具有 NIS 的所有优点(和缺点)。它也得到了微软的官方支持,这意味着如果出现问题,你可以打电话给你。

方法二: pam_ldap / nss_ldap(或类似的较新系统)。
这适用于任何能够对 LDAP 目录进行身份验证的现代 *NIX 风格,并且现在可能默认包含在 Ubuntu 和 CentOS 中。它比方法一中的类似 NIS 的黑客更强大/更现代,但不太可能得到 Microsoft 的正式支持。

这两种技术都要求您将 AD 用户和组分别扩展为 POSIX 用户和组,以便为​​您的 *NIX 系统提供可用的 POSIX UID 和 GID——Microsoft 在 Active Directory 中提供了此功能。
上述方法二的另一个好处是,您可以进一步扩展用户,使您能够使用OpenSSH LDAP 公钥补丁,它允许您将 SSH 密钥存储在 LDAP 中并消除authorized_keys在您的网络中同步文件的任务。