环境简单架构图:
使用AD的原因就是统一linux和windows密码,密码不同确实很头疼,经常有用户会问密码,还有用户会将密码搞错,所以用AD统一管理会解决这个问题,具体如下:
一、 将centos系统加入AD域
1、安装工具:
yum install -ysssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-toolskrb5-workstation openldap-clients policycoreutils-python
2、配置dns
3、加域:
realm join --automatic-id-mapping=no --user=administratoreda.local
4、修改为短用户名:
由于CentOS中默认使用完整用户名“administrator@example.com”,需要修改 /etc/sssd/sssd.conf 配置文件来达到使用短用户名的目的;
use_fully_qualified_names = False
fallback_homedir = /home/%u
重启服务使其生效;
systemctl restart sssd
加域成功后在linux系统中会自动生产UID和GID等信息,大部分AD用户会加很多windows组,在linux系统中的用户也会显示这些组;而且每个用户都能登录linux系统,对于IC公司来说存在一定的安全漏洞;我们可以在AD中设置用户的linux属性gidNumber和uidNumber这样就可以限制只有设置了linux属性的用户才能登录linux系统,而且在linux中用户group会比较干净只显示有gidNumber的group;另外也可以通过自定义uidNumber和gidNumber的方式将账号从nis或者ldap中迁移到AD中,做到用户的windows和linux的密码统一;要使用AD中的linux属性需要修改sssd的配置文件,在配置文件中将ldap_id_mapping 改成 False,然后清理缓存重启sssd服务器(rm -rf /var/lib/sss/db/*)
二、 配置Autofs
AD也可以集成autofs服务,通过AD来统一管理Autofs配置文件,通过AD的ADSI编辑器来创建和管理Autofs配置文件,如下已挂载home目录为例:
1、在AD上用ADSI编辑器创建autofs OU
2、使用ADSI编辑器创建nisMap
cn = auto.master
nisMapName = auto.master
3、创建nisMap atuo.home
cn = auto.home
nisMapName = auto.home
4、在auto.home 下创建nisObject(挂载点)
cn = /home
nisMapName = auto.home
nisMapEntry =-rw,hard,bg,intr,nfsvers=3,tcp 192.168.111.11:/home
8、auto.master CN 中创建挂载点指针,请右键单击 auto.master 并创建 一个新的 nisObject 对象
cn = /-
nisMapName = auto.master
nisMapEntry = auto.home
三、 修改sssd的配置文件,支持sssd管理autofs:
cat /etc/sssd/sssd.conf
[sssd]
domains = vastai.com
config_file_version = 2
services = nss, pam, autofs
[domain/eda.local]
ad_domain = eda.local
krb5_realm = EDA.LOCAL
realmd_tags = manages-system joined-with-samba
cache_credentials = False
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/tcsh
ldap_id_mapping = False
use_fully_qualified_names = False
fallback_homedir = /home/%u
access_provider = ad
autofs_provider = ad
ldap_autofs_search_base = ou=autofs,dc=eda,dc=local
ldap_autofs_map_object_class = nisMap
ldap_autofs_map_name = nisMapName
ldap_autofs_entry_object_class = nisObject
ldap_autofs_entry_key = cn
ldap_autofs_entry_value = nisMapEntry
清零缓存重启sssd服务
rm -rf /var/lib/sss/db/*
systemctl restart sssd
systemctl restart autofs
查看autofs是否生效:
automount -m