在Ubuntu系统上使用Samba4来创建活动目录架构(一)

Samba 是一个自由的开源软件套件,用于实现 Windows 操作系统与 Linux/Unix 系统之间的无缝连接及共享资源。

Samba 不仅可以通过 SMB/CIFS 协议组件来为 Windows 与 Linux 系统之间提供独立的文件及打印机共享服务,它还能实现活动目录(Active Directory)域控制器(Domain Controller)的功能,或者让 Linux 主机加入到域环境中作为域成员服务器。当前的 Samba4 版本实现的 AD DC 域及森林级别可以取代 Windows 2008 R2 系统的域相关功能。

本系列的文章的主要内容是使用 Samba4 软件来配置活动目录域控制器,涉及到 Ubuntu、CentOS 和 Windows 系统相关的以下主题:

第 1 节:在 Ubuntu 系统上使用 Samba4 来创建活动目录架构

第 2 节:在 Linux 命令行下管理 Samba4 AD 架构

第 3 节:在 Windows 10 操作系统上安装 RSAT 工具来管理 Samba4 AD

第 4 节:从 Windows 中管理 Samba4 AD 域控制器 DNS 和组策略

第 5 节:使用 Sysvol Replication 复制功能把 Samba 4 DC 加入到已有的 AD

第 6 节:从 Linux DC 服务器通过 GOP 来添加一个共享磁盘并映射到 AD

第 7 节:把 Ubuntu 16.04 系统主机作为域成员服务器添加到 AD

第 8 节:把 CenterOS 7 系统主机作为域成员服务器添加到 AD

第 9 节:在 AD Intranet 区域创建使用 kerberos 认证的 Apache Website

这篇指南将阐明在 Ubuntu 16.04 和 Ubuntu 14.04 操作系统上安装配置 Samba4 作为域控服务器组件的过程中,你需要注意的每一个步骤。

以下安装配置文档将会说明在 Windows 和 Linux 的混合系统环境中,关于用户、机器、共享卷、权限及其它资源信息的主要配置点。

环境要求:

Ubuntu 16.04 服务器安装

Ubuntu 14.04 服务器安装

为你的 AD DC 服务器设置静态IP地址

第一步:初始化 Samba4 安装环境

1、 在开始安装 Samba4 AD DC 之前,让我们先做一些准备工作。首先运行以下命令来确保系统已更新了最新的安全特性,内核及其它补丁:

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get dist-upgrade

2、 其次,打开服务器上的 /etc/fstab 文件,确保文件系统分区的 ACL 已经启用 ,如下图所示。

通常情况下,当前常见的 Linux 文件系统,比如 ext3、ext4、xfs 或 btrfs 都默认支持并已经启用了 ACL 。如果未设置,则打开并编辑 /etc/fstab 文件,在第三列添加 acl,然后重启系统以使用修改的配置生效。

启动 Linux 文件系统的 ACL 功能

3、 最后使用一个具有描述性的名称来设置主机名 ,比如这往篇文章所使用的 adc1。通过编辑 /etc/hostname 文件或使用使用下图所示的命令来设置主机名。

$ sudo hostnamectl set-hostname adc1

为了使修改的主机名生效必须重启服务器。

第二步: 为 Samba4 AD DC 服务器安装必需的软件包

4、 为了让你的服务器转变为域控制器,你需要在服务器上使用具有 root 权限的账号执行以下命令来安装 Samba 套件及所有必需的软件包。

$ sudo apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind

在 Ubuntu 系统上安装 Samba 套件

5、 安装包在执行的过程中将会询问你一系列的问题以便完成域控制器的配置。

在第一屏中你需要以大写为 Kerberos 默认 REALM 输入一个名字。以大写为你的域环境输入名字,然后单击回车继续。

配置 Kerosene 认证服务

6、 下一步,输入你的域中 Kerberos 服务器的主机名。使用和上面相同的名字,这一次使用小写,然后单击回车继续。

设置 Kerberos 服务器的主机名

7、 最后,指定 Kerberos realm 管理服务器的主机名。使用更上面相同的名字,单击回车安装完成。

设置管理服务器的主机名

第三步:为你的域环境开启 Samba AD DC 服务

8、 在为域服务器配置 Samba 服务之前,先运行如下命令来停止并禁用所有 Samba 进程。

$ sudo systemctl stop samba-ad-dc.service smbd.service nmbd.service winbind.service

$ sudo systemctl disable samba-ad-dc.service smbd.service nmbd.service winbind.service

9、 下一步,重命名或删除 Samba 原始配置文件。在开启 Samba 服务之前,必须执行这一步操作,因为在开启服务的过程中 Samba 将会创建一个新的配置文件,如果检测到原有的 smb.conf 配置文件则会报错。

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.initial

10、 现在,使用 root 权限的账号并接受 Samba 提示的默认选项,以交互方式启动域供给(domain provision)。

还有,输入正确的 DNS 服务器地址并且为 Administrator 账号设置强密码。如果使用的是弱密码,则域供给过程会失败。

$ sudo samba-tool domain provision --use-rfc2307 –interactive

Samba 域供给

11、 最后,使用以下命令重命名或删除 Kerberos 认证在 /etc 目录下的主配置文件,并且把 Samba 新生成的 Kerberos 配置文件创建一个软链接指向 /etc 目录。

$ sudo mv /etc/krb6.conf /etc/krb5.conf.initial

$ sudo ln –s /var/lib/samba/private/krb5.conf /etc/

创建 Kerberos 配置文件

12、 启动并开启 Samba 活动目录域控制器后台进程

$ sudo systemctl start samba-ad-dc.service

$ sudo systemctl status samba-ad-dc.service

$ sudo systemctl enable samba-ad-dc.service

开启 Samba 活动目录域控制器服务

13、 下一步,使用 netstat 命令 来验证活动目录启动的服务是否正常。

$ sudo netstat –tulpn| egrep ‘smbd|samba’

验证 Samba 活动目录

第四步: Samba 最后的配置

14、 此刻,Samba 应该跟你想像的一样,完全运行正常。Samba 现在实现的域功能级别可以完全跟 Windows AD DC 2008 R2 相媲美。

可以使用 samba-tool 工具来验证 Samba 服务是否正常:

$ sudo samba-tool domain level show

验证 Samba 域服务级别

15、 为了满足 DNS 本地解析的需求,你可以编辑网卡配置文件,修改 dns-nameservers 参数的值为域控制器地址(使用 127.0.0.1 作为本地 DNS 解析地址),并且设置 dns-search 参数为你的 realm 值。

$ sudo cat /etc/network/interfaces

$ sudo cat /etc/resolv.conf

为 Samba 配置 DNS 服务器地址

设置完成后,重启服务器并检查解析文件是否指向正确的 DNS 服务器地址。

16、 最后,通过 ping 命令查询结果来检查某些重要的 AD DC 记录是否正常,使用类似下面的命令,替换对应的域名。

$ ping –c3 tecmint.lan       # 域名

$ ping –c3 adc1.tecmint.lan  # FQDN

$ ping –c3 adc1              # 主机

检查 Samba AD DNS 记录

执行下面的一些查询命令来检查 Samba 活动目录域控制器是否正常。

$ host –t A tecmint.lan

$ host –t A adc1.tecmint.lan

$ host –t SRV _kerberos._udp.tecmint.lan  # UDP Kerberos SRV record

$ host -t SRV _ldap._tcp.tecmint.lan # TCP LDAP SRV record

17、 并且,通过请求一个域管理员账号的身份来列出缓存的票据信息以验证 Kerberos 认证是否正常。注意域名部分使用大写。

$ kinit [email protected]

$ klist

检查域环境中的 Kerberos 认证是否正确

至此! 你当前的网络环境中已经完全运行着一个 AD 域控制器,你现在可以把 Windows 或 Linux 系统的主机集成到 Samba AD 中了。

在下一期的文章中将会包括其它 Samba AD 域的主题,比如,在 Samba 命令行下如何管理你的域控制器,如何把 Windows 10 系统主机添加到同一个域环境中,如何使用 RSAT 工具远程管理 Samba AD 域,以及其它重要的主题。

【编辑推荐】

你了解Linux发行版吗?各发行版回顾,你用过哪几款?

如何在Debian和Ubuntu系统上自动安装安全更新

如何为你的Linux服务器加把锁

2016年十大Linux服务器发行版排行榜

3款基于GUI和终端的实用Linux磁盘扫描工具

【责任编辑:枯木 TEL:(010)68476606】

点赞 0

Samba 是一个自由的开源软件套件,用于实现 Windows 操作系统与 Linux/Unix 系统之间的无缝连接及共享资源。

Samba 不仅可以通过 SMB/CIFS 协议组件来为 Windows 与 Linux 系统之间提供独立的文件及打印机共享服务,它还能实现活动目录(Active Directory)域控制器(Domain Controller)的功能,或者让 Linux 主机加入到域环境中作为域成员服务器。当前的 Samba4 版本实现的 AD DC 域及森林级别可以取代 Windows 2008 R2 系统的域相关功能。

本系列的文章的主要内容是使用 Samba4 软件来配置活动目录域控制器,涉及到 Ubuntu、CentOS 和 Windows 系统相关的以下主题:

第 1 节:在 Ubuntu 系统上使用 Samba4 来创建活动目录架构

第 2 节:在 Linux 命令行下管理 Samba4 AD 架构

第 3 节:在 Windows 10 操作系统上安装 RSAT 工具来管理 Samba4 AD

第 4 节:从 Windows 中管理 Samba4 AD 域控制器 DNS 和组策略

第 5 节:使用 Sysvol Replication 复制功能把 Samba 4 DC 加入到已有的 AD

第 6 节:从 Linux DC 服务器通过 GOP 来添加一个共享磁盘并映射到 AD

第 7 节:把 Ubuntu 16.04 系统主机作为域成员服务器添加到 AD

第 8 节:把 CenterOS 7 系统主机作为域成员服务器添加到 AD

第 9 节:在 AD Intranet 区域创建使用 kerberos 认证的 Apache Website

这篇指南将阐明在 Ubuntu 16.04 和 Ubuntu 14.04 操作系统上安装配置 Samba4 作为域控服务器组件的过程中,你需要注意的每一个步骤。

以下安装配置文档将会说明在 Windows 和 Linux 的混合系统环境中,关于用户、机器、共享卷、权限及其它资源信息的主要配置点。

环境要求:

Ubuntu 16.04 服务器安装

Ubuntu 14.04 服务器安装

为你的 AD DC 服务器设置静态IP地址

第一步:初始化 Samba4 安装环境

1、 在开始安装 Samba4 AD DC 之前,让我们先做一些准备工作。首先运行以下命令来确保系统已更新了最新的安全特性,内核及其它补丁:

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get dist-upgrade

2、 其次,打开服务器上的 /etc/fstab 文件,确保文件系统分区的 ACL 已经启用 ,如下图所示。

通常情况下,当前常见的 Linux 文件系统,比如 ext3、ext4、xfs 或 btrfs 都默认支持并已经启用了 ACL 。如果未设置,则打开并编辑 /etc/fstab 文件,在第三列添加 acl,然后重启系统以使用修改的配置生效。

启动 Linux 文件系统的 ACL 功能

3、 最后使用一个具有描述性的名称来设置主机名 ,比如这往篇文章所使用的 adc1。通过编辑 /etc/hostname 文件或使用使用下图所示的命令来设置主机名。

$ sudo hostnamectl set-hostname adc1

为了使修改的主机名生效必须重启服务器。

第二步: 为 Samba4 AD DC 服务器安装必需的软件包

4、 为了让你的服务器转变为域控制器,你需要在服务器上使用具有 root 权限的账号执行以下命令来安装 Samba 套件及所有必需的软件包。

$ sudo apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind

在 Ubuntu 系统上安装 Samba 套件

5、 安装包在执行的过程中将会询问你一系列的问题以便完成域控制器的配置。

在第一屏中你需要以大写为 Kerberos 默认 REALM 输入一个名字。以大写为你的域环境输入名字,然后单击回车继续。

配置 Kerosene 认证服务

6、 下一步,输入你的域中 Kerberos 服务器的主机名。使用和上面相同的名字,这一次使用小写,然后单击回车继续。

设置 Kerberos 服务器的主机名

7、 最后,指定 Kerberos realm 管理服务器的主机名。使用更上面相同的名字,单击回车安装完成。

设置管理服务器的主机名

第三步:为你的域环境开启 Samba AD DC 服务

8、 在为域服务器配置 Samba 服务之前,先运行如下命令来停止并禁用所有 Samba 进程。

$ sudo systemctl stop samba-ad-dc.service smbd.service nmbd.service winbind.service

$ sudo systemctl disable samba-ad-dc.service smbd.service nmbd.service winbind.service

9、 下一步,重命名或删除 Samba 原始配置文件。在开启 Samba 服务之前,必须执行这一步操作,因为在开启服务的过程中 Samba 将会创建一个新的配置文件,如果检测到原有的 smb.conf 配置文件则会报错。

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.initial

10、 现在,使用 root 权限的账号并接受 Samba 提示的默认选项,以交互方式启动域供给(domain provision)。

还有,输入正确的 DNS 服务器地址并且为 Administrator 账号设置强密码。如果使用的是弱密码,则域供给过程会失败。

$ sudo samba-tool domain provision --use-rfc2307 –interactive

Samba 域供给

11、 最后,使用以下命令重命名或删除 Kerberos 认证在 /etc 目录下的主配置文件,并且把 Samba 新生成的 Kerberos 配置文件创建一个软链接指向 /etc 目录。

$ sudo mv /etc/krb6.conf /etc/krb5.conf.initial

$ sudo ln –s /var/lib/samba/private/krb5.conf /etc/

创建 Kerberos 配置文件

12、 启动并开启 Samba 活动目录域控制器后台进程

$ sudo systemctl start samba-ad-dc.service

$ sudo systemctl status samba-ad-dc.service

$ sudo systemctl enable samba-ad-dc.service

开启 Samba 活动目录域控制器服务

13、 下一步,使用 netstat 命令 来验证活动目录启动的服务是否正常。

$ sudo netstat –tulpn| egrep ‘smbd|samba’

验证 Samba 活动目录

第四步: Samba 最后的配置

14、 此刻,Samba 应该跟你想像的一样,完全运行正常。Samba 现在实现的域功能级别可以完全跟 Windows AD DC 2008 R2 相媲美。

可以使用 samba-tool 工具来验证 Samba 服务是否正常:

$ sudo samba-tool domain level show

验证 Samba 域服务级别

15、 为了满足 DNS 本地解析的需求,你可以编辑网卡配置文件,修改 dns-nameservers 参数的值为域控制器地址(使用 127.0.0.1 作为本地 DNS 解析地址),并且设置 dns-search 参数为你的 realm 值。

$ sudo cat /etc/network/interfaces

$ sudo cat /etc/resolv.conf

为 Samba 配置 DNS 服务器地址

设置完成后,重启服务器并检查解析文件是否指向正确的 DNS 服务器地址。

16、 最后,通过 ping 命令查询结果来检查某些重要的 AD DC 记录是否正常,使用类似下面的命令,替换对应的域名。

$ ping –c3 tecmint.lan       # 域名

$ ping –c3 adc1.tecmint.lan  # FQDN

$ ping –c3 adc1              # 主机

检查 Samba AD DNS 记录

执行下面的一些查询命令来检查 Samba 活动目录域控制器是否正常。

$ host –t A tecmint.lan

$ host –t A adc1.tecmint.lan

$ host –t SRV _kerberos._udp.tecmint.lan  # UDP Kerberos SRV record

$ host -t SRV _ldap._tcp.tecmint.lan # TCP LDAP SRV record

17、 并且,通过请求一个域管理员账号的身份来列出缓存的票据信息以验证 Kerberos 认证是否正常。注意域名部分使用大写。

$ kinit [email protected]

$ klist

检查域环境中的 Kerberos 认证是否正确

至此! 你当前的网络环境中已经完全运行着一个 AD 域控制器,你现在可以把 Windows 或 Linux 系统的主机集成到 Samba AD 中了。

在下一期的文章中将会包括其它 Samba AD 域的主题,比如,在 Samba 命令行下如何管理你的域控制器,如何把 Windows 10 系统主机添加到同一个域环境中,如何使用 RSAT 工具远程管理 Samba AD 域,以及其它重要的主题。

【编辑推荐】

你了解Linux发行版吗?各发行版回顾,你用过哪几款?

如何在Debian和Ubuntu系统上自动安装安全更新

如何为你的Linux服务器加把锁

2016年十大Linux服务器发行版排行榜

3款基于GUI和终端的实用Linux磁盘扫描工具

【责任编辑:枯木 TEL:(010)68476606】

点赞 0


相关内容

  • 基于开源软件的私有云计算平台构建_姜毅
  • 研究与开发 研究与开发 基于开源软件的私有云计算平台构建* 姜 毅 1,2 ,王伟军1,曹丽3,刘凯1,陈桂强 1 (1. 华中师范大学信息管理学院武汉430079:2. 浙江理工大学经济管理学院杭州310018: 3. 浙江理工大学信息学院杭州310018) 摘 要:介绍了私有云的应用范围,讨论了 ...

  • vbox下文件夹共享问题总结
  • (2012-02-25 22:51:00) http://www.lupaworld.com/home-space-do-blog-uid-151392-id-149606.html 一直以来就没有把这个问题正真当作一个问题来对待,每次配置的时候百度一下也就ok了!可是安装次数剁了,总是这样查来查去 ...

  • FPGA的嵌入式系统 来自 对待同一事物不一样的心情,将有不同的感受
  • FPGA的嵌入式系统 2011-08-12 00:10 1.什么是嵌入式系统? 在<基于PowerPC的嵌入式Linux>一书中,表述为:在有限的资源及有限的体积中运行的.高效地实现某种特殊功能的功能集合. IEEE(电气和电子工程师协会) 的定义,嵌入式系统是"控制.监视或者 ...

  • 细说Windows与Docker之间的趣事
  • 作者   彭爱华    发布于   2016年8月30日 众所周知,Docker能打通开发和运维的任督二脉,所谓DevOps是也.有朋友说,这符合王阳明的"知行合一"之教.而Windows Server 2016内置的Windows Docker亦已经出来一段时间,这里就来和诸公 ...

  • 中小企业服务云平台建设项目设计方案
  • XX 软件园中小微企业公共服务平台 暨XX 软件园中小企业服务云平台 设计方案 目 录 第1章 项目概述 . ............................................................................................... ...

  • android移植简述
  • 一.概述 移植的工作一般的主要不外乎做以下这些事情: A.有的现成好的直接选配 这个工作主要是熟悉该源码的编译系统,就是源码自动化编译是怎么组织的.linux环境下不外乎是Makefile及脚本.所以得熟悉这两个方面的知识. B.有的不好的代码修改好后选配 这个工作不仅仅是要熟悉编译系统,还要熟悉别 ...

  • linux嵌入式学习路线(新版)
  • 嵌入式学习路线图 嵌入式开发学习路线图 为什么选择学习嵌入式? 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一,同时也是当今IT领域仅存的几个金领职位之一.当前的中国IT人才面临严重的"后继乏人", 而且这种缺口由于培训缺乏.教育模式等原因造成的,而缺口最大的,就是高级 ...

  • Hadoop大数据平台的搭建与测试_崔文斌
  • Hadoop 大数据平台的搭建与测试 *崔文斌,王云诚,牟少敏,浩庆波,昌腾腾 (山东农业大学农业大数据研究中心,山东泰安271018) 摘要:大数据处理平台Apache ?Hadoop 是一个开源的分布式系统框架,可以运行分布式应用程序.在大数据时 代Hadoop 有着良好的发展前景.本文简要介绍 ...

  • Windows下绘制数学函数图像的方法
  • 一.安装相关软件 在Windows中安装VirtualBox: 在VirtualBox中安装Ubuntu Server: 在Ubuntu Server中安装cifs-utils:sudo apt-get install cifs-utils: 在Ubuntu Server中安装Octave:sudo ...