分类: LINUX
2010-01-20 10:39:07
windows配置: IP 172.16.210.3 电脑名称为win2003,域控制器,域名为mkchen.com
Linux配置: IP 172.16.210.1 电脑名称为pdc.mkchen.com 系统为redhat AS 4 .2,SAMBA版本为3.0.10-1.4E.2
1。向Linux的/etc/hosts文件中添加下面一行:
172.16.210.3 win2003.mkchen.com win2003
向windows AD的c:\windows\system32\drivers\etc\hosts中添加下面一行
172.16.210.1 pdc pdc.mkchen.com
2。配置winbind服务
vi /etc/nsswitch.conf,修改如下两行,使winbind成为passwd和group的认证信息源
passwd:files winbind
shadow:files
group: files winbind
使用 ldconfig 命令使刚才的配置生效,并重起winbind服务 service winbind restart
3。 配置kerberos windows2003默认使用kerberos做验证
vi /etc/krb5.conf 做如下后修改,注意大小写
[libdefaults]
default_realm = MKCHEN.COM
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
MKCHEN.COM = {
kdc = 172.16.210.3:88
default_domain = mkchen.com
}
[domain_realm]
.mkchen.com = MKCHEN.COM
mkchen.com = MKCHEN.COM
4 。用kinit工具对活动目录进行连接测试。两台服务器时间相差不能超过5分钟,否则会出错
kinit
#域名必需大写
输入administrator的密码,如没有任何提示,则表示测试成功
5。 配置samba
修改/etc/samba/smb.conf,修改如下
[global]
workgroup = MKCHEN
netbios name = pdc
realm = MKCHEN.COM
security = ADS
encrypt passwords = yes
os level = 20
idmap uid = 10000-20000
idmap gid = 10000-20000
password server = 172.16.210.3
winbind use default domain = yes
winbind separator = + #域名和帐号的分隔符相当于windows的\
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%D/%U #用户的个人文件夹,可不用
重起 smb service smb restart
6. 把linux 加入到AD中
#net ads join -U
password:
Using short domain name -- MKCHEN
Joined 'PDC' to realm 'MKCHEN.COM'
如出现以上提示,则表示成功加入到AD中,此时在活动目录中可以看到pdc这台主机
启动winbind服务 service winbind restart
运行wbinfo –u 查看AD上的所有用户信息
运行wbinfo –g ,查看AD上的组的信息
7。 建立共享文件夹
[pub]
path = /mnt
valid users = "MKCHEN+user1","MKCHEN+Domain Users"
#允许AD上的user1用户和Domain Users组的用户访问
public = yes
writable = yes
create mask = 0765
directory mask = 0765
lsdaniel2011-10-20 09:48:39
http://bbs.chinaunix.net/viewthread.php?tid=2305773&page=1&extra=#pid21566040
按上面链接中的方法配置成功,可以将samba加入到域中,也可以进行域用户认证,在我这里存在3个问题:
1、提示DNS无法注册或更新失败;
2、使用mkhome.sh进行根目录创建时,在smb.conf中传过去的%G变量无效,创建出来的目录权限是:%U:root,通过域用户登录samba后,在其家目录下创建的文档为: %U:domain user,我想是不是因为在域中的用户缺省组是domain user,而中间又有一个空格,导致mkhome.sh获取的组是domain,而在getent -u 中又没有这个组,就用roo