我有很多 Ubuntu Server 17.04 主机必须加入现有的 Windows AD 域(Windows Server 2016)。我以前从未这样做过,但我知道有几种方法可以实现这一点,例如:同样,Centrify、SSSD 和 Winbind。
您能否分享您的一般经验并说明这些解决方案中的每一个都多么可靠、易于配置/维护?
如果您可以分享涵盖该主题的最新文章/手册的任何链接,那也很棒,因为我只能找到几个 3 到 5 岁的文章,而且它们并没有真正按预期工作。
非常感谢您的帮助!
六个月以来,我们一直在使用 PowerBroker Identity Services Open 成功验证来自 ubuntu 主机的活动目录用户。
最近,在用户一次执行了apt-get upgrade200 多个包之后,AD 身份验证在多个工作站上停止工作。身份验证尝试给出错误,“密码无效”、“用户帐户已过期”或“您的帐户是否被锁定?”
我无法将问题与特定的软件包升级相关联,但使用相同软件包版本从头开始构建的工作站不会遇到此问题。我试过重新安装 PBIS 并验证所有配置文件,但我遗漏了一些东西......我不知所措,希望得到任何人的建议。下次发生这种情况时,我宁愿不必重建另一个盒子!
我首先验证 AD 用户帐户已启用、未锁定且未过期。本地用户身份验证通过 lightdm 和 ssh 工作正常。
轻量级
密码错误
身份验证日志:
lightdm: [lsass-pam] [module:pam_lsass]pam_sm_authenticate error [login:username][error code:40022]
Run Code Online (Sandbox Code Playgroud)系统日志:
lsass: [LwKrb5GetTgtImpl /builder/src-buildserver/Platform-8.0/src/linux/lwadvapi/threaded/krbtgt.c:276] KRB5 Error code: -1765328360 (Message: Preauthentication failed)
lsass: [lsass] Failed to authenticate user (name = 'username') -> error = 40022, symbol = LW_ERROR_PASSWORD_MISMATCH, client pid = 17768
Run Code Online (Sandbox Code Playgroud)ssh
有效凭证
身份验证日志:
sshd[18237]: error: PAM: …Run Code Online (Sandbox Code Playgroud)请参阅下面的编辑,因为事实证明问题出在 uid/gid 到 sid 的映射上,并显示了一个有助于更快理解问题的解决方法。
我们有一台 Ubuntu 11.04 服务器机器(我们称之为数据),使用由likewise-open提供的工具加入了 Windows 域 到目前为止一切顺利,因为我能够:
因此,计算机本身了解我属于哪些域组并可以正确处理权限。
但问题是当我想从 samba 共享访问文件时。Windows 似乎不明白我们在谈论相同的“域管理员”或任何其他域用户/组。
主文件夹已启用 acl
我在 smb.conf 中的分享:
[home]
path = /home/local/MYDOMAIN
browsable = yes
guest ok = no
read only = no
writeable = yes
valid users = MYDOMAIN\Administrator, @MYDOMAIN\"Domain Users", @MYDOMAIN\"Domain Admins"
write list = @MYDOMAIN\"Domain Users", @MYDOMAIN\"Domain Admins"
nt acl support = yes
create mask = 700
directory mask = 700
hide …Run Code Online (Sandbox Code Playgroud) 我的 Ubuntu 和 Apache + PHP + MySQL 在我们的 Intranet 上运行良好。该盒子只能通过 IP 地址访问(当前)。现在我想设置它,以便已经通过企业 Active Directory 服务器进行身份验证的用户可以连接到该网站并使 AD 用户名流向 PHP,而无需用户再次提供他们的 AD 凭据。我听说这叫做 SSPI,但这显然是 Windows 独有的。我发现了在 Linux 下执行此操作的无数不同指南,这些指南涉及编辑各种配置文件,但没有一个指南对我有意义,因为他们中的大多数都试图在此过程中设置 Samba 共享,而我只需要针对 AD 的纯身份验证。当它最终加入域时,我得到的最接近的是“同样开放”,但是后来我发现让 Apache 与“同样开放”一起工作的说明在那之后就没有意义了。我遵循的说明说会有一个包含适当 Apache 二进制文件的 '/opt/likewise/' 目录,但 '/opt' 中没有任何内容(它是一个空目录)。
假设如下:
AD server primary DC hostname: ad.primarydc.com (parent company owns this)
AD server primary DC IP: 172.130.0.25
Our AD domain: MAIN (main.ad.primarydc.com)
Our AD domain IP: 10.1.134.67
Our AD admin account that can join computers to the domain: MAIN\admin
Ubuntu box IP: …Run Code Online (Sandbox Code Playgroud) 我已likewise-open在 Ubuntu 12.04 上成功安装并加入域。
当我使用属于 的域用户登录时,Domain Admins我没有在 Ubuntu 机器上获得管理员特权。
我编辑了/etc/sudoers文件并添加了:
%HOME\\Domain^Admins ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
但这也不起作用。我无法运行任何 sudo 命令!
编辑:
我现在也试过这个(取自 PowerBroker 文档):
On Ubuntu, you can simply add your domain account to the admin group
in the /etc/group file by entering a line like the following as
root:
admin:x:115:LIKEWISEDEMO\kathy
Run Code Online (Sandbox Code Playgroud)
但这也不起作用!
在你嘲笑我说“如果你想要 Active Directory,使用 Windows”或告诉我使用 Google 之前,先听我说。
我的公司非常依赖 AD。不,我们在这一点上与之结婚,作为财富 10 强公司,这并没有改变。然而,我们的环境中有很多 *nix 系统(主要是 RHEL 和 SLES),而且我还没有找到一个很好的机制来与作为身份源的 Active Directory 集成。至少,我需要一些东西来提供以下内容:
我发现的最佳解决方案如下:
集中。. . 只是丑陋。我从来都不是真正的粉丝。另外,为了我公司的需要,我们不能使用 Centrify-Express,所以它不是免费的,也没有无限制的许可证。然而,这是我们找到的最好的解决方案,我很想找到别的东西。
PBIS Open 是我所倾向的。这是 VMware 在 vShield 后端使用的,并且运行良好。它只需要几个命令就可以设置,它支持 AD 组,并且没有辅助身份管理系统 - 它直接与 AD 对话。我不走这条路的唯一原因是我喜欢本机解决方案,如果有更好的方法来做到这一点并且已经包含在现代发行版中,我完全赞成。
SSSD+SELinux 听起来不错。设置起来很麻烦,但它是灵活的、原生的,并且受到大多数现代发行版的支持。它唯一缺乏的(据我所知)是对 AD 组的支持。许多文章建议利用 FreeIPA 或类似的东西来添加此功能,但进一步阅读后,这违反了要求 5,并且基本上创建了一个中间人身份服务。我对基本上复制 AD 或建立对辅助身份服务的信任不感兴趣。
我扔掉的其他 kludge 选项包括使用 Puppet(我们使用的)将 /etc/password、shadow、group 文件推送到端点,但这需要开发,这是非常间接的,我可以看到一些事情很糟糕。更好的选择是将 SSSD+SELinux 添加到 Puppet 的想法中。虽然它会简化灾难,但它仍然是一场灾难。
我错过了什么,你在用什么,还有什么是我没有考虑到的解决 Linux AD 集成头痛的“新热点”?
我有一个运行 Samba 的 Ubuntu 10.04.4 LTS 服务器,并使用 PBIS(以前同样开放)加入了我们的 Active Directory 域。Samba 被配置为使用 AD 用户/组进行身份验证,这工作正常。此外,标准的 Linux 权限(用户、组、其他人)与 Samba 一起正常使用。但是,Samba 似乎完全忽略了使用扩展 ACL 设置的任何权限。
我尝试了在其他地方推荐的各种 smb.conf 配置,但它们似乎都没有任何效果。
机器设置:
[共享] 评论 = , nt acl 支持 = 是 管理员用户 = 强制用户 = 强制组 = \domain^users 创建面具 = 0770 目录掩码 = 0770
工作组 = dns 代理 = 否 服务器字符串 = 加载打印机 = 否 杯子选项 = 生 来宾帐户 = …