我将负责一个由大约 60 个工作站组成的 Windows 网络。网络一团糟,所以我决定从头开始重建它。目前,有一些 Windows Server 安装正在运行,其中一个充当主域控制器 (PDC)。我没有使用 Windows 域的经验,所以我想运行 Debian 服务器。
因此我开始寻找允许我将 Debian 用作 PDC 的工具。看来 Samba 可以负责用户的集中身份验证和授权。
我多次重写了这篇文章,并确定了我需要的以下服务清单,用简单的话来说:
我需要告诉谁可以在工作站上做什么。我相信这在 Windows 世界中称为本地策略管理。
我需要通过网络共享打印机和文件。
我需要在某处保存一份用户及其群组的列表。我希望能够告诉“属于群组的用户G拥有下列权利”。
由于我们是一所高中,每隔几个月就会创建数百个帐户,同时删除数百个帐户。如果我可以将有关用户、组和权限的所有信息存储在 MySQL 表中,那就太好了。
我希望能够根据每个用户指定用户登录后应运行哪些脚本(映射网络文件夹、连接打印机等)。
我需要运行一些基本的网络安全,例如 Radius,以及 PXE 启动服务器,它将根据不同机器的 MAC 地址为其提供不同的安装映像。
Samba 似乎是 Windows PDC 的完全替代品,但我不太喜欢它。是否可以将 Samba 与 pGina 等结合使用?有没有办法强制 Samba 从 MySQL 数据库读取有关用户和组的信息?如何使用 Samba 来强制执行本地策略管理?
我知道有很多问题,但我并不想得到完整的答案。我希望获得一些关于如何满足这些(我认为非常常见的)要求的基本概述。
多谢!
答案1
你走上这条路只会给你带来痛苦、心痛,而且绝对得不到任何支持人员的同情。而你能将 Microsoft PC 加入非 Windows 域,在少数情况下这实际上是一个好主意。
所以,基本上,我想说的是 - 不要这样做。构建 Windows Server 域控制器,而不是 Linux 域控制器。
答案2
甚至不要尝试使用旧式域名。没有理由。
Samba 4 作为 Active Directory 域控制器运行是一个完全可行的设置,运行起来没有任何问题。我们现在已经在很多地方运行它,没有任何问题。
它支持组策略,并且 Windows 的各种管理工具可用于管理用户、目录、GPO 等。
不要疯狂地将用户放入 MySQL 数据库 - 你为什么需要这样做? AD/LDAP 是已经一个可以存储所有这些信息的目录。