当前位置: 首页 > 科技观察

使用SSSD和Realm将Ubuntu集成到Samba4ADDC

时间:2023-03-14 14:45:30 科技观察

本教程将向您展示如何使用SSSD和Realm服务将Ubuntu桌面计算机加入Samba4ActiveDirectory域以对ActiveDirectory中的用户进行身份验证。要求:在Ubuntu上使用Samba4创建ActiveDirectory基础结构步骤1:初始配置1.在将Ubuntu添加到ActiveDirectory之前确保主机名设置正确。使用hostnamectl命令设置机器名称或手动编辑/etc/hostname文件。$sudohostnamectlset-hostnameyour_machine_short_hostname$cat/etc/hostname$hostnamectl2.接下来,编辑机器网络接口设置并添加适当的IP设置并将正确的DNSIP服务器地址指向SambaActiveDirectory域控制器,如下图所示。如果您已经将DHCP服务配置为自动为LAN机器分配IP设置,包括适当的ADDNSIP地址,那么您可以跳过此步骤。设置网络接口在上图中,192.168.1.254和192.168.1.253代表Samba4域控制器的IP地址。3.使用GUI(图形用户界面)或命令行重新启动网络服务以应用更改,并向您的域名发出一系列ping请求以测试DNS解析是否按预期工作。也可以使用host命令来测试DNS解析。$sudosystemctlrestartnetworking.service$hostyour_domain.tld$ping-c2your_domain_name$ping-c2adc1$ping-c2adc24,***,确保机器时间与Samba4AD同步。安装ntpdate包,使用以下命令与AD同步时间。$sudoapt-getinstallntpdate$sudontpdateyour_domain_name步骤2:安装所需的软件包5.此步骤将安装将Ubuntu加入Samba4ActiveDirectory域控制器所需的软件和依赖项:Realmd和SSSD服务。$sudoaptinstalladclirealmdkrb5-usersamba-common-binsamba-libssamba-dsdb-modulessssdsssd-toolslibnss-ssslibpam-ssspackagekitpolicykit-16。以大写形式输入默认域名,然后按Enter键继续安装。输入领域名称7.接下来,创建一个包含以下内容的SSSD配置文件。$sudonano/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=decmint.realm=manages-systemjoined-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请确保将以下参数的域名相应地替换为:domains=tecmint.landdefault_domain_suffix=TECMINT.LAN[domain/tecmint.lan]ad_domain=tecmint.lankrb5_realm=TECMINT.LAN8然后,使用以下命令配置SSSD适当的文件权限:$sudochmod700/etc/sssd/sssd.conf9.现在,打开并编辑Realmd配置文件并输入以下行:$sudonano/etc/realmd.confrealmd.conf文件摘录:[active-directory]os-name=LinuxUbuntu-version=17.04[service]automatic-install=yes[users]default-home=/home/%d/%udeault-shell=/bin/bash[tecmint.lan]user-principal=yesfully-qualified-names=no10,***需要修改后的文件属于Samba守护进程。打开/etc/samba/smb.conf文件进行编辑,然后在文件开头添加如下代码。[global]后面的部分如下图所示。workgroup=TECMINTclientsigning=yesclientusespnego=yeskerberosmethod=secretsandkeytabrealm=TECMINT.LANsecurity=ads配置SambaServer确保替换域名值,尤其是域名对应的realm值,并运行testparm命令验证配置文件是否包含错误。$sudotestparm测试Samba配置11.进行所有必需的更改后,使用AD管理员帐户验证Kerberos身份验证并使用以下命令列出票证。$sudokinitad_admin_user@DOMAIN.TLD$sudoklist验证Kerberos身份验证步骤3:将Ubuntu加入Samba4Realm12,键入以下命令将Ubuntu计算机加入Samba4ActiveDirectory。使用具有管理员权限的ADDC帐户的名称,以便绑定领域按预期工作,并替换相应的域值。$sudorealmdiscover-vDOMAIN.TLD$sudorealmlist$sudorealmjoinTECMINT.LAN-Uad_admin_user-v$sudonetadsjoin-kJoinUbuntutoSamba4RealmListRealmDomaininformationAddusertoRealmDomainAddDomaintoRealm13,区域绑定后,运行以下命令确保允许所有域帐户在此计算机上进行身份验证。$sudorealpermit-all然后你可以使用realm命令作为下面的例子来允许或禁止域用户帐户或组访问。$sudorealmdeny-a$realmpermit--groups'domain.tld\LinuxAdmins'$realmpermituser@domain.lan$realmpermitDOMAIN\\User214。从安装了RSAT工具的Windows计算机上,您可以打开ADUC并浏览“计算机”容器,并验证是否已创建具有您的计算机名称的对象帐户。确保域已加入ADDC步骤4:配置AD帐户身份验证15.为了在Ubuntu机器上使用域帐户进行身份验证,您需要以root权限运行pam-auth-update命令并允许所有PAM配置文件,包括首次注册帐户时自动创建主目录的选项。按[Space]键验证所有配置项,然后单击确定应用配置。$sudopam-auth-updatePAM配置16.手动编辑系统上的/etc/pam.d/common-account文件。以下几行是为经过身份验证的域用户自动创建主目录。sessionrequiredpam_mkhomedir.soskel=/etc/skel/umask=002217,如果ActiveDirectory用户不能使用linux命令行修改密码,打开/etc/pam.d/common-password文件,去掉密码行的use_authtok语句,***如下:password[success=1default=ignore]pam_winbind.sotry_first_pass18,***,使用如下命令重启并启用修改Realmd和SSSD服务:$sudosystemctlrestartrealmdsssd$sudosystemctlenablerealmdsssd19,测试Ubuntu机器是否正常成功集成到realm中,安装winbind包并运行wbinfo命令以列出域帐户和组,如下所示。$sudoapt-getinstallwinbind$wbinfo-u$wbinfo-g列出域帐户20。同样,您可以使用getent命令来验证特定域用户或组的Winbindnsswitch模块。$sudogetentpasswdyour_domain_user$sudogetentgroup'domainadmins'查看WinbindNsswitch21.也可以使用linuxid命令获取AD账号信息,命令如下:$idtecmint_user查看AD用户信息22.使用su-后面跟domainusername参数即可验证Ubuntu主机Samba4AD帐户。运行id命令以获取有关AD帐户的更多信息。$su-your_ad_userAD用户认证使用pwd命令查看你的域用户当前工作目录,使用passwd命令修改密码。23、在Ubuntu上使用root权限的域账户,需要将AD用户名添加到sudo系统组,命令如下:$sudousermod-aGsudoyour_domain_user@domain.tld使用域账户登录Ubuntu,运行aptupdate命令更新您的系统以验证root权限。24、给一个域组root权限,使用visudo命令打开编辑/etc/sudoers文件,添加如下一行:%domain\admins@tecmint.lanALL=(ALL:ALL)ALL25。在Ubuntu桌面上使用域帐户要进行身份验证,请通过编辑/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf文件修改LightDM显示管理器,添加以下两行并重新启动lig??htdm服务或重新启动机器以应用更改。greeter-show-manual-login=truegreeter-hide-users=true域帐户使用“你的域用户”或“你的域用户@你的域”格式登录到Ubuntu桌面。26.要使用SambaAD帐户的缩写格式,请编辑/etc/sssd/sssd.conf文件并将以下行添加到[sssd]块。full_name_format=%1$s并重新启动SSSD守护程序以应用更改。$sudosystemctlrestartsssd您会注意到bash提示更改为AD用户名,但没有附加域名部分。27.如果因为sssd.conf中的enumerate=true参数设置导致无法登录,则必须使用以下命令清除sssd缓存数据:$rm/var/lib/sss/db/cache_tecmint.lan.ldb这就是全部!虽然本教程主要关注集成Samba4ActiveDirectory,但可以使用相同的步骤将使用Realm和SSSD服务的Ubuntu集成到MicrosoftWindowsServerActiveDirectory。