本文介绍如何将Ubuntu主机添加到Samba4AD域,实现使用域账号登录Ubuntu系统。要求:在Ubuntu系统上使用Samba4软件创建活动目录架构步骤一:将Ubuntu系统添加到Samba4AD之前的基本配置1.将Ubuntu主机添加到ADDC之前,首先要保证一些服务配置没问题。主机名是您机器的重要标识符。因此,在加入域之前,使用hostnamectl命令或通过手动编辑/etc/hostname文件为Ubuntu主机设置一个合适的主机名。#hostnamectlset-hostnameyour_machine_short_name#cat/etc/hostname#hostnamectl设置系统主机名2.在这一步中,打开并编辑网卡配置文件,为您的主机设置合适的IP地址。请注意,DNS地址设置为域控制器的地址。编辑/etc/network/interfaces文件,添加dns-nameservers参数,设置为AD服务器的IP地址;添加dns-search参数,其值为域控制器的主机名,如下图所示。并且,将上面设置的DNSIP地址和域名添加到/etc/resolv.conf配置文件中,如下图:为AD配置网络设置上图中192.168.1.254和192.168.1.253为Samba4ADDC服务器的IP地址,Tecmint.lan是AD域名,所有加入该域的机器都可以查询该域名。3、重启网卡服务或重启电脑,使网卡配置生效。使用ping命令加域名查看DNS解析是否正常。ADDC应返回的是FQDN。如果您的网络有一个DHCP服务器配置为自动为LAN上的计算机分配IP地址,请确保您已将ADDC服务器的IP地址添加到DHCP服务器的DNS配置中。#systemctlrestartnetworking.service#ping-c2your_domain_name4.最后一步是配置服务器时间同步。安装ntpdate包,使用以下命令查询和同步ADDC服务器的时间。$sudoapt-getinstallntpdate$sudontpdate-qyour_domain_name$sudontpdateyour_domain_nameAD服务器时间同步5、接下来在Ubuntu机器上执行以下命令,安装加入域环境所需的软件。$sudoapt-getinstallssambakrb5-configkrb5-userwinbindlibpam-winbindlibnss-winbind在Ubuntu机器上安装Samba4软件在Kerberos软件包安装过程中,您将被要求输入默认域名。输入大写的域名,回车继续安装。添加AD域名6.安装完所有软件包后,使用域管理员帐号测试Kerberos认证,然后执行以下命令列出票证信息。#kinitad_admin_user#klist使用AD检查Kerberos身份验证是否有效第2步:将Ubuntu主机添加到Samba4ADDC7将Ubuntu主机添加到Samba4ActiveDirectory域环境的第一步是编辑Samba配置文件。备份安装Samba软件时自动生成的Samba默认配置文件,使用如下命令重新初始化配置文件。#mv/etc/samba/smb.conf/etc/samba/smb.conf.initial#nano/etc/samba/smb.conf将以下内容添加到新的Samba配置文件中:[global]workgroup=TECMINTrealm=TECMINT.LANnetbiosname=ubuntusecurity=ADSdnsforwarder=192.168.1.1idmapconfig*:backend=tdbidmapconfig*:range=50000-1000000templatehomedir=/home/%D/%Utemplateshell=/bin/bashwinbindusedefaultdomain=truewinbindofflinelogon=falsewinbindnssinfo=rfc2307winbindenumusers=yeswinbindenumgroups=yesvfsobjects=acl_xattrmapaclinherit=Yesstoredosattributes=YesSamba服务的AD环境配置根据你本地实际情况替换workgroup、realm、netbiosname和dnsforwarder的参数值。因为winbindusedefaultdomain参数会导致winbind服务将任何登录系统的账户都当作AD账户对待。因此,如果本地账户名与域账户名相同,请不要设置该参数。8、现在,你应该重新启动Samba后台服务,停止并卸载一些不需要的服务,然后启用samba服务的全系统功能,使用下面的命令来完成。$sudosystemctlrestartsmbdnmbdwinbind$sudosystemctlstopsamba-ad-dc$sudosystemctlenablesmbdnmbdwinbind9。使用以下命令使用域管理员帐户将Ubuntu主机添加到Samba4ADDC。$sudonetadsjoin-Uad_admin_user将Ubuntu主机加入Samba4ADDC10,在安装了RSAT工具的Windows机器上打开ADUC,扩展到包含的计算机。您可以看到加入域的Ubuntu计算机。确认Ubuntu电脑已经加入WindowsADDC第三步:配置AD账号认证11、为了在本地完成AD账号认证,需要在本机修改一些服务和配置文件。首先,打开并编辑名称服务开关(NSS)配置文件。$sudonano/etc/nsswitch.conf然后在passwd和group行添加winbind值,如下图:passwd:compatwinbindgroup:compatwinbind配置AD账号认证12.为了测试Ubuntu机器是否加入域,你可以使用wbinfo命令列出域帐户和组。$wbinfo-u$wbinfo-g列出域账户和组13.同时使用getent命令加上管道符和grep参数过滤指定的域用户或组,测试Winbindnsswitch模块是否正常运行.$sudogetentpasswd|grepyour_domain_user$sudogetentgroup|grep'domainadmins'查看AD域用户和组14.为了让域账户在Ubuntu机器上完成认证登录,需要使用root账户运行pam-auth-update命令,然后勾选winbind服务Required选项,以便在登录时自动为每个域帐户***创建一个主目录。查看所有选项,按“[Space]”进行选择,单击“确定”应用更改。$sudopam-auth-update使用域账号登录Ubuntu主机15.在Debian系统中,如果想让系统自动为登录的域账号创建家目录,需要手动编辑/etc/pam.d/common-account配置文件,添加如下内容。sessionrequiredpam_mkhomedir.soskel=/etc/skel/umask=0022使用域账号登录Debian系统16.为了让AD用户在Linux命令行修改密码,需要打开/etc/pam.d/common-password配置文件,删除password行的use_authtok参数,如下图:password[success=1default=ignore]pam_winbind.sotry_first_pass允许域账户在linux命令行下修改密码17.使用Samba4AD账号登录Ubuntu主机,运行su-后面加上域用户名即可。还可以通过id命令查看AD账号的其他信息。$su-your_ad_user查看AD用户信息使用pwd命令查看域账户的当前目录,如果要修改域账户的密码,可以使用passwd命令完成。18、如果想让域账户在ubuntu机器上有root权限,可以使用如下命令将AD账户加入sudo系统组:$sudousermod-aGsudoyour_domain_userlogin域账户登录ubuntu主机,以及然后运行apt-get-update命令更新系统,验证域账户是否有root权限。为域账户添加root权限19、为整个域用户组添加root权限,使用vi命令打开编辑/etc/sudoers配置文件,如下图,添加如下内容:%YOUR_DOMAIN\\your_domain\groupALL=(ALL:ALL)ALL向域帐户组添加root权限使用反斜杠转义包含在域用户组名称中的空格,或转义最后一个反斜杠。在上面的示例中,TECMINT域的域用户组名称是“domainadmins”。前导%表示我们指定的是用户组而不是用户名。20、如果你使用的是图形界面的Ubuntu系统,想使用域账号登录系统,需要修改LightDM显示管理器,编辑/usr/share/lightdm/lightdm.conf。d/50-ubuntu.conf配置文件,添加如下内容,然后重启系统生效。greeter-show-manual-login=truegreeter-hide-users=true现在您可以使用域帐户登录Ubuntu桌面了。使用域用户名或域用户名@域名.tld或域名\域用户名登录系统。
