域将您的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