samba加入windows 2003域

 1。vi  /etc/resolv.conf 

nameserver           192.168.2.110

 linux 加入 windows 2003 域,也要在 Linux  DNS 服务器的地址指向 windows 域的 DNS 服务器,默认一般就是域控制器,如果没有在Linux中设置 DNS 服务器地址的话,在加入域时会提示:“Unable to find a suitable server”

2.vi  /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 = VENUS.COM  # 大写域名
dns_lookup_realm = false
dns_lookup_kdc = true

ticket_lifetime = 24h
forwardable = yes

[realms]
VENSU.COM = {  # 大写域名
kdc = 172.16.10.2:88  # 域伺服器IP
admin_server = 172.16.10.2:749  # 域伺服器IP
default_domain = venus.com   # 这里就不用大写了
}

[domain_realm]
.venus.com = VENUS.COM  # 域验证范围
venus.com = VENUS.COM

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

3.连接AD server
kinit [email protected]
Kerberos 的 kinit 命令将测试服务器间的通信,后面的域名VENUS.COM 是你的活动目录的域名,必须大写,否则会收到错误信息:
kinit(v5): Cannot find KDC for requested realm while getting initial credentials.

如果通信正常,你会提示输入口令,口令正确的话,就返回 bash 提示符,如果错误则报告:
kinit(v5): Preauthentication failed while getting initial credentials.
这一步代表了已经可以和AD server做沟通了,但并不代表Samba Server已经加入域了。

4.编辑/etc/samba/smb.conf

[global]
        workgroup = VENUS   # 一定要填自己的domain名称(大写)

netbios name = redhat  #你的linux主机名

idmap uid    = 15000-20000
        idmap gid    = 15000-20000
        winbind enum groups = yes
        winbind enum users  = yes
        winbind separator   = /

emplate homedir = /home/%D/%U
        template shell   = /bin/bash

参数解析:

idmap uid :指定一个uid范围,该范围内的uid被用来映射UNIX用户到windows用户SID,而且要确保这个id范围内没有被本地或者NIS用户占用,winbind启动以后,也不能在该ID范围内添加用户。

idmap gid  指定一个gid范围,该范围内的gid被用来映射UNIX用户到windows的组SID,而且要确保这个id范围内没有被本地或者NIS组占用,winbind启动以后,也不能在该ID范围内添加新组。

 winbind enum groupswinbind enum users  指定winbind是否在系统上创建域的组/用户,一般情况下都要设置为yes,除非你处于某种原因希望关闭该功能。

 winbind separator  指定一个字符作为分隔符,winbind将使用该分隔符来用户或组名。使用该配置将使得域用户表示为"MYDOMAIN+username",域组被表示为"MYDOMAIN+Domain Users"

template homedir  用来指定为域用户产生主目录。上面的示例中使用了变量替换,将使得winbind把用户主目录设置为/homes/MYDOMAIN/username

需要注意的是如果希望特定域或者所有域用户在samba目录有主目录,那么管理员必须手工创建,虽然template homedir控制samba在哪里寻找域用户的主目录,但是不会自动创建。

[homes]  

 comment = Home Directories

 path = /home/%D/%U  

 browseable = no 

  writable = yes 

  valid users = %U

5. 编辑 vi /etc/nsswitch.conf  
         passwd: files  winbind 
        group:  files winbind

6.[root @nuolin root~]# service  smb  restart             #启动 samba 服务

[root @nuolin root~]# service winbind restart           #启动 winbind 服务。

你如果要重启主机,就chkconfig smb on  chkconfig winbind on ,配置成随系统启动服务。

7. [root @nuolin root]# net rpc join -S pop.linux.com -U administrator

Password:******

Joined domain LINUX. # 现在可以试一下看是否成功

8.现在可以用kerbrose自带的命令来操作了验证是否可以连接域帐号。

[root @nuolin  root] # kinit [email protected] #注意域名的大小写。

Password:*******

[1]kinit(v5) : cannot find KDC for requested realm while getting initial credentials 

 修改krb5.conf中的dns_lookup_kdc = true,继续 。如果还出现这样的错误,就是域名问题。

[2] kinit(v5) : clock skew too great while getting initial credentials #两台主机之间时间不同步

 可以用 ntpdate  –b 192.168.2.110 (域服务器IP)时间同步一下。

 注:这里不一定要管理员的帐号,你也可以用域服务器一个帐号。如果没报错就成功了。

 现在可以到Windows 2003 服务器上检查一下:打开活动---目录用户和计算机,查看其中的[computers] 条目,如果成功的话,就可以看到你的 Linux 服务器的主机名。

9.Kinit [email protected] 命令。

10.先用 wbinfo –t 检查 RPC 连接是否成功;使用 wbinfo –u  wbinfo –g 获取 windows 上的用户和相关组。

11.用 getent passwd查看 是否已经获取成功。

12.restorecon -r /usr/sbin/winbindd

13.setsebool -P samba_enable_home_dir on

14.home 目录下建立 LINUX 域目录,在到 LINUX 下建立用户目录。使用 su  username 切换到用户的主目录。这时,就可以了。 虽然我们用的是administrator,但我们在设置shell  用的是bash,可能用户在linux主机里的权限相对较小。

你可能感兴趣的:(职场,samba,休闲,ad)