结合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 administrator@SN.COM: 

(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
进行操做
相关文章
相关标签/搜索