欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Linux加入windows ad域步骤详解(winbindsamba方案)

程序员文章站 2023-11-25 17:39:34
linux加入域中,一般都会想到加入ldap中,这样管理起来方便,不过在linux下ldap配置起来可不是很容易的,在企业办公环境中一般windows ad域占据霸主地位,...

linux加入域中,一般都会想到加入ldap中,这样管理起来方便,不过在linux下ldap配置起来可不是很容易的,在企业办公环境中一般windows ad域占据霸主地位,配置方便嘛,针对生产环境的linux集群机器才会选择ldap,不过有时候在办公环境中也混杂了linux机器,为了规范管理,也是需要把linux机器加入window是 ad中的。

linux加入windows ad中方便操作的有两种方案(分为centos/ubuntu两种情况)。都说了是方便操作,那必然是懒人的首选方法了。

1 likewise-open

在debian/ubuntu中使用,可以使用apt安装,配置方便,但是由于likewise的公司被收购,likewise的相关产品不再是开源产品,更杯具的是网上连以前的源码包都找不到,还好ubuntu中目前还是可以通过apt安装的。

2 winbind+samba

在centos上使用,之前下载了一份ubuntu上的likewise的源码在centos上编译发现相关底层库有些小问题,顾在centos上采用winbind+samba方案。

在ubuntu下使用likewise真是十分方便,apt安装完后,两条命令就可以把机器加入windows ad中,如下:

复制代码 代码如下:

domainjoin-cli join your-domain-name administrator
lwconfig assumedefaultdomain true

所以,本文主要实验centos加入windows ad的情况

实验环境:centos6.4

安装相关依赖包

复制代码 代码如下:

yum install krb5-libs krb5-devel pam_krb5 krb5-workstation krb5-auth-dialogyum install samba-winbind samba samba-common samba-client samba-winbind-clients

安装完相关软件后,可以使用authconfig-tui命令进行图像化配置,其实图像化配置也就是修改几个文件而已:

复制代码 代码如下:

nsswitch.conf
#/etc/nsswitch.conf
passwd:     files winbind
shadow:     files winbind
group:        files winbind

以上配置的意思是先通过文件配置验证,然后再进行winbind验证

2 smb.conf

复制代码 代码如下:

#/etc/samba/smb.conf  域名一定得大写 
[global]  
    workgroup = your-domian  
    password server = 172.16.14.20  
    realm = your-domian  
    security = ads  
    idmap config * : range = 16777216-33554431  
    template shell = /bin/bash  
    winbind use default domain = true  
    winbind offline logon = true  
    template homedir = /home/%u  
    winbind separator = /  
    winbind enum users = yes
    winbind enum groups = yes

切记你的域名一定得大写

3 krb5.conf

复制代码 代码如下:

#/etc/krb5.conf  域名必须得大写  
[logging]
    default = file:/var/log/krb5libs.log
    kdc = file:/var/log/krb5kdc.log      
    admin_server = file:/var/log/kadmind.log
[libdefaults]
    default_realm = your-domian
    dns_lookup_realm = false
    dns_lookup_kdc = false
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
[realms]     
    your-domian = {
        kdc = 172.16.14.20    #ad域服务器地址
    } 
[domain_realm]
    your-domian = your-domian     
    .your-domian = your-domian

重启相关服务

复制代码 代码如下:

/etc/init.d/smb    restart/etc/init.d/winbind    restart

现在把机器加入ad域中:

复制代码 代码如下:

net ads join -u administrator

回车后需要输入ad域的管理员密码,加入域之后可以通过wbinfo命令进行验证。

在用域账号登陆时,在目的机器上因为没有相关账号,所以域账号是没有家目录的,需要在域账号登陆时自动建立相关家目录

在以下两个文件中加入如下内容:session     required      pam_mkhomedir.so umask=0022 skel=/etc/skel/ silent

复制代码 代码如下:

/etc/pam.d/system-auth/etc/pam.d/sshd

这样在通过ssh登陆时,系统会自动创建域账号的家目录。
pam模块在/lib64/security目录里面。