域将您的Linux系统加入Active Directory并利用自动帐户可用性。

安装必要的rpm:

Yum install realmd oddjob-mkhomedir SSSD samba-common-tools

将计算机加入Active Directory:

domain join -v——computer-name=dhcp240——computer-ou=‘OU=Computers,OU=Systems Engineering,OU=IST,DC=ad,DC=bu,DC=edu’——user=[you]-adm——os-name=CentOS——os-version=7——automatic-id-mapping=no ad.bu.edu
  • ——计算机名称=—可选指定计算机名。Unix主机可以是任意长度,但Windows系统的LANMan限制为15个字符。请与您的管理员团队确认适当的计算机名称。
  • ——computer-ou =—放置在特定的OU中,否则将在默认组中。看到/tech/services/infrastructure/iam/directory/ad/intro/faqs/computer-administration/获取详细信息。
  • ——用户=—只有部门admin账号可以加入域。
  • ——automatic-id-mapping =没有—从AD/LDAP中获取用户id,不自动生成映射。为了与网络共享上文件所有权的现有全局UID号兼容,这是必要的。

更新/etc/sssd/sssd.conf与波士顿大学的细节:

  • #从Active Directory中使用UID和GID与BU特定的ID字段
  • ldap_id_mapping = False
  • ldap_user_gecos = displayName
  • Ldap_user_uid_number = bu-ph-index-id-numeric
  • Ldap_user_gid_number = bu-ph-index-id-numeric
  • #指定本地主目录
  • Fallback_homedir = /home/%u
  • #让帐户名只是username,而不是username@domain
  • Full_name_format = %1$s
  • #有助于找出LDAP查询正在做什么
  • #debug_level = 7

可选地更新/etc/sssd/sssd.conf以限制对特定帐户的登录访问:

  • Access_provider = simple
  • simple_allow_groups = BU_OIT_Everyone
  • 或者,
  • Access_provider = AD
  • #选择一个:
  • Ad_access_filter = (bu-ph-deptid=51*)
  • ad_access_filter = (|(sAMAccountName=moe)(sAMAccountName=larry)(sAMAccountName=curly))
  • ad_access_filter = (|(manager=CN=smith,OU=People,DC=ad,DC=bu,DC=edu)(manager=CN=jones,OU=People,DC=ad,DC=bu,DC=edu))

重新启动sssd并清除所有缓存信息

Systemctl restart SSSD;sss_cache - e

确认账户可见

  • genent passwd MOE
  • getent passwd larry


限制帐号登录权限:

由于所有帐户都是在活动目录中定义的,因此默认情况下所有帐户都可以登录到您的系统。您可以通过使用“simple”或“ad”access_provider两种不同的方式来限制这一点。这些方法有各种各样的优点和缺点,你应该在选择最适合你的方法之前考虑一下。

简单的access_provider:

根据指定组的成员限制/允许登录访问。

例子:

Access_provider = simple simple_allow_groups = groupname

优点:基于组成员限制访问的简单方法。缺点:不检查帐户是否活跃,即使帐户可能处于“过期”状态,仍然允许登录。

您可以通过以下操作确定simple_allow_groups的成员关系:

klist -k kinit -k ‘DHCP240$’替换为您的机器帐户) ldapsearch -H ldap:// list -adc1.ad.bu.edu -b "dc=ad,dc=bu,dc=edu" (&(objectCategory=group)(CN=[groupname]))“| grep成员:

Kinit -k获取作为域加入机器(存储在/etc/krb5.)的身份验证令牌Keytab和可查看运行/usr/bin/klist -k)。然后ldapsearch显示指定组的任何成员。团体本身可以通过澳门威尼斯人注册行动来决定

  • ldapsearch -H ldap:// list -adc1.ad.bu.edu -b " dc=ad,dc=bu,dc=edu " " (&(objectCategory=group)(CN=*)) “) ”

广告access_provider:

基于LDAP过滤器限制/允许登录访问,该过滤器根据目录查询/匹配选择成员。

例子:

access_provider =ad ad_access_filter = (bu-ph-deptid=51*) ad_access_filter = (|(sAMAccountName=moe)(sAMAccountName=larry)(sAMAccountName=curly)) ad_access_filter = (manager=CN=smith,OU=People,DC=ad,DC=bu,DC=edu)

优点:强大的方式指定谁可以访问,荣誉Active Directory帐户“过期”状态。缺点:复杂的语法很难理解,很难实现。

ad_access_filter可以包含通常在用户帐户条目中找到的任何内容,可以使用以下命令进行查询:

klist -k kinit -k ‘DHCP240$’替换为您的机器帐户) ldapsearch -oldif-wrap=no -H ldap://ist-adc1.ad.bu.edu -b "dc=ad,dc=bu,dc=edu" “(samaccountname=[some-account])”

注意:sssd_ad的手册页显示了在过滤器中使用memberOf的示例。在波士顿大学,由于我们受FERPA的保护,会员数据是不可用的。但是上面samaccountname=查询中看到的任何其他数据都可以在ad_access_filter中使用

有关搜索过滤器语法的示例,请参见https://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx