Matei Cezar 发布的文章

这篇文章讲述了如何使用 Authconfig-gtk 工具将 CentOS 7 桌面系统加入到 Samba4 AD 域环境中,并使用域帐号登录到 CentOS 系统。

要求

1、在 Ubuntu 系统中使用 Samba4 创建活动目录架构

2、CentOS 7.3 安装指南

第一步:在 CentOS 系统中配置 Samba4 AD DC

1、在将 CentOS 7 加入到 Samba4 域环境之前,你得先配置 CentOS 系统的网络环境,确保在 CentOS 系统中通过 DNS 可以解析到域名。

打开网络设置,关闭有线网卡。打开下方的设置按钮,手动编辑网络设置,指定 DNS 的 IP 地址为 Samba4 AD DC 服务器的 IP 地址。

设置完成之后,应用配置,并打开有线网卡。

网络设置

配置网络

2、下一步,打开网络配置文件,在文件末尾添加一行域名信息。这样能确保当你仅使用主机名来查询域中的 DNS 记录时, DNS 解析器会自动把域名添加进来。

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

添加下面一行:

SEARCH="your_domain_name"

网卡配置

3、最后,重启网卡服务以应用更改,并验证解析器的配置文件是否正确配置。我们通过使用 ping 命令加上 DC 服务器的主机名或域名以验证 DNS 解析能否正常运行。

$ sudo systemctl restart network
$ cat /etc/resolv.conf
$ ping -c1 adc1
$ ping -c1 adc2
$ ping tecmint.lan

验证网络配置是否正常

4、同时,使用下面的命令来配置你的主机名,然后重启计算机以应用更改:

$ sudo hostnamectl set-hostname your_hostname
$ sudo init 6

使用下面的命令来验证主机名是否正确配置:

$ cat /etc/hostname
$ hostname

5、最后一步配置是使用下面的命令来保证系统时间跟 Samba4 AD DC 服务器的时间同步:

$ sudo yum install ntpdate
$ sudo ntpdate -ud domain.tld

第二步:安装要加入 Samba4 AD DC 所必需的软件包

6、为了将 CentOS 7 加入到活动目录域中,你需要使用下面的命令来安装相关的软件包:

$ sudo yum install samba samba samba-winbind krb5-workstation

7、最后,安装 CentOS 软件库中提供的图形化界面软件包: Authconfig-gtk 。该软件用于将 CentOS 系统集成到域环境中。

$ sudo yum install authconfig-gtk

第三步:将 CentOS 7 桌面系统集成到 Samba4 AD DC 域环境中

8、将 CentOS 加入到域的过程非常简单。使用有 root 权限的帐号在命令行下打开 Authconfig-gtk 程序,然后按下图所示修改相关配置即可:

$ sudo authconfig-gtk

打开身份或认证配置页面:

  • 用户帐号数据库 : 选择 Winbind
  • Winbind 域 : 你的域名
  • 安全模式 : ADS
  • Winbind ADS 域 : 你的域名.TLD
  • 域控制器 : 域控服务器的全域名
  • 默认Shell : /bin/bash
  • 勾选允许离线登录

域认证配置

打开高级选项配置页面:

  • 本地认证选项 : 支持指纹识别
  • 其它认证选项 : 用户首次登录创建家目录

高级认证配置

9、修改完上面的配置之后,返回到身份或认证配置页面,点击加入域按钮,在弹出的提示框点保存即可。

身份和认证

保存认证配置

10、保存配置之后,系统将会提示你提供域管理员信息以将 CentOS 系统加入到域中。输入域管理员帐号及密码后点击 OK 按钮,加入域完成。

加入 Winbind 域环境

11、加入域后,点击应用按钮以让配置生效,选择所有的 windows 并重启机器。

应用认证配置

12、要验证 CentOS 是否已成功加入到 Samba4 AD DC 中,你可以在安装了 RSAT 工具 的 windows 机器上,打开 AD 用户和计算机工具,点击域中的计算机。

你将会在右侧看到 CentOS 主机信息。

活动目录用户和计算机

第四步:使用 Samba4 AD DC 帐号登录 CentOS 桌面系统

13、选择使用其它账户,然后输入域帐号和密码进行登录,如下图所示:

Domain\domain_account
或
[email protected]

使用其它账户

输入域用户名

14、在 CentOS 系统的命令行中,你也可以使用下面的任一方式来切换到域帐号进行登录:

$ su - domain\domain_user
$ su - [email protected]

使用域帐号登录

使用域帐号邮箱登录

15、要为域用户或组添加 root 权限,在命令行下使用 root 权限帐号打开 sudoers 配置文件,添加下面一行内容:

YOUR_DOMAIN\\domain_username             ALL=(ALL:ALL) ALL      #For domain users
%YOUR_DOMAIN\\your_domain\  group            ALL=(ALL:ALL) ALL  #For domain groups

指定用户和用户组权限

16、使用下面的命令来查看域控制器信息:

$ sudo net ads info

查看域控制器信息

17、你可以在安装了 Winbind 客户端的机器上使用下面的命令来验证 CentOS 加入到 Samba4 AD DC 后的信任关系是否正常:

$ sudo yum install samba-winbind-clients

然后,执行下面的一些命令来查看 Samba4 AD DC 的相关信息:

$ wbinfo -p ### Ping 域名
$ wbinfo -t ### 检查信任关系
$ wbinfo -u ### 列出域用户帐号
$ wbinfo -g ### 列出域用户组
$ wbinfo -n domain_account ### 查看域帐号的 SID 信息

查看 Samba4 AD DC 信息

18、如果你想让 CentOS 系统退出域环境,使用具有管理员权限的帐号执行下面的命令,后面加上域名及域管理员帐号,如下图所示:

$ sudo net ads leave your_domain -U domain_admin_username

退出 Samba4 AD 域

这篇文章就写到这里吧!尽管上面的这些操作步骤是将 CentOS 7 系统加入到 Samba4 AD DC 域中,其实这些步骤也同样适用于将 CentOS 7 桌面系统加入到 Microsoft Windows Server 2008 或 2012 的域中。


作者简介:

我是一个电脑迷,开源 Linux 系统和软件爱好者,有 4 年多的 Linux 桌面、服务器系统使用和 Base 编程经验。


via: http://www.tecmint.com/join-centos-7-to-samba4-active-directory/

作者:Matei Cezar 译者:rusking 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这篇文章讲述了如何将 Ubuntu 主机加入到 Samba4 AD 域,并实现使用域帐号登录 Ubuntu 系统。

要求:

  1. 在 Ubuntu 系统上使用 Samba4 软件来创建活动目录架构

第一步: Ubuntu 系统加入到 Samba4 AD 之前的基本配置

1、在将 Ubuntu 主机加入到 AD DC 之前,你得先确保 Ubuntu 系统中的一些服务配置正常。

主机名是你的机器的一个重要标识。因此,在加入域前,使用 hostnamectl 命令或者通过手动编辑 /etc/hostname 文件来为 Ubuntu 主机设置一个合适的主机名。

# hostnamectl set-hostname your_machine_short_name
# cat /etc/hostname
# hostnamectl

Set System Hostname

设置系统主机名

2、在这一步中,打开并编辑网卡配置文件,为你的主机设置一个合适的 IP 地址。注意把 DNS 地址设置为你的域控制器的地址。

编辑 /etc/network/interfaces 文件,添加 dns-nameservers 参数,并设置为 AD 服务器的 IP 地址;添加 dns-search 参数,其值为域控制器的主机名,如下图所示。

并且,把上面设置的 DNS IP 地址和域名添加到 /etc/resolv.conf 配置文件中,如下图所示:

Configure Network Settings for AD

为 AD 配置网络设置

在上面的截图中, 192.168.1.254192.168.1.253 是 Samba4 AD DC 服务器的 IP 地址, Tecmint.lan 是 AD 域名,已加入到这个域中的所有机器都可以查询到该域名。

3、重启网卡服务或者重启计算机以使网卡配置生效。使用 ping 命令加上域名来检测 DNS 解析是否正常。

AD DC 应该返回的是 FQDN 。如果你的网络中配置了 DHCP 服务器来为局域网中的计算机自动分配 IP 地址,请确保你已经把 AD DC 服务器的 IP 地址添加到 DHCP 服务器的 DNS 配置中。

# systemctl restart networking.service
# ping -c2 your_domain_name

4、最后一步是配置服务器时间同步。安装 ntpdate 包,使用下面的命令来查询并同步 AD DC 服务器的时间。

$ sudo apt-get install ntpdate
$ sudo ntpdate -q your_domain_name
$ sudo ntpdate your_domain_name

Time Synchronization with AD

AD 服务器时间同步

5、下一步,在 Ubuntu 机器上执行下面的命令来安装加入域环境所必需软件。

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

Install Samba4 in Ubuntu Client

在 Ubuntu 机器上安装 Samba4 软件

在 Kerberos 软件包安装的过程中,你会被询问输入默认的域名。输入大写的域名,并按 Enter 键继续安装。

Add AD Domain Name

添加 AD 域名

6、当所有的软件包安装完成之后,使用域管理员帐号来测试 Kerberos 认证,然后执行下面的命令来列出票据信息。

# kinit ad_admin_user
# klist

Check Kerberos Authentication with AD

使用 AD 来检查 Kerberos 认证是否正常

第二步:将 Ubuntu 主机添加到 Samba4 AD DC

7、将 Ubuntu 主机添加到 Samba4 活动目录域环境中的第一步是编辑 Samba 配置文件。

备份 Samba 的默认配置文件,这个配置文件是安装 Samba 软件的过程中自动生成的,使用下面的命令来重新初始化配置文件。

# mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
# nano /etc/samba/smb.conf 

在新的 Samba 配置文件中添加以下内容:

[global]
workgroup = TECMINT
realm = TECMINT.LAN
netbios name = ubuntu
security = ADS
dns forwarder = 192.168.1.1
idmap config * : backend = tdb
idmap config *:range = 50000-1000000
template homedir = /home/%D/%U
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes
vfs objects = acl_xattr
map acl inherit = Yes
store dos attributes = Yes

Configure Samba for AD

Samba 服务的 AD 环境配置

根据你本地的实际情况来替换 workgrouprealmnetbios namedns forwarder 的参数值。

由于 winbind use default domain 这个参数会让 winbind 服务把任何登录系统的帐号都当作 AD 帐号。因此,如果存在本地帐号名跟域帐号同名的情况下,请不要设置该参数。

8、现在,你应该重启 Samba 后台服务,停止并卸载一些不必要的服务,然后启用 samba 服务的 system-wide 功能,使用下面的命令来完成。

$ sudo systemctl restart smbd nmbd winbind
$ sudo systemctl stop samba-ad-dc
$ sudo systemctl enable smbd nmbd winbind

9、通过下面的命令,使用域管理员帐号来把 Ubuntu 主机加入到 Samba4 AD DC 中。

$ sudo net ads join -U ad_admin_user

Join Ubuntu to Samba4 AD DC

把 Ubuntu 主机加入到 Samba4 AD DC

10、在 安装了 RSAT 工具的 Windows 机器上 打开 AD UC ,展开到包含的计算机。你可以看到已加入域的 Ubuntu 计算机。

Confirm Ubuntu Client in Windows AD DC

确认 Ubuntu 计算机已加入到 Windows AD DC

第三步:配置 AD 帐号认证

11、为了在本地完成 AD 帐号认证,你需要修改本地机器上的一些服务和配置文件。

首先,打开并编辑名字服务切换 (NSS) 配置文件。

$ sudo nano /etc/nsswitch.conf

然后在 passwdgroup 行添加 winbind 值,如下图所示:

passwd:         compat winbind
group:          compat winbind

Configure AD Accounts Authentication

配置 AD 帐号认证

12、为了测试 Ubuntu 机器是否已加入到域中,你可以使用 wbinfo 命令来列出域帐号和组。

$ wbinfo -u
$ wbinfo -g

List AD Domain Accounts and Groups

列出域帐号和组

13、同时,使用 getent 命令加上管道符及 grep 参数来过滤指定域用户或组,以测试 Winbind nsswitch 模块是否运行正常。

$ sudo getent passwd| grep your_domain_user
$ sudo getent group|grep 'domain admins'

Check AD Domain Users and Groups

检查 AD 域用户和组

14、为了让域帐号在 Ubuntu 机器上完成认证登录,你需要使用 root 帐号运行 pam-auth-update 命令,然后勾选 winbind 服务所需的选项,以让每个域帐号首次登录时自动创建 home 目录。

查看所有的选项,按 ‘[空格]’键选中,单击 OK 以应用更改。

$ sudo pam-auth-update

Authenticate Ubuntu with Domain Accounts

使用域帐号登录 Ubuntu 主机

15、在 Debian 系统中,如果想让系统自动为登录的域帐号创建家目录,你需要手动编辑 /etc/pam.d/common-account 配置文件,并添加下面的内容。

session    required    pam_mkhomedir.so    skel=/etc/skel/    umask=0022

Authenticate Debian with Domain Accounts

使用域帐号登录 Debian 系统

16、为了让 AD 用户能够在 Linux 的命令行下修改密码,你需要打开 /etc/pam.d/common-password 配置文件,在 password 那一行删除 use_authtok 参数,如下图所示:

password       [success=1 default=ignore]      pam_winbind.so try_first_pass

Users Allowed to Change Password

允许域帐号在 Linux 命令行下修改密码

17、要使用 Samba4 AD 帐号来登录 Ubuntu 主机,在 su - 后面加上域用户名即可。你还可以通过运行 id 命令来查看 AD 帐号的其它信息。

$ su - your_ad_user

Find AD User Information

查看 AD 用户信息

使用 pwd 命令来查看域帐号的当前目录,如果你想修改域帐号的密码,你可以使用 passwd 命令来完成。

18、如果想让域帐号在 ubuntu 机器上拥有 root 权限,你可以使用下面的命令来把 AD 帐号添加到 sudo 系统组中:

$ sudo usermod -aG sudo your_domain_user

登录域帐号登录到 Ubuntu 主机,然后运行 apt-get-update 命令来更新系统,以验证域账号是否拥有 root 权限。

Add Sudo User Root Group

给域帐号添加 root 权限

19、要为整个域用户组添加 root 权限,使用 vi 命令打开并编辑 /etc/sudoers 配置文件,如下图所示,添加如下内容:

%YOUR_DOMAIN\\your_domain\  group                ALL=(ALL:ALL) ALL

Add Root Privileges to Domain Group

为域帐号组添加 root 权限

使用反斜杠来转义域用户组的名称中包含的空格,或者用来转义第一个反斜杠。在上面的例子中, TECMINT 域的域用户组的名字是 “domain admins" 。

前边的 % 表明我们指定是的用户组而不是用户名。

20、如果你使用的是图形界面的 Ubuntu 系统,并且你想使用域帐号来登录系统,你需要修改 LightDM 显示管理器,编辑 /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 配置文件,添加下面的内容,然后重启系统才能生效。

greeter-show-manual-login=true
greeter-hide-users=true

现在你就可以域帐号来登录 Ubuntu 桌面系统了。使用域用户名或者域用户名@域名.tld 或者域名\域用户名的方式来登录系统。


作者简介:

我是一个电脑迷,开源 Linux 系统和软件爱好者,有 4 年多的 Linux 桌面、服务器系统使用和 Base 编程经验。


via: http://www.tecmint.com/join-ubuntu-to-active-directory-domain-member-samba-winbind/

作者:Matei Cezar 译者:rusking 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这篇文章将指导你如何在 Samba AD DC 服务器上创建共享目录,然后通过 GPO 把共享目录挂载到域中的其它 Windows 成员机,并且从 Windows 域控的角度来管理共享权限。

这篇文章也包括在加入域的 Linux 机器上如何使用 Samba4 域帐号来访问及挂载共享文件。

需求:

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

2、在 Linux 命令行下管理 Samba4 AD 架构

3、使用 Windows 10 的 RSAT 工具来管理 Samba4 活动目录架构

4、在 Windows 下管理 Samba4 AD 域管制器 DNS 和组策略

5、将另一台 Ubuntu DC 服务器加入到 Samba4 AD DC 实现双域控主机模式

6、使用 Rsync 命令同步两个 Samba4 AD DC 之间的 SysVol 目录

第一步:创建 Samba 文件共享

1、在 Samba AD DC 服务器上创建共享非常简单。首先创建一个你想通过 SMB 协议来分享文件的目录,然后添加下面的文件系统权限,这是为了让 Windows AD DC 管理员给 Windows 客户端分配相应的共享权限。

假设在 AD DC 服务器上有一个新的共享目录 '/nas' ,执行下面的命令来授予必要的权限。

# mkdir /nas
# chmod -R 775 /nas
# chown -R root:"domain users" /nas
# ls -alh | grep nas

Create Samba Shared Directory

创建 Samba 共享目录

2、当你在 Samba4 AD DC 服务器上创建完成共享目录之后,你还得修改 samba 配置文件,添加下面的参数以允许通过 SMB 协议来共享文件。

# nano /etc/samba/smb.conf

在配置文件末尾添加以下内容:

[nas]
path = /nas
read only = no

Configure Samba Shared Directory

配置 Samba 共享目录

3、最后,你需要通过下面的命令重启 Samba AD DC 服务,以让修改的配置生效:

# systemctl restart samba-ad-dc.service

第二步:管理 Samba 共享权限

4、我们准备使用在 Samba AD DC 服务器上创建的域帐号(包括用户和组)来访问这个共享目录(禁止 Linux 系统用户访问共享目录)。

可以直接通过 Windows 资源管理器来完成 Samba 共享权限的管理,就跟你在 Windows 资源管理器中设置其它文件夹权限的方法一样。

首先,使用具有管理员权限的 Samba4 AD 域帐号登录到 Windows 机器。然而在 Windows 机器上的资源管理器中输入双斜杠和 Samba AD DC 服务器的 IP 地址或主机名或者是 FQDN 来访问共享文件和设置权限。

\\adc1
或
\\192.168.1.254
或
\\adc1.tecmint.lan

Access Samba Share Directory from Windows

从 Windows 机器访问 Samba 共享目录

5、右键单击共享文件,选择属性来设置权限。打开安全选项卡,依次修改域账号和组权限。使用高级选项来调整权限。

Configure Samba Share Directory Permissions

配置 Samba 共享目录权限

可参考下面的截图来为指定 Samba AD DC 认证用户设置权限。

Manage Samba Share Directory User Permissions

设置 Samba 共享目录用户权限

6、你也可以使用其它方法来设置共享权限,打开计算机管理-->连接到另外一台计算机。

找到共享目录,右键单击你想修改权限的目录,选择属性,打开安全选项卡。你可以在这里修改任何权限,就跟上图的修改共享文件夹权限的方法一样。

Connect to Samba Share Directory Machine

连接到 Samba 共享目录服务器

Manage Samba Share Directory Properties

管理 Samba 共享目录属性

Assign Samba Share Directory Permissions to Users

为域用户授予共享目录权限

第三步:通过 GPO 来映射 Samba 文件共享

7、要想通过域组策略来挂载 Samba 共享的目录,你得先到一台已安装了 RSAT 工具 的服务器上,打开 AD DC 工具,右键单击域名,选择新建-->共享文件夹。

Map Samba Share Folder

映射 Samba 共享文件夹

8、为共享文件夹添加一个名字,然后输入共享文件夹的网络路径,如下图所示。完成后单击 OK 按钮,你就可以在右侧看到文件夹了。

Set Samba Shared Folder Name Location

设置 Samba 共享文件夹名称及路径

9、下一步,打开组策略管理控制台,找到当前域的默认域策略脚本,然后打开并编辑该文件。

在 GPM 编辑器界面,打开 GPM 编辑器,找到用户配置 --> 首选项 --> Windows 设置,然而右键单击驱动器映射,选择新建 --> 映射驱动。

Map Samba Share Folder in Windows

在 Windows 机器上映射 Samba 共享文件夹

10、通过单击右边的三个小点,在新窗口中查询并添加共享目录的网络位置,勾选重新连接复选框,为该目录添加一个标签,选择驱动盘符,然后单击 OK 按钮来保存和应用配置。

Configure Network Location for Samba Share Directory

配置 Samba 共享目录的网络位置

11、最后,为了在本地机器上强制应用 GPO 更改而不重启系统,打开命令行提示符,然而执行下面的命令。

gpupdate /force

Apply GPO Changes

应用 GPO 更改

12、当你在本地机器上成功应用策略后,打开 Windows 资源管理器,你就可以看到并访问共享的网络文件夹了,能否正常访问共享目录取决于你在前一步的授权操作。

如果没有在命令行下强制应用组策略,你网络中的其它客户机需要重启或重新登录系统才可以看到共享目录。

Samba Shared Network Volume on Windows

Windows 机器上挂载的 Samba 网络磁盘

第四步:从 Linux 客户端访问 Samba 共享目录

13、已加入 Samba AD DC 中的 Linux 成员机上的系统用户也可以可以使用 Samba 帐号访问或在本地挂载共享目录。

首先,你得通过下面的命令来确保 Samba 客户端和工具已经安装完成。

$ sudo apt-get install smbclient cifs-utils

14、为了列出域环境中的共享目录,你可以通过下面的命令加入指定的域控服务器主机名来查询:

$ smbclient –L your_domain_controller –U%
或
$ smbclient –L \\adc1 –U%

List Samba Share Directory in Linux

在 Linux 机器上列出 Samba 共享目录

15、在命令行下使用域帐号以交互试方式连接到 Samba 共享目录:

$ sudo smbclient //adc/share_name -U domain_user

在命令行下,你可以列出共享目录内容,下载或上传文件到共享目录,或者执行其它操作。使用 ? 来查询所有可用的 smbclient 命令。

Connect Samba Share Directory in Linux

在 Linux 机器上连接 Samba 共享目录

16、在 Linux 机器上使用下面的命令来挂载 samba 共享目录。

$ sudo mount //adc/share_name /mnt -o username=domain_user

Mount Samba Share Directory in Linux

在 Linux 机器上挂载 samba 共享目录

根据实际情况,依次替换主机名、共享目录名、挂载点和域帐号。使用 mount 命令加上管道符和 grep 命令来过滤出 cifs 类型的文件系统。

通过上面的测试,我们可以看出,在 Samba4 AD DC 服务器上配置共享目录仅使用 Windows 访问控制列表( ACL ),而不是 POSIX ACL 。

通过文件共享把 Samba 配置为域成员以使用其它网络共享功能。同时,在另一个域控制器上配置 Windbindd 服务 ——在你开始发起网络共享文件之前。


作者简介:

我是一个电脑迷,开源 Linux 系统和软件爱好者,有 4 年多的 Linux 桌面、服务器系统使用和 Base 编程经验。

译者简介:

春城初春/春水初生/春林初盛/春風十裏不如妳 rusking


via: http://www.tecmint.com/create-shared-directory-on-samba-ad-dc-and-map-to-windows-linux/

作者:Matei Cezar 译者:rusking 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这篇文章讲的是在两个 Samba4 活动目录域控制器之间,通过一些强大的 Linux 工具来完成 SysVol 的复制操作,比如 Rsync 数据同步工具Cron 任务调度进程SSH 协议

需求:

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

2、在 Linux 命令行下管理 Samba4 AD 架构

3、使用 Windows 10 的 RSAT 工具来管理 Samba4 活动目录架构

4、在 Windows 下管理 Samba4 AD 域管制器 DNS 和组策略

5、将另一台 Ubuntu DC 服务器加入到 Samba4 AD DC 实现双域控主机模式

第一步:配置 DC 服务器时间同步

1、在两个域控制器之间复制 sysvol 目录的内容之前,你得保证这两个服务器时间设置准确且一致。

如果这两个服务器的时间延迟大于 5 分钟,并且时钟也不同步,你将会遇到 AD 账号和域复制的各种问题。

为了解决多个域控制器之间时间漂移的问题,你需要在服务器上执行如下命令来安装和配置 NTP 服务

# apt-get install ntp

2、在 NTP 服务安装完成之后,打开主配置文件,把默认的 pool 值注释(在每行 pool 参数前添加 # ),并且添加新的 pool 值,指向已安装了 NTP 服务端的主 Samba4 AD DC FQDN,如下所示。

# nano /etc/ntp.conf

把下面几行添加到 ntp.conf 配置文件。

pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst
pool adc1.tecmint.lan
# Use Ubuntu's ntp server as a fallback.
pool ntp.ubuntu.com

Configure NTP for Samba4

Samba4 配置 NTP 服务

3、先不要关闭该文件,在文件末尾添加如下内容,这是为了让其它客户端能够查询并与这个 NTP 服务器同步时间,并发出 NTP 签署请求,以防主 DC 离线:

restrict source notrap nomodify noquery mssntp
ntpsigndsocket /var/lib/samba/ntp_signd/

4、最后,关闭并保存该配置文件,然后重启 NTP 服务以应用更改。等待几分钟后时间同步完成,执行 ntpq 命令打印出 adc1 时间同步情况。

# systemctl restart ntp
# ntpq -p

Synchronize NTP Time with Samba4 AD

与 Samba4 AD 同步 NTP 时间

第二步:通过 Rsync 命令来复制第一个 DC 服务器上的 SysVol 目录

默认情况下,Samba4 AD DC 不会通过 DFS-R 分布式文件系统复制 Distributed File System Replication )或者 FRS 文件复制服务 File Replication Service )来复制 SysVol 目录。

这意味着只有在第一个域控制器联机时, 组策略对象 Group Policy objects 才可用。否则组策略设置和登录脚本不会应用到已加入域的 Windosws 机器上。

为了克服这个障碍,以及基本实现 SysVol 目录复制的目的,我们通过执行一个基于 SSH 的身份认证并使用 SSH 加密通道的Linux 同步命令来从第一个域控制器安全地传输 GPO 对象到第二个域控制器。

这种方式能够确保 GPO 对象在域控制器之间的一致性,但是也有一个很大的缺点。它只能进行单向同步,因为在同步 GPO 目录的时候, rsync 命令会从源 DC 服务器传输所有的更改到目标 DC 服务器,

源 DC 服务器上不存在的组策略对象也会从目标 DC 服务器上删除,为了限制并避免任何冲突,所有的 GPO 编辑操作只能在第一个 DC 服务器上执行。

5、要进行 SysVol 复制,先到第一个 AD DC 服务器上生成 SSH 密钥,然后使用下面的命令把该密钥传输到第二个 DC 服务器。

在生成密钥的过程中不要设置密码,以便在无用户干预的情况下进行传输。

# ssh-keygen -t RSA  
# ssh-copy-id root@adc2  
# ssh adc2 
# exit 

Generate SSH Key on Samba4 DC

在 Samba4 DC 服务器上生成 SSH 密钥

6、 当你确认 root 用户可以从第一个 DC 服务器以免密码方式登录到第二个 DC 服务器时,执行下面的 rsync 命令,加上 --dry-run 参数来模拟 SysVol 复制过程。注意把对应的参数值替换成你自己的数据。

# rsync --dry-run -XAavz --chmod=775 --delete-after  --progress --stats  /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/

7、如果模拟复制过程正常,那么再次执行去掉 --dry-run 参数的 rsync 命令,来真实的在域控制器之间复制 GPO 对象。

# rsync -XAavz --chmod=775 --delete-after  --progress --stats  /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/

Samba4 AD DC SysVol Replication

Samba4 AD DC SysVol 复制

8、在 SysVol 复制完成之后,登录到目标域控制器,然后执行下面的命令来列出其中一个 GPO 对象目录的内容。

从第一个 DC 服务器上执行这个命令时,列出的 GPO 对象也要相同。

# ls -alh /var/lib/samba/sysvol/your_domain/Policiers/

Verify Samba4 DC SysVol Replication

验证 Samba4 DC SysVol 复制结果是否正常

9、为了自动完成组策略复制的过程(通过网络传输 sysvol 目录),你可以使用 root 账号设置一个任务来执行同步命令,如下所示,设置为每隔 5 分钟执行一次该命令。

# crontab -e 

添加一条每隔 5 分钟运行的同步命令,并把执行结果以及错误信息输出到日志文件 /var/log/sysvol-replication.log 。如果执行命令异常,你可以查看该文件来定位问题。

*/5 * * * * rsync -XAavz --chmod=775 --delete-after  --progress --stats  /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/ > /var/log/sysvol-replication.log 2>&1

10、如果以后 SysVol ACL 权限有问题,你可以通过下面的命令来检测和修复这些异常。

# samba-tool ntacl sysvolcheck
# samba-tool ntacl sysvolreset

Fix SysVol ACL Permissions

修复 SysVol ACL 权限问题

11、如果第一个 Samba4 AD DCFSMO 角色,即“PDC 模拟器”不可用,你可以强制 Microsoft Windows 系统上的组策略管理控制台只连接到第二个域控制器,通过选择更改域控制器选项和手动选择目标机器,如下图所示。

Change Samba4 Domain Controller

更改 Samba4 域控制器

Select Samba4 Domain Controller

选择 Samba4 域控制器

当你从组策略管理控制台连接到第二个 DC 服务器时,你应该避免对组策略做任何更改。否则,当第一个 DC 服务器恢复正常后, rsync 命令将会删除在第二个 DC 服务器上所做的更改。


作者简介:

Matei Cezar -- 我是一个电脑迷,开源软件和 Linux 系统爱好者,有超过 4 年的 Linux 桌面、服务器版本系统和 bash 编程经验。


via: http://www.tecmint.com/samba4-ad-dc-sysvol-replication/

作者:Matei Cezar 译者:rusking 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

虽然有些人使用 Linux 来表示整个操作系统,但要注意的是,严格地来说,Linux 只是个内核。另一方面,发行版是一个完整功能的系统,它建立在内核之上,具有各种各样的应用程序工具和库。

在正常操作期间,内核负责执行两个重要任务:

  1. 作为硬件和系统上运行的软件之间的接口。
  2. 尽可能高效地管理系统资源。

为此,内核通过内置的驱动程序或以后可作为模块安装的驱动程序与硬件通信。

例如,当你计算机上运行的程序想要连接到无线网络时,它会将该请求提交给内核,后者又会使用正确的驱动程序连接到网络。

随着新的设备和技术定期出来,如果我们想充分利用它们,保持最新的内核就很重要。此外,更新内核将帮助我们利用新的内核函数,并保护自己免受先前版本中发现的漏洞的攻击。

准备好了在 CentOS 7 或其衍生产品(如 RHEL 7和 Fedora)上更新内核了么?如果是这样,请继续阅读!

步骤 1:检查已安装的内核版本

让我们安装了一个发行版,它包含了一个特定版本的内核。为了展示当前系统中已安装的版本,我们可以:

# uname -sr

下面的图片展示了在一台 CentOS 7 服务器上的输出信息:

Check Kernel Version in CentOS 7

在 CentOS 7 上检查内核版本

如果我们现在进入 https://www.kernel.org/,在撰写本文时,我们看到最新的内核版本是4.10.1(其他版本可以从同一网站获得)。

还要考虑的一个重要的事情是内核版本的生命周期 - 如果你当前使用的版本接近它的生命周期结束,那么在该日期后将不会提供更多的 bug 修复。关于更多信息,请参阅内核发布页。

步骤 2:在 CentOS 7 中升级内核

大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。

但是,这只会升级内核到仓库中可用的最新版本 - 而不是在 https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允许使用前者升级内核。

与 Red Hat 不同,CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。

要在 CentOS 7 上启用 ELRepo 仓库,请运行:

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

Enable ELRepo in CentOS 7

在 CentOS 7 启用 ELRepo

仓库启用后,你可以使用下面的命令列出可用的内核相关包:

# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

Yum - Find Available Kernel Versions

yum - 找出可用的内核版本

接下来,安装最新的主线稳定内核:

# yum --enablerepo=elrepo-kernel install kernel-ml

Install Latest Kernel Version in CentOS 7

在 CentOS 7 中安装最新的内核版本

最后,重启机器并应用最新内核,接着运行下面的命令检查最新内核版本:

uname -sr

Verify Kernel Version

验证内核版本

步骤 3:设置 GRUB 默认的内核版本

为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置:

打开并编辑 /etc/default/grub 并设置 GRUB_DEFAULT=0。意思是 GRUB 初始化页面的第一个内核将作为默认内核。

GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

接下来运行下面的命令来重新创建内核配置。

# grub2-mkconfig -o /boot/grub2/grub.cfg

Set Kernel in GRUB

在 GRUB 中设置内核

重启并验证最新的内核已作为默认内核。

Booting Default Kernel Version in CentOS 7

在 CentOS 7 中启动默认内核版本

恭喜你!你已经在 CentOS 7 中升级内核了!

总结

在本文中,我们解释了如何轻松升级系统上的 Linux 内核。我们还没讲到另外一个方法,因为它涉及从源代码编译内核,这可以写成一本书,并且不推荐在生产系统上这么做。

虽然它是最好的学习体验之一,并且允许细粒度配置内核,但是你可能会让你的系统不可用,并且可能必须从头重新安装它。

如果你仍然有兴趣构建内核作为学习经验,你可以在 Kernel Newbies页面中获得指导。

一如既往,如果你对本文有任何问题或意见,请随时使用下面的评论栏。


作者简介:

我是一个计算机上瘾的家伙,并且是开源和 Linux 系统软件的粉丝,有大约 4 年的 Linux 发行版桌面、服务器和 bash 脚本的经验。


via: http://www.tecmint.com/install-upgrade-kernel-version-in-centos-7/

作者:Matei Cezar 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

接着前一篇教程写的关于使用 Windows 10 的 RSAT 工具来管理 Samba4 活动目录架构,在这篇文章中我们将学习如何使用微软 DNS 管理器远程管理我们的 Samba AD 域控制器的 DNS 服务器,如何创建 DNS 记录,如何创建反向查找区域以及如何通过组策略管理工具来创建域策略。

要求

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

2、 在 Linux 命令行下管理 Samba4 AD 架构(二)

3、 使用 Windows 10 的 RSAT 工具来管理 Samba4 活动目录架构 (三)

第 1 步:管理 Samba DNS 服务器

Samba4 AD DC 使用内部的 DNS 解析器模块,该模块在初始化域提供的过程中创建(如果 BIND9 DLZ 模块未指定使用的情况下)。

Samba4 内部的 DNS 模块支持 AD 域控制器所必须的基本功能。有两种方式来管理域 DNS 服务器,直接在命令行下通过 samba-tool 接口来管理,或者使用已加入域的微软工作站中的 RSAT DNS 管理器远程进行管理。

在这篇文章中,我们使用第二种方式来进行管理,因为这种方式很直观,也不容易出错。

1、要使用 RSAT 工具来管理域控制器上的 DNS 服务器,在 Windows 机器上,打开控制面板 -> 系统和安全 -> 管理工具,然后运行 DNS 管理器工具。

当打开这个工具时,它会询问你将要连接到哪台正在运行的 DNS 服务器。选择“使用下面的计算机”,输入域名(IP 地址或 FQDN 地址都可以使用),勾选“现在连接到指定计算机”,然后单击 OK 按钮以开启 Samba DNS 服务。

Connect Samba4 DNS on Windows

在 Windows 系统上连接 Samba4 DNS 服务器

2、为了添加一条 DNS 记录(比如我们添加一条指向 LAN 网关的 A 记录),打开 DNS 管理器,找到域正向查找区,在右侧单击右键选择新的主机(A 或 AAAA)。

Add DNS A Record on Windows

在 Windows 下添加一条 DNS 记录

3、在打开的新主机窗口界面,输入 DNS 服务器的主机名和 IP 地址。 DNS 管理器工具会自动填写完成 FQDN 地址。填写完成后,点击“添加主机”按钮,之后会弹出一个新的窗口提示你 DNS A 记录已经创建完成。

确保仅为你的网络中已配置静态 IP的资源(设备)添加 DNS A 记录。不要为那些从 DHCP 服务器自动获取 IP 地址或者经常变换 IP 地址的主机添加 DNS A 记录。

Configure Samba Host on Windows

在 Windows 系统下配置 Samba 主机

要更新一条 DNS 记录只需要双击那条记录,然后输入更改即可。要删除一条记录时,只需要在这条记录上单击右键,选择从菜单删除即可。

同样的方式,你也可以为你的域添加其它类型的 DNS 记录,比如说 CNAME 记录(也称为 DNS 别名记录),MX 记录(在邮件服务器上非常有用)或者其它类型的记录(SPE、TXT、SRV 等类型)。

第 2 步:创建反向查找区域

默认情况下,Samba4 AD DC 不会自动为你的域添加一个反向查找区域和 PTR 记录,因为这些类型的记录对于域控制器的正常工作来说是无关紧要的。

相反,DNS 反向区和 PTR 记录在一些重要的网络服务中显得非常有用,比如邮件服务,因为这些类型的记录可以用于验证客户端请求服务的身份。

实际上, PTR 记录的功能与标准的 DNS 记录功能相反。客户端知道资源的 IP 地址,然后去查询 DNS 服务器来识别出已注册的 DNS 名字。

4、要创建 Samba AD DC 的反向查找区域,打开 DNS 管理器,在左侧反向查找区域目录上单击右键,然后选择菜单中的新区域。

Create Reverse Lookup DNS Zone

创建 DNS 反向查找区域

5、下一步,单击下一步按钮,然后从区域类型向导中选择主区域(Primary)。

Select DNS Zone Type

选择 DNS 区域类型

6、下一步,在 “AD 区域复制范围”中选择复制到该域里运行在域控制器上的所有的 DNS 服务器,选择 “IPv4 反向查找区域”然后单击下一步继续。

Select DNS for Samba Domain Controller

为 Samba 域控制器选择 DNS 服务器

Add Reverse Lookup Zone Name

添加反向查找区域名

7、下一步,在网络ID 框中输入你的 LAN IP 地址,然后单击下一步继续。

在这个区域内添加的所有资源(设备)的 PTR 记录仅能指向 192.168.1.0/24 网络段。如果你想要为一个不在该网段中的服务器创建一个 PTR 记录(比如邮件服务器位于 10.0.0.0/24 这个网段的时候),那么你还得为那个网段创建一个新的反向查找区域。

Add IP Address of Reverse Lookup DNS Zone

添加 DNS 反向查找区域的 IP 地址

8、在下一个截图中选择“仅允许安全的动态更新”,单击下一步继续,最后单击完成按钮以完成反向查找区域的创建。

Enable Secure Dynamic Updates

启用安全动态更新

New DNS Zone Summary

新 DNS 区域概览

9、此时,你已经为你的域环境创建完成了一个有效的 DNS 反向查找区域。为了在这个区域中添加一个 PTR 记录,在右侧右键单击,选择为网络资源创建一个 PTR 记录。

这个时候,我们已经为网关创建了一个指向。为了测试这条记录对于客户端是否添加正确和工作正常,打开命令行提示符执行 nslookup 查询资源名,再执行另外一条命令查询 IP 地址。

两个查询都应该为你的 DNS 资源返回正确的结果。

nslookup gate.tecmint.lan
nslookup 192.168.1.1
ping gate

Add DNS PTR Record and Query PTR

添加及查询 PTR 记录

第 3 步:管理域控制策略

10、域控制器最重要的作用就是集中控制系统资源及安全。使用域控制器的域组策略功能很容易实现这些类型的任务。

遗憾的是,在 Samba 域控制器上唯一用来编辑或管理组策略的方法是通过微软的 RSAT GPM 工具。

在下面的实例中,我们将看到通过组策略来实现在 Samba 域环境中为域用户创建一种交互式的登录提示是多么的简单。

要访问组策略控制台,打开控制面板 -> 系统和安全 -> 管理工具,然后打开组策略管理控制台。

展开你的域下面的目录,在默认组策略上右键,选择菜单中的编辑,将出现一个新的窗口。

Manage Samba Domain Group Policy

管理 Samba 域组策略

11、在组策略管理编辑器窗口中,进入到计算机配置 -> 组策略 -> Windows 设置 -> 安全设置 -> 本地策略 -> 安全选项,你将在右侧看到一个新的选项列表。

在右侧查询并编辑你的定制化设置,参考下图中的两条设置内容。

Configure Samba Domain Group Policy

配置 Samba 域组策略

12、这两个条目编辑完成后,关闭所有窗口,打开 CMD 窗口,执行以下命令来强制应用组策略。

gpupdate /force

Update Samba Domain Group Policy

更新 Samba 域组策略

13、最后,重启你的电脑,当你准备登录进入系统的时候,你就会看到登录提示生效了。

Samba4 AD Domain Controller Logon Banner

Samba4 AD 域控制器登录提示

就写到这里吧!组策略是一个操作起来很繁琐和很谨慎的主题,在管理系统的过程中你得非常的小心。还有,注意你设置的组策略不会以任何方式应用到已加入域的 Linux 系统中。


作者简介:我是一个电脑迷,开源软件及 Linux 系统爱好者,有近4年的 Linux 桌面和服务器系统及 bash 编程经验。


via: http://www.tecmint.com/manage-samba4-dns-group-policy-from-windows/

作者:Matei Cezar 译者:rusking 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出