结合window2008活动目录,配置samba,用户名和密码认证来自活动目录

活动目录:它是面向windows server操作系统的一种目录服务。在活动目录中,所有的网络对象信息以一种结构化的数据存储方式来保存,使得管理员和用户能够轻松的查找和使用这些信息。活动目录以这种结构化的数据存储方式作为基础,对目录信息进行合乎逻辑的分层组织。
参考博客:
 

(1)配置Active Directory域服务
在开始菜单-->运行-->输入命令“dcpromo”点击“确定”按钮
弹出 Active Directory 域服务安装向导,并点击“下一步”按钮
-->下一步-->选择“在新建林中新建域”-->输入域名“sn.com”-->
选择"windows server 2008 R2"-->点击“是”继续安装-->输入Administrator密码和确认密码,点击“下一步”-->完成后重启

(2)更改IP地址
10.10.54.88
255.255.255.0202
10.10.54.254
首选DNS:202.102.224.68

(4)将samba加入windows域
什么是域?一台windows计算机,要么隶属于工作组,要么隶属于域。
工作组就是将不同的电脑按功能分别列入不同的组中,以方便管理。
与工作组不同,域是一个相对严格的组织,至少需要一台安装了windows NT/2000/2003/2008 Server版本的计算机充当DC(域控制器),来实现集中式管理。加入到域的计算机在登录时使用DC上的账户(即域用户)和密码来登录,不使用本地账户登录。如果使用本地账户登录,就不能访问域中的共享资源
//修改samba配置文件
[root@nan81 ~]# vim /etc/samba/smb.conf
[global]
workgroup = SN			--指定域名或者工作组名,就是“.com”之前的名字。我的是sn.com,即写SN
hosts allow = 10.10.54.*        --指定哪个网段可以访问
security = ads			--指定samba的安全模式
				--当samba服务器加入window AD域时使用该模式,也是将验证工作交给windows域控制器负责,使用这个模式需要在samba服务器上安装Kerberos。注意,在这个模式中,samba是作为一个域成员,并不是AD域控制器。asd参数验证方式必须配合realm参数。
realm = SN.COM			--域名
password server = 10.10.54.88	--NT服务器IP

[share]
comment= public
path = /windows
writable = yes

(5)安装配置Kerberos
Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信安全的手段进行身份验证。
[root@nan81 ~]# vim /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 = SN.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
[realms]
 SN.COM = {
  kdc = 10.10.54.88:88
  admin_server = 10.10.54.88:749
default_domain = SN.COM
 }
[domain_realm]
 .sn.com = SN.COM
 sn.com = SN.COM
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
//验证kerberos是否正确
[root@nan81 ~]# kinit administrator
Password for [email protected]: 

(6)配置winbind
winbind是samba的一个组件,实现微软的RPC调用、可插式验证模块和名字服务切换,通过这些服务使NT域用户能在linux主机上以linux用户身份进行操作。
[root@nan81 ~]# vim /etc/samba/smb.conf
 	idmap uid = 10000-20000
        idmap gid = 10000-20000
        winbind separator = /
        idmap backend = tdb

        winbind enum users =yes
        winbind enum groups =yes
        winbind use default domain =yes
        winbind rpc only = yes
[root@nan81 ~]# vim /etc/sysconfig/samba 
SMBDOPTIONS="-D"
NMBDOPTIONS="-D"
WINBINDOPTIONS="-D"

(7)将samba加入域
[root@nan81 samba]# vim /etc/hosts
10.10.54.81 nan81.sn.com nan81 
[root@nan81 ~]# vim /etc/resolv.conf 
nameserver 10.10.54.88
[root@nan81 ~]# net ads join -U administrator
Enter administrator's password:
Using short domain name -- SN
Joined 'NAN81' to dns domain 'sn.com'

[root@nan81 ~]# /etc/init.d/smb restart
[root@nan81 ~]# /etc/init.d/nmb restart
[root@nan81 ~]# /etc/init.d/winbind restart

(8)配置NSS
Name Service Switch(NSS)名字服务转换是很多linux/UINX操作系统所具有的功能。使用它可以从不同的资源中解析系统信息,如主机名、邮件别名和用户信息等。
在解析linux用户名和组时,使用NSS应用编程接口的winbind就像一个系统信息源。而另一方面,它通过使用MSRPC调用获得NT服务器的信息,并使用上述的接口提供一套新的账户信息表。只要运行winbind的linux主机上查阅一次用户和组信息,就可以像在本地一样查看NT域及其托域在内的所有用户和组信息。
[root@nan81 ~]# vim /etc/nsswitch.conf 
passwd:     files winbind
shadow:     files winbind
group:      files winbind

当一个linux应用程序产生一个查询请求时,会在该文件中查找与所请求的服务类型相匹配的行。然后按照配置顺序,先装入/lib/libnss_file.so,使用这个模块处理请求,再装入/lib/libnss_winbind.so,再使用这个模块处理请求,处理完把结果返回给应用程序。

(9)从winbind守护进程查询信息
[root@nan81 ~]# wbinfo -t
checking the trust secret for domain SN via RPC calls succeeded
--如果出现错误,启动winbind服务
[root@nan81 ~]# /etc/init.d/winbind restart
--从域中删除samaba,执行下面的命令
net ads leave -U administrator

(10)测试
在windows server2008网路输入://10.10.54.81
进入share进行操作
或者
[root@nan81 ~]# smbclient //10.10.54.81/share -Uadministrator
进行操作


你可能感兴趣的:(结合window2008活动目录,配置samba,用户名和密码认证来自活动目录)