Samba 系列(十五):用 SSSD 和 Realm 集成 Ubuntu 到 Samba4 AD DC
2017-09-09 18:14
453 查看
本教程将告诉你如何将 Ubuntu 桌面版机器加入到带有 SSSD 和 Realm 服务的 Samba4 活动目录域中,以在活动目录中认证用户。
如果你已经配置了 DHCP 服务来为局域网机器自动分配包括合适的 AD DNS IP 地址的 IP 设置,那么你可以跳过这一步。
设置网络接口
上图中,
3、 用 GUI(图形用户界面)或命令行重启网络服务来应用修改,并且对你的域名发起一系列 ping 请求来测试 DNS 解析如预期工作。 也用
输入 Realm 名称
7、 接着,创建包含以下内容的 SSSD 配置文件。
配置 Samba 服务器
确保你替换了域名值,特别是对应域名的 realm 值,并运行
测试 Samba 配置
11、 在做完所有必需的修改之后,用 AD 管理员帐号验证 Kerberos 认证并用下面的命令列出票据。
检验 Kerberos 认证
加入 Ubuntu 到 Samba4 Realm
列出 Realm Domain 信息
添加用户到 Realm Domain
添加 Domain 到 Realm
13、 区域绑定好了之后,运行下面的命令确保所有域账户允许在这台机器上认证。
确保域被加入 AD DC
按 [空格] 键检验所有配置项并点击 ok 来应用配置。
PAM 配置
16、 在系统上手动编辑
列出域账户
20、 同样,也可以针对特定的域用户或群组使用
检验 Winbind Nsswitch
21、 你也可以用 Linux
检验 AD 用户信息
22、 用
AD 用户认证
用
23、 在 Ubuntu 上使用有 root 权限的域账户,你需要用下面的命令添加 AD 用户名到 sudo 系统群组:
24、 给一个域群组 root 权限,用
26、 为使用 Samba AD 账户的简称格式,编辑
27、 万一你因为
作者简介:
Matei Cezar - 我是一名网瘾少年,开源和基于 linux 系统软件的粉丝,有4年经验在 linux 发行版桌面、服务器和 bash 脚本。
via: https://www.tecmint.com/integrate-ubuntu-to-samba4-ad-dc-with-sssd-and-realm/
要求:
在 Ubuntu 上用 Samba4 创建一个活动目录架构第 1 步:初始配置
1、 在把 Ubuntu 加入活动目录前确保主机名被正确设置了。使用hostnamectl命令设置机器名字或者手动编辑
/etc/hostname文件。
2、 接下来,编辑机器网络接口设置并且添加合适的 IP 设置,并将正确的 DNS IP 服务器地址指向 Samba 活动目录域控制器,如下图所示。$ sudo hostnamectl set-hostname your_machine_short_hostname$ cat /etc/hostname$ hostnamectl
如果你已经配置了 DHCP 服务来为局域网机器自动分配包括合适的 AD DNS IP 地址的 IP 设置,那么你可以跳过这一步。
设置网络接口
上图中,
192.168.1.254和
192.168.1.253代表 Samba4 域控制器的 IP 地址。
3、 用 GUI(图形用户界面)或命令行重启网络服务来应用修改,并且对你的域名发起一系列 ping 请求来测试 DNS 解析如预期工作。 也用
host命令来测试 DNS 解析。
4、 最后, 确保机器时间和 Samba4 AD 同步。安装$ sudo systemctl restart networking.service$ host your_domain.tld$ ping -c2 your_domain_name$ ping -c2 adc1$ ping -c2 adc2
ntpdate包并用下列指令和 AD 同步时间。
$ sudo apt-get install ntpdate$ sudo ntpdate your_domain_name
第 2 步:安装需要的包
5、 这一步将安装将 Ubuntu 加入 Samba4 活动目录域控制器所必须的软件和依赖:Realmd 和 SSSD 服务。6、 输入大写的默认 realm 名称,然后按下回车继续安装。$ sudo apt install adcli realmd krb5-user samba-common-bin samba-libs samba-dsdb-modules sssd sssd-tools libnss-sss libpam-sss packagekit policykit-1
输入 Realm 名称
7、 接着,创建包含以下内容的 SSSD 配置文件。
加入下面的内容到$ sudo nano /etc/sssd/sssd.conf
sssd.conf文件。
确保你对应地替换了下列参数的域名:[nss]filter_groups = rootfilter_users = rootreconnection_retries = 3[pam]reconnection_retries = 3[sssd]domains = tecmint.lanconfig_file_version = 2services = nss, pamdefault_domain_suffix = TECMINT.LAN[domain/tecmint.lan]ad_domain = tecmint.lankrb5_realm = TECMINT.LANrealmd_tags = manages-system joined-with-sambacache_credentials = Trueid_provider = adkrb5_store_password_if_offline = Truedefault_shell = /bin/bashldap_id_mapping = Trueuse_fully_qualified_names = Truefallback_homedir = /home/%d/%uaccess_provider = adauth_provider = adchpass_provider = adaccess_provider = adldap_schema = addyndns_update = truedyndsn_refresh_interval = 43200dyndns_update_ptr = truedyndns_ttl = 3600
8、 接着,用下列命令给 SSSD 配置文件适当的权限:domains = tecmint.landefault_domain_suffix = TECMINT.LAN[domain/tecmint.lan]ad_domain = tecmint.lankrb5_realm = TECMINT.LAN
9、 现在,打开并编辑 Realmd 配置文件,输入下面这行:$ sudo chmod 700 /etc/sssd/sssd.conf
$ sudo nano /etc/realmd.conf
realmd.conf文件摘录:
10、 最后需要修改的文件属于 Samba 守护进程。 打开[active-directory]os-name = Linux Ubuntuos-version = 17.04[service]automatic-install = yes[users]default-home = /home/%d/%udefault-shell = /bin/bash[tecmint.lan]user-principal = yesfully-qualified-names = no
/etc/samba/smb.conf文件编辑,然后在文件开头加入下面这块代码,在
[global]之后的部分如下图所示。
workgroup = TECMINTclient signing = yesclient use spnego = yeskerberos method = secrets and keytabrealm = TECMINT.LANsecurity = ads
配置 Samba 服务器
确保你替换了域名值,特别是对应域名的 realm 值,并运行
testparm命令检验设置文件是否包含错误。
$ sudo testparm
测试 Samba 配置
11、 在做完所有必需的修改之后,用 AD 管理员帐号验证 Kerberos 认证并用下面的命令列出票据。
$ sudo kinit ad_admin_user@DOMAIN.TLD$ sudo klist
检验 Kerberos 认证
第 3 步: 加入 Ubuntu 到 Samba4 Realm
12、 键入下列命令将 Ubuntu 机器加入到 Samba4 活动目录。用有管理员权限的 AD DC 账户名字,以便绑定 realm 可以如预期般工作,并替换对应的域名值。$ sudo realm discover -v DOMAIN.TLD$ sudo realm list$ sudo realm join TECMINT.LAN -U ad_admin_user -v$ sudo net ads join -k
加入 Ubuntu 到 Samba4 Realm
列出 Realm Domain 信息
添加用户到 Realm Domain
添加 Domain 到 Realm
13、 区域绑定好了之后,运行下面的命令确保所有域账户允许在这台机器上认证。
然后你可以使用下面举例的$ sudo realm permit -all
realm命令允许或者禁止域用户帐号或群组访问。
14、 从一个 安装了 RSAT 工具的 Windows 机器上你可以打开 AD UC 并浏览“电脑computers”容器,并检验是否有一个使用你机器名的对象帐号已经创建。$ sudo realm deny -a$ realm permit --groups ‘domain.tld\Linux Admins’$ realm permit user@domain.lan$ realm permit DOMAIN\\User2
确保域被加入 AD DC
第 4 步:配置 AD 账户认证
15、 为了在 Ubuntu 机器上用域账户认证,你需要用 root 权限运行pam-auth-update命令并允许所有 PAM 配置文件,包括为每个域账户在第一次注册的时候自动创建家目录的选项。
按 [空格] 键检验所有配置项并点击 ok 来应用配置。
$ sudo pam-auth-update
PAM 配置
16、 在系统上手动编辑
/etc/pam.d/common-account文件,下面这几行是为了给认证过的域用户自动创建家目录。
17、 如果活动目录用户不能用 linux 命令行修改他们的密码,打开session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
/etc/pam.d/common-password文件并在
password行移除
use_authtok语句,最后如下:
18、 最后,用下面的命令重启并启用以应用 Realmd 和 SSSD 服务的修改:password [success=1 default=ignore] pam_winbind.so try_first_pass
19、 为了测试 Ubuntu 机器是是否成功集成到 realm ,安装 winbind 包并运行$ sudo systemctl restart realmd sssd$ sudo systemctl enable realmd sssd
wbinfo命令列出域账户和群组,如下所示。
$ sudo apt-get install winbind$ wbinfo -u$ wbinfo -g
列出域账户
20、 同样,也可以针对特定的域用户或群组使用
getent命令检验 Winbind nsswitch 模块。
$ sudo getent passwd your_domain_user$ sudo getent group ‘domain admins’
检验 Winbind Nsswitch
21、 你也可以用 Linux
id命令获取 AD 账户的信息,命令如下:
$ id tecmint_user
检验 AD 用户信息
22、 用
su -后跟上域用户名参数来认证 Ubuntu 主机的一个 Samba4 AD 账户。运行
id命令获取该 AD 账户的更多信息。
$ su - your_ad_user
AD 用户认证
用
pwd命令查看你的域用户当前工作目录,和用
passwd命令修改密码。
23、 在 Ubuntu 上使用有 root 权限的域账户,你需要用下面的命令添加 AD 用户名到 sudo 系统群组:
用域账户登录 Ubuntu 并运行$ sudo usermod -aG sudo your_domain_user@domain.tld
apt update命令来更新你的系统以检验 root 权限。
24、 给一个域群组 root 权限,用
visudo命令打开并编辑
/etc/sudoers文件,并加入如下行:
25、 要在 Ubuntu 桌面使用域账户认证,通过编辑%domain\ admins@tecmint.lan ALL=(ALL:ALL) ALL
/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf文件来修改 LightDM 显示管理器,增加以下两行并重启 lightdm 服务或重启机器应用修改。
域账户用“你的域用户”或“你的域用户@你的域” 格式来登录 Ubuntu 桌面。greeter-show-manual-login=truegreeter-hide-users=true
26、 为使用 Samba AD 账户的简称格式,编辑
/etc/sssd/sssd.conf文件,在
[sssd]块加入如下几行命令。
并重启 SSSD 守护进程应用改变。full_name_format = %1$s
你会注意到 bash 提示符会变成了没有附加域名部分的 AD 用户名。$ sudo systemctl restart sssd
27、 万一你因为
sssd.conf里的
enumerate=true参数设定而不能登录,你得用下面的命令清空 sssd 缓存数据:
这就是全部了!虽然这个教程主要集中于集成 Samba4 活动目录,同样的步骤也能被用于把使用 Realm 和 SSSD 服务的 Ubuntu 整合到微软 Windows 服务器活动目录。$ rm /var/lib/sss/db/cache_tecmint.lan.ldb
作者简介:
Matei Cezar - 我是一名网瘾少年,开源和基于 linux 系统软件的粉丝,有4年经验在 linux 发行版桌面、服务器和 bash 脚本。
via: https://www.tecmint.com/integrate-ubuntu-to-samba4-ad-dc-with-sssd-and-realm/
相关文章推荐
- Samba 系列(十一):如何配置并集成 iRedMail 服务到 Samba4 AD DC 中
- Samba 系列(十一):如何配置并集成 iRedMail 服务到 Samba4 AD DC 中
- Samba 系列(八):使用 Samba 和 Winbind 将 Ubuntu 16.04 添加到 AD 域
- Samba 系列(十四):在命令行中将 CentOS 7 与 Samba4 AD 集成
- Samba 系列(十二):如何在 Samba4 AD 中集成 iRedMail Roundcube
- Samba 系列(十):如何在 CentOS 7 上安装 iRedMail 集成到 Samba4 AD
- 入门系列之在Ubuntu上安装Drone持续集成环境
- Ubuntu通过samba winbind集成AD账号
- Samba 系列(八):使用 Samba 和 Winbind 将 Ubuntu 16.04 添加到 AD 域
- shiro实战系列(十五)之Spring集成Shiro
- Thinkpad E470C(集成网卡rlt8111/8618/8411系列) 无线网卡rtl8821CE系列 安装ubuntu 和win10双系统没有无线网问题
- Samba 系列(六):使用 Rsync 命令同步两个 Samba4 AD DC 之间的 SysVol 目录
- Samba 系列(一):在 Ubuntu 系统上使用 Samba4 来创建活动目录架构
- Samba 系列(五):将另一台 Ubuntu DC 服务器加入到 Samba DC 实现双域控主机模式
- Samba 系列(十四):在命令行中将 CentOS 7 与 Samba4 AD 集成
- VR系列——Oculus Audio sdk文档:六、FMOD Oculus Spatializer集成指南(3)——安装FMOD Studio Unity Integration
- Oracle Golden Gate 系列十五 -- GG Trails 说明
- 在Ubuntu 12.04 中安装和设置 Samba 实现网上邻居共享
- jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
- Ubuntu下配置samba实现文件夹共享