mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-30 02:40:11 +08:00
PRF&PUB:20170314 Integrate Ubuntu 16.04 to AD as a Domain Member with Samba and Winbind – Part 8.md
@rusking
This commit is contained in:
parent
4f9630d758
commit
6ed93004b8
@ -1,10 +1,9 @@
|
|||||||
Integrate Ubuntu 16.04 to AD as a Domain Member with Samba and Winbind – Part 8
|
Samba 系列(八):使用 Samba 和 Winbind 将 Ubuntu 16.04 添加到 AD 域
|
||||||
============================================================
|
============================================================
|
||||||
使用 Samba 和 Winbind 将 Ubuntu 16.04 添加到 AD 域 ——(八)
|
|
||||||
|
|
||||||
这篇文章讲述了如何将 Ubuntu 主机加入到 Samba4 AD 域,并实现使用域帐号登录 Ubuntu 系统。
|
这篇文章讲述了如何将 Ubuntu 主机加入到 Samba4 AD 域,并实现使用域帐号登录 Ubuntu 系统。
|
||||||
|
|
||||||
#### 要求:
|
### 要求:
|
||||||
|
|
||||||
1. [在 Ubuntu 系统上使用 Samba4 软件来创建活动目录架构][1]
|
1. [在 Ubuntu 系统上使用 Samba4 软件来创建活动目录架构][1]
|
||||||
|
|
||||||
@ -12,7 +11,7 @@ Integrate Ubuntu 16.04 to AD as a Domain Member with Samba and Winbind – Part
|
|||||||
|
|
||||||
1、在将 Ubuntu 主机加入到 AD DC 之前,你得先确保 Ubuntu 系统中的一些服务配置正常。
|
1、在将 Ubuntu 主机加入到 AD DC 之前,你得先确保 Ubuntu 系统中的一些服务配置正常。
|
||||||
|
|
||||||
主机名是你的机器的一个重要标识。因此,在加入域前,使用 hostnamectl 命令或者通过手动编辑 /etc/hostname 文件来为 Ubuntu 主机设置一个合适的主机名。
|
主机名是你的机器的一个重要标识。因此,在加入域前,使用 `hostnamectl` 命令或者通过手动编辑 `/etc/hostname` 文件来为 Ubuntu 主机设置一个合适的主机名。
|
||||||
|
|
||||||
```
|
```
|
||||||
# hostnamectl set-hostname your_machine_short_name
|
# hostnamectl set-hostname your_machine_short_name
|
||||||
@ -23,32 +22,32 @@ Integrate Ubuntu 16.04 to AD as a Domain Member with Samba and Winbind – Part
|
|||||||

|

|
||||||
][2]
|
][2]
|
||||||
|
|
||||||
设置系统主机名
|
*设置系统主机名*
|
||||||
|
|
||||||
2、在这一步中,打开并编辑网卡配置文件,为你的主机设置一个合适的 IP 地址。注意把 DNS 地址设置为你的域控制器的地址。
|
2、在这一步中,打开并编辑网卡配置文件,为你的主机设置一个合适的 IP 地址。注意把 DNS 地址设置为你的域控制器的地址。
|
||||||
|
|
||||||
编辑 /etc/network/interfaces 文件,添加 dns-nameservers 参数,并设置为 AD 服务器的 IP 地址,添加 dns-search 参数,其值为域控制器的主机名,如下图所示。
|
编辑 `/etc/network/interfaces` 文件,添加 `dns-nameservers` 参数,并设置为 AD 服务器的 IP 地址;添加 `dns-search` 参数,其值为域控制器的主机名,如下图所示。
|
||||||
|
|
||||||
并且,把上面设置的 DNS IP 地址和域名添加到 /etc/resolv.conf 配置文件中,如下图所示:
|
并且,把上面设置的 DNS IP 地址和域名添加到 `/etc/resolv.conf` 配置文件中,如下图所示:
|
||||||
|
|
||||||
[
|
[
|
||||||

|

|
||||||
][3]
|
][3]
|
||||||
|
|
||||||
为 AD 配置网络设置
|
*为 AD 配置网络设置*
|
||||||
|
|
||||||
在上面的截图中, 192.168.1.254 和 192.168.1.253 是 Samba4 AD DC 服务器的 IP 地址, Tecmint.lan 是 AD 域名,已加入到这个域中的所有机器都可以查询到该域名。
|
在上面的截图中, `192.168.1.254` 和 `192.168.1.253` 是 Samba4 AD DC 服务器的 IP 地址, `Tecmint.lan` 是 AD 域名,已加入到这个域中的所有机器都可以查询到该域名。
|
||||||
|
|
||||||
3、重启网卡服务或者重启计算机以使网卡配置生效。使用 ping 命令加上域名来检测 DNS 解析是否正常。
|
3、重启网卡服务或者重启计算机以使网卡配置生效。使用 ping 命令加上域名来检测 DNS 解析是否正常。
|
||||||
|
|
||||||
AD DC 应该返回的 FQDN 。如果你的网络中配置了 DHCP 服务器来为局域网中的计算机自动分配 IP 地址,请确保你已经把 AD DC 服务器的 IP 地址添加到 DHCP 服务器的 DNS 配置中。
|
AD DC 应该返回的是 FQDN 。如果你的网络中配置了 DHCP 服务器来为局域网中的计算机自动分配 IP 地址,请确保你已经把 AD DC 服务器的 IP 地址添加到 DHCP 服务器的 DNS 配置中。
|
||||||
|
|
||||||
```
|
```
|
||||||
# systemctl restart networking.service
|
# systemctl restart networking.service
|
||||||
# ping -c2 your_domain_name
|
# ping -c2 your_domain_name
|
||||||
```
|
```
|
||||||
|
|
||||||
4、最后一步是配置服务器时间同步。安装 ntpdate 包,使用下面的命令来查询并同步 AD DC 服务器的时间。
|
4、最后一步是配置服务器时间同步。安装 `ntpdate` 包,使用下面的命令来查询并同步 AD DC 服务器的时间。
|
||||||
|
|
||||||
```
|
```
|
||||||
$ sudo apt-get install ntpdate
|
$ sudo apt-get install ntpdate
|
||||||
@ -59,7 +58,7 @@ $ sudo ntpdate your_domain_name
|
|||||||

|

|
||||||
][4]
|
][4]
|
||||||
|
|
||||||
AD 服务器时间同步
|
*AD 服务器时间同步*
|
||||||
|
|
||||||
5、下一步,在 Ubuntu 机器上执行下面的命令来安装加入域环境所必需软件。
|
5、下一步,在 Ubuntu 机器上执行下面的命令来安装加入域环境所必需软件。
|
||||||
|
|
||||||
@ -70,7 +69,7 @@ $ sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss
|
|||||||

|

|
||||||
][5]
|
][5]
|
||||||
|
|
||||||
在 Ubuntu 机器上安装 Samba4 软件
|
*在 Ubuntu 机器上安装 Samba4 软件*
|
||||||
|
|
||||||
在 Kerberos 软件包安装的过程中,你会被询问输入默认的域名。输入大写的域名,并按 Enter 键继续安装。
|
在 Kerberos 软件包安装的过程中,你会被询问输入默认的域名。输入大写的域名,并按 Enter 键继续安装。
|
||||||
|
|
||||||
@ -78,7 +77,7 @@ $ sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss
|
|||||||

|

|
||||||
][6]
|
][6]
|
||||||
|
|
||||||
添加 AD 域名
|
*添加 AD 域名*
|
||||||
|
|
||||||
6、当所有的软件包安装完成之后,使用域管理员帐号来测试 Kerberos 认证,然后执行下面的命令来列出票据信息。
|
6、当所有的软件包安装完成之后,使用域管理员帐号来测试 Kerberos 认证,然后执行下面的命令来列出票据信息。
|
||||||
|
|
||||||
@ -90,7 +89,7 @@ $ sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss
|
|||||||

|

|
||||||
][7]
|
][7]
|
||||||
|
|
||||||
使用 AD 来检查 Kerberos 认证是否正常
|
*使用 AD 来检查 Kerberos 认证是否正常*
|
||||||
|
|
||||||
### 第二步:将 Ubuntu 主机添加到 Samba4 AD DC
|
### 第二步:将 Ubuntu 主机添加到 Samba4 AD DC
|
||||||
|
|
||||||
@ -129,11 +128,11 @@ store dos attributes = Yes
|
|||||||

|

|
||||||
][8]
|
][8]
|
||||||
|
|
||||||
Samba 服务的 AD 环境配置
|
*Samba 服务的 AD 环境配置*
|
||||||
|
|
||||||
根据你本地的实际情况来替换 workgroup , realm , netbios name 和 dns forwarder 的参数值。
|
根据你本地的实际情况来替换 `workgroup` , `realm` , `netbios name` 和 `dns forwarder` 的参数值。
|
||||||
|
|
||||||
由于 winbind use default domain 这个参数会让 winbind 服务把任何登录系统的帐号都当作 AD 帐号。因此,如果存在本地帐号名跟域帐号同名的情况下,请不要设置该参数。
|
由于 `winbind use default domain` 这个参数会让 winbind 服务把任何登录系统的帐号都当作 AD 帐号。因此,如果存在本地帐号名跟域帐号同名的情况下,请不要设置该参数。
|
||||||
|
|
||||||
8、现在,你应该重启 Samba 后台服务,停止并卸载一些不必要的服务,然后启用 samba 服务的 system-wide 功能,使用下面的命令来完成。
|
8、现在,你应该重启 Samba 后台服务,停止并卸载一些不必要的服务,然后启用 samba 服务的 system-wide 功能,使用下面的命令来完成。
|
||||||
|
|
||||||
@ -153,7 +152,7 @@ $ sudo net ads join -U ad_admin_user
|
|||||||

|

|
||||||
][9]
|
][9]
|
||||||
|
|
||||||
把 Ubuntu 主机加入到 Samba4 AD DC
|
*把 Ubuntu 主机加入到 Samba4 AD DC*
|
||||||
|
|
||||||
10、在 [安装了 RSAT 工具的 Windows 机器上][10] 打开 AD UC ,展开到包含的计算机。你可以看到已加入域的 Ubuntu 计算机。
|
10、在 [安装了 RSAT 工具的 Windows 机器上][10] 打开 AD UC ,展开到包含的计算机。你可以看到已加入域的 Ubuntu 计算机。
|
||||||
|
|
||||||
@ -161,7 +160,7 @@ $ sudo net ads join -U ad_admin_user
|
|||||||

|

|
||||||
][11]
|
][11]
|
||||||
|
|
||||||
确认 Ubuntu 计算机已加入到 Windows AD DC
|
*确认 Ubuntu 计算机已加入到 Windows AD DC*
|
||||||
|
|
||||||
### 第三步:配置 AD 帐号认证
|
### 第三步:配置 AD 帐号认证
|
||||||
|
|
||||||
@ -173,7 +172,7 @@ $ sudo net ads join -U ad_admin_user
|
|||||||
$ sudo nano /etc/nsswitch.conf
|
$ sudo nano /etc/nsswitch.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
然后在 passwd 和 group 行添加 winbind 值,如下图所示:
|
然后在 `passwd` 和 `group` 行添加 winbind 值,如下图所示:
|
||||||
|
|
||||||
```
|
```
|
||||||
passwd: compat winbind
|
passwd: compat winbind
|
||||||
@ -183,9 +182,9 @@ group: compat winbind
|
|||||||

|

|
||||||
][12]
|
][12]
|
||||||
|
|
||||||
配置 AD 帐号认证
|
*配置 AD 帐号认证*
|
||||||
|
|
||||||
12、为了测试 Ubuntu 机器是否已加入到域中,你可以使用 wbinfo 命令来列出域帐号和组。
|
12、为了测试 Ubuntu 机器是否已加入到域中,你可以使用 `wbinfo` 命令来列出域帐号和组。
|
||||||
|
|
||||||
```
|
```
|
||||||
$ wbinfo -u
|
$ wbinfo -u
|
||||||
@ -195,9 +194,9 @@ $ wbinfo -g
|
|||||||

|

|
||||||
][13]
|
][13]
|
||||||
|
|
||||||
列出域帐号和组
|
*列出域帐号和组*
|
||||||
|
|
||||||
13、同时,使用 getent 命令加上管道符及 grep 参数来过滤指定域用户或组,以测试 Winbind nsswitch 模块是否运行正常。
|
13、同时,使用 `getent` 命令加上管道符及 `grep` 参数来过滤指定域用户或组,以测试 Winbind nsswitch 模块是否运行正常。
|
||||||
|
|
||||||
```
|
```
|
||||||
$ sudo getent passwd| grep your_domain_user
|
$ sudo getent passwd| grep your_domain_user
|
||||||
@ -207,9 +206,9 @@ $ sudo getent group|grep 'domain admins'
|
|||||||

|

|
||||||
][14]
|
][14]
|
||||||
|
|
||||||
检查 AD 域用户和组
|
*检查 AD 域用户和组*
|
||||||
|
|
||||||
14、为了让域帐号在 Ubuntu 机器上完成认证登录,你需要使用 root 帐号运行 pam-auth-update 命令,然后勾选 winbind 服务所需的选项,以让每个域帐号首次登录时自动创建 home 目录。
|
14、为了让域帐号在 Ubuntu 机器上完成认证登录,你需要使用 root 帐号运行 `pam-auth-update` 命令,然后勾选 winbind 服务所需的选项,以让每个域帐号首次登录时自动创建 home 目录。
|
||||||
|
|
||||||
查看所有的选项,按 ‘[空格]’键选中,单击 OK 以应用更改。
|
查看所有的选项,按 ‘[空格]’键选中,单击 OK 以应用更改。
|
||||||
|
|
||||||
@ -220,9 +219,9 @@ $ sudo pam-auth-update
|
|||||||

|

|
||||||
][15]
|
][15]
|
||||||
|
|
||||||
使用域帐号登录 Ubuntu 主机
|
*使用域帐号登录 Ubuntu 主机*
|
||||||
|
|
||||||
15、在 Debian 系统中,如果想让系统自动为登录的域帐号创建家目录,你需要手动编辑 /etc/pam.d/common-account 配置文件,并添加下面的内容。
|
15、在 Debian 系统中,如果想让系统自动为登录的域帐号创建家目录,你需要手动编辑 `/etc/pam.d/common-account` 配置文件,并添加下面的内容。
|
||||||
|
|
||||||
```
|
```
|
||||||
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
|
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
|
||||||
@ -231,9 +230,9 @@ session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
|
|||||||

|

|
||||||
][16]
|
][16]
|
||||||
|
|
||||||
使用域帐号登录 Debian 系统
|
*使用域帐号登录 Debian 系统*
|
||||||
|
|
||||||
16、为了让 AD 用户能够在 Linux 的命令行下修改密码,你需要打开 /etc/pam.d/common-password 配置文件,在 password 那一行删除 use_authtok 参数,如下图所示:
|
16、为了让 AD 用户能够在 Linux 的命令行下修改密码,你需要打开 /etc/pam.d/common-password 配置文件,在 `password` 那一行删除 `use_authtok` 参数,如下图所示:
|
||||||
|
|
||||||
```
|
```
|
||||||
password [success=1 default=ignore] pam_winbind.so try_first_pass
|
password [success=1 default=ignore] pam_winbind.so try_first_pass
|
||||||
@ -242,9 +241,9 @@ password [success=1 default=ignore] pam_winbind.so try_first_pass
|
|||||||

|

|
||||||
][17]
|
][17]
|
||||||
|
|
||||||
允许域帐号在 Linux 命令行下修改密码
|
*允许域帐号在 Linux 命令行下修改密码*
|
||||||
|
|
||||||
17、要使用 Samba4 AD 帐号来登录 Ubuntu 主机,在 su - 后面加上域用户名即可。你还可以通过运行 id 命令来查看 AD 帐号的其它信息。
|
17、要使用 Samba4 AD 帐号来登录 Ubuntu 主机,在 `su -` 后面加上域用户名即可。你还可以通过运行 `id` 命令来查看 AD 帐号的其它信息。
|
||||||
|
|
||||||
```
|
```
|
||||||
$ su - your_ad_user
|
$ su - your_ad_user
|
||||||
@ -253,9 +252,9 @@ $ su - your_ad_user
|
|||||||

|

|
||||||
][18]
|
][18]
|
||||||
|
|
||||||
查看 AD 用户信息
|
*查看 AD 用户信息*
|
||||||
|
|
||||||
使用 [pwd 命令][19]来查看域帐号的当前目录,如果你想修改域帐号的密码,你可以使用 passwd 命令来完成。
|
使用 [pwd 命令][19]来查看域帐号的当前目录,如果你想修改域帐号的密码,你可以使用 `passwd` 命令来完成。
|
||||||
|
|
||||||
18、如果想让域帐号在 ubuntu 机器上拥有 root 权限,你可以使用下面的命令来把 AD 帐号添加到 sudo 系统组中:
|
18、如果想让域帐号在 ubuntu 机器上拥有 root 权限,你可以使用下面的命令来把 AD 帐号添加到 sudo 系统组中:
|
||||||
|
|
||||||
@ -263,15 +262,15 @@ $ su - your_ad_user
|
|||||||
$ sudo usermod -aG sudo your_domain_user
|
$ sudo usermod -aG sudo your_domain_user
|
||||||
```
|
```
|
||||||
|
|
||||||
登录域帐号登录到 Ubuntu 主机,然后运行 apt-get-update 命令来更新系统,以验证域账号是否拥有 root 权限。
|
登录域帐号登录到 Ubuntu 主机,然后运行 `apt-get-update` 命令来更新系统,以验证域账号是否拥有 root 权限。
|
||||||
|
|
||||||
[
|
[
|
||||||

|

|
||||||
][20]
|
][20]
|
||||||
|
|
||||||
给域帐号添加 root 权限
|
*给域帐号添加 root 权限*
|
||||||
|
|
||||||
19、要为整个域用户组添加 root 权限,使用 vi 命令打开并编辑 /etc/sudoers 配置文件,如下图所示,添加如下内容:
|
19、要为整个域用户组添加 root 权限,使用 `vi` 命令打开并编辑 `/etc/sudoers` 配置文件,如下图所示,添加如下内容:
|
||||||
|
|
||||||
```
|
```
|
||||||
%YOUR_DOMAIN\\your_domain\ group ALL=(ALL:ALL) ALL
|
%YOUR_DOMAIN\\your_domain\ group ALL=(ALL:ALL) ALL
|
||||||
@ -280,13 +279,13 @@ $ sudo usermod -aG sudo your_domain_user
|
|||||||

|

|
||||||
][21]
|
][21]
|
||||||
|
|
||||||
为域帐号组添加 root 权限
|
*为域帐号组添加 root 权限*
|
||||||
|
|
||||||
使用反斜杠来转义域用户组的名称中包含的空格,或者用来转义第一个反斜杠。在上面的例子中, TECMINT 域的域用户组的名字是 “domain admins" 。
|
使用反斜杠来转义域用户组的名称中包含的空格,或者用来转义第一个反斜杠。在上面的例子中, TECMINT 域的域用户组的名字是 “domain admins" 。
|
||||||
|
|
||||||
前边的 `(%)` 表明我们指定是的用户组而不是用户名。
|
前边的 `%` 表明我们指定是的用户组而不是用户名。
|
||||||
|
|
||||||
20、如果你使用的是图形界面的 Ubuntu 系统,并且你想使用域帐号来登录系统,你需要修改 LightDM 显示管理器,编辑 /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 配置文件,添加下面的内容,然后重启系统才能生效。
|
20、如果你使用的是图形界面的 Ubuntu 系统,并且你想使用域帐号来登录系统,你需要修改 LightDM 显示管理器,编辑 `/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf` 配置文件,添加下面的内容,然后重启系统才能生效。
|
||||||
|
|
||||||
```
|
```
|
||||||
greeter-show-manual-login=true
|
greeter-show-manual-login=true
|
||||||
@ -307,7 +306,7 @@ via: http://www.tecmint.com/join-ubuntu-to-active-directory-domain-member-samba-
|
|||||||
|
|
||||||
作者:[Matei Cezar][a]
|
作者:[Matei Cezar][a]
|
||||||
译者:[rusking](https://github.com/rusking)
|
译者:[rusking](https://github.com/rusking)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
Loading…
Reference in New Issue
Block a user