Debian下AD域配置及检查方法

一、软件包

  • 使用samba+winbind的方式。(也可以使用sssd+samba的方式)
  • 必要的软件包:krb5-config krb5-user winbind libpam-winbind libnss-winbind
    • krb5-config krb5-user:用于配置krb5配置信息
    • libpam-winbind libnss-winbind:用于映射AD域服务用户、用户组信息至本地
    • winbind:守护进程,用于缓存AD映射至本地的用户信息

二、配置

  1. 配置smb.conf,注意ID映射部分的处理,主要看global部分即可,配置samba主要用于使用AD域访问samba服务。
  [global]
       realm = ADSERV.COM    # AD域名信息
       winbind cache time = 1
       idmap config ADSERV : range = 100000-200000  # 指定AD域用户的id映射范围(重要)
       winbind use default domain = true
       template homedir = /home/%U
       printcap name = /dev/null
       idmap config ADSERV : backend = rid   # 指定AD域用户存放数据库
       template shell = /sbin/nologin
       winbind enum users = yes
       Guest account = nobody
       security = ads
       winbind offline logon = true
       winbind enum groups = yes
       idmap config * : backend = tdb  # 指定AD域用户存放数据库
       log level = 0
       strict locking = no
       winbind separator = /
       load printers = no
       workgroup = ADSERV
       printing = bsd
       max xmit = 4194304
       case sensitive = yes
       cups options = raw
       log file = /var/log/samba/log.%%m
       store dos attributes = yes
       idmap config * : range = 70000-99999    # 普通用户的id映射范围
       max log size = 5
  1. /etc/nsswitch.conf,增加winbind信息,注意不要覆盖了sss信息,否则会导致sssd服务无法使用。

  2. passwd:         files sss winbind
    group:          files sss winbind
    shadow:         files sss winbind
    gshadow:        files
    
    hosts:          files dns
    networks:       files
    
    protocols:      db files
    services:       db files sss  # 添加sss信息
    ethers:         db files
    rpc:            db files
    
    netgroup:       nis sss  # 添加sss信息
    
    • 修改命令参考:sed -i “s/passwd.*/& winning/” /etc/nsswitch.conf
  3. 配置krb5.conf,下面是模板之间参考即可,只需替换相应的ip及域名即可。
    [logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log

    [libdefaults]
    default_realm = ADSERV.COM
    dns_lookup_realm = false
    dns_lookup_kdc = true
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
    
    [realms]
    ADSERV.COM = {
    	    kdc = 172.16.19.193
    	   admin_server = 172.16.19.193
    	     default_domain =ADSERV.COM
    	}
    
    [domain_realm]
    .adserv.com = ADSERV.COM
    adserv.com = ADSERV.COM
    
    [appdefaults]
    pam = {
    	debug = false
    	ticket_lifetime = 36000
    	renew_lifetime = 36000
    	forwardable = true
    	krb4_convert = false
    	}
    
  4. 配置pam认证信息,该部分主要用于AD用户登录linux时的认证

    1. 编辑/etc/pam.d/common-password,将默认的use_authtok去掉
      password [success=1 default=ignore] pam_winbind.so try_first_pass
    2. 编辑/etc/pam.d/common-account,增加以下信息
      session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
    3. 编辑/etc/pam.d/common-session,增加以下信息
      session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
  5. 配置dns,因为第二步中nsswitch指定走dns认证,增加AD域ip信息
    vim /etc/resolv.conf
    nameserver adip

  6. 配置hosts,添加AD域信息,⚠️是增加ip 域名的关系
    adip dn

  7. 以上信息配置完成只需加入命令
    # 加入AD域
    net ads join -U username@domain%passwd

    # 重启winbind服务,更新AD域用户信息
    systemctl restart winbind
    
    # 重启smbd、nmbd服务,更新AD域信息
    systemctl restart smbd
    systemctl restart nmbd
    
    # 使用wbinfo -t检查是否已加入
    

三、检查配置是否生效

  1. 使用wbinfo -t检查是否已成功加入AD域。

  2. 使用getent查询用户及用户组信息
    # 查询AD服务用户信息getent passwd + 用户名,不指定则查询所有,如
    getent passwd test1
    getent passwd

    # 查询AD服务器用户组信息getent group + 组名,不指定则查询所有,如
    getent group "domain users"
    getent group
    
  3. 使用id + 用户名,查询域服务器用户信息
    id test1

  4. 以上检查均正常,则表示AD域已成功加入,并且用户信息已成功映射至本地。

遇到的问题

  1. 加入了AD域,创建了samba服务,却无法登录。
    • 缺少安装包:libpam-winbind libnss-winbind,导致无法映射用户信息至本地,登录失败。
  2. ssh无法登录系统,由于未安装pam相关软件包,却配置了/etc/pam.d/common-account、common-session等认证信息,导致登录失败,安装对应包即可解决。
  3. 通常samba无法登录都是由于用户信息为正常映射或用户id与本地用户id冲突导致,参考以上方式解决即可。

配置参考

  • https://blog.51cto.com/yangzhiming/2164955
  • https://www.jianshu.com/p/fd18ac8c7c52
要将Debian 11加入Windows Server AD,您需要执行以下步骤: 1. 确保Debian 11系统已安装samba和winbind软件包: ``` sudo apt-get update sudo apt-get install samba winbind ``` 2. 配置samba和winbind服务: 编辑smb.conf文件,将以下内容添加到文件的底部: ``` [global] workgroup = YOUR_DOMAIN_NAME security = ads realm = YOUR_DOMAIN_NAME.COM password server = YOUR_DOMAIN_CONTROLLER_IP idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = yes winbind enum groups = yes winbind use default domain = yes template homedir = /home/%U template shell = /bin/bash ``` 注意:将YOUR_DOMAIN_NAME、YOUR_DOMAIN_NAME.COM和YOUR_DOMAIN_CONTROLLER_IP替换为您的名和域控制器的IP地址。 3. 将Debian系统加入Windows AD: 运行以下命令以加入: ``` sudo net ads join -U administrator ``` 在提示输入管理员密码时,请输入管理员密码。 4. 配置PAM和NSS: 编辑/etc/nsswitch.conf文件,并确保以下行包含在文件中: ``` passwd: compat winbind group: compat winbind shadow: compat winbind ``` 编辑/etc/pam.d/common-session文件,并将以下行添加到文件的底部: ``` session required pam_mkhomedir.so skel=/etc/skel umask=0077 session optional pam_winbind.so ``` 5. 重启samba和winbind服务: ``` sudo systemctl restart smbd sudo systemctl restart winbindd ``` 现在,您的Debian 11系统已成功加入Windows Server AD。您可以使用用户的凭据进行身份验证并访问资源。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值