免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6421 | 回复: 2
打印 上一主题 下一主题

[samba] 如何使用winbind获取ad用户详细信息 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-30 17:20 |只看该作者 |倒序浏览
我已经使用了网上的教程将samba添加到windows的域里面,也用wbinfo -u 返回了相应域中的用户信息
但是我更想知道能否获取用户的详细信息,例如电话信息,请问有人做过这东西吗?
我已经使用过了wbinfo -i user来看了,但是返回来的信息没有显示相关信息

论坛徽章:
0
2 [报告]
发表于 2010-01-03 12:56 |只看该作者
我也正在寻找方法。。。。。。

论坛徽章:
0
3 [报告]
发表于 2010-01-14 10:08 |只看该作者
A、        安装Windows Server 2008 中文版企业版;


B、        安装Active Directory 域服务器(使用Dcpromo.exe 命令进行安装和配置);

1、主机名称:dc

2、IP地址:192.168.1.254

3、域名:nseasy.net

4、DNS服务器:dc.nseasy.net


C、        配置DNS服务器、组策略和建立域用户帐户;


D、        安装Centos 5.4中文版;

1、主机名称:smb.nseasy.net

2、IP地址:192.168.1.253


E、        配置NSS服务器控制帐号的验证,主要修改文件nsswitch.conf(存放路径:/etc/nsswitch.conf);

    passwd:       files     winbind
shadow:       files     winbind
group:         files     winbind
hosts:         files     dns       winbind
bootparams: nisplus [NOTFOUND=return] files
ethers:         db   files
netmasks:      files
networks:      files dns
protocols:      db   files
rpc:            files
services:       files
netgroup:      files
publickey:     nisplus
automount:    files
aliases:        files     nisplus








F、        配置kerberos服务器,主要修改文件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 = NSEASY.NET
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
NSEASY.NET = {
   kdc = dc.nseasy.net:88
   admin_server = dc.nseasy.net:749
   default_domain = nseasy.net
}

[domain_realm]
.nseasy.net = NSEASY.NET
nseasy.net = NSEASY.NET

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

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

修改 /var/kerberos/krb5kdc/kdc.conf  

[kdcdefaults]
acl_file = /var/Kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/word
admin_keytab = /var/Kerberos/krb5kdc/kadm5.keytab
v4_mode = nopreauth

[realms]
NSEASY.NET = {
Master_key_type = des-cdc-crc
Supported_enctypes = arcfour-hmac:normal arcfour-hma
G、        配置Samba服务器,主要修改文件smb.conf(存放路径:/etc/samba/smb.conf);

    [global]
  workgroup = NSEASY
  realm = NSEASY.NET
  netbios name = smb
  password server = dc.nseasy.net
  encrypt passwords = yes
  security = ads
server string = Samba Server %v
  idmap uid = 10000-20000
  idmap gid = 10000-20000
  winbind separator = /
  winbind enum users = Yes
  winbind enum groups = Yes
  winbind use default domain = Yes
winbind nested groups = Yes
  template homedir = /home/%U
template shell = /bin/bash
log file = /var/log/samba/%m.log
  max log size = 50
os level = 33
  socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
mangling method = hash2
display charset = cp936
  dos charset = cp936
  unix charset = cp936
client use spnego = yes
  domain master = no
  dns proxy = no
  preferred master = no
  client ntlmv2 auth = yes
     hosts allow = 192.168.1. 127.

[homes]
  comment = Home Directories
  path = /home/%U
  writable = yes
  browseable = no
valid users = %U
root preexec = /home/mkhome.sh %U %G

1、启动Samba服务器命令:service smb start(重生启动:service smb restart)

2、测试Samba服务器的文件配置情况使用testparm




3、配置system-auth文件,主要修改文件system-auth(存放路径:/etc/pam.d/system-auth);
   
    auth        required        pam_env.so
auth        sufficient       pam_unix.so likeauth nullok
auth        sufficient       pam_winbind.so use_first_pass
auth        required        pam_deny.so

account    required        pam_unix.so
account    sufficient       pam_succeed_if.so uid < 100 quiet
account    sufficient       pam_winbind.so use_first_pass
account    required        pam_permit.so

password   requisite       pam_cracklib.so retry=3 type=
password   sufficient      pam_unix.so nullok use_authtok md5 shadow
password   sufficient      pam_winbind.so use_first_pass
password   required       pam_deny.so

session     required       pam_winbind.so use_first_pass
session     required       pam_limits.so
session     required       pam_unix.so

4、配置sshd文件,主要修改文件sshd(存放路径:/etc/pam.d/sshd);

   auth          sufficient      pam_winbind.so
   auth          required       pam_stack.so service=system-auth
   auth          required       pam_nologin.so

   account      sufficient      pam_winbind.so
   account      required       pam_stack.so service=system-auth

   password     required       pam_stack.so service=system-auth

   session       required       pam_stack.so service=system-auth
   session       required       pam_limits.so
   session       required       pam_mkhomedir.so
   session       optional       pam_console.so


H、        完成 NSS服务器、kerberos服务器、Samba服务器配置工作后,重新启动操作系统;

1、# service smb restart
2、# service winbind restart
3、# reboot






I、        使用下列命令将Samba 加入到 Active Directory 域服务器,成为域成员服务器;

1、# kinit administrator@NSEASY.NET(使用kinit命令,初始化administrator域帐号和密码)

2、# net ads join -U administrator@NSEASY.NET(将Samba加入Active Directory域)

3、# wbinfo -t、# wbinfo -g、# wbinfo -u(使用wbinfo命令测试服务器连接、域组、域帐户情况)

4、# getent passwd # getent group(使用getent命令查询帐号的密码资料)

5、# net ads info、net getdomainsid(使用net命令进行查询Active Directory域基本资料和ID号码)

6、# smbclient -L smb.nseasy.net -U fandy(使用smbclient命令,测试域用户连接Samba服务器)

7、# ssh fandy@smb.nseasy.net(使用ssh命令,测试域帐户连接Samba服务器)


































1.自动创建用户目录

细心的朋友可能发现从开篇一直到现在除了操作方式不一定以外,所做的事情和<<linux加入windows域之完美方案>>没有太大的区别。嗯,笔者不置可否,估且这么理解吧。希望有点小细节您注意到了,在smb.conf中,有一句template shell = /sbin/nologin。是的,samba服务器,我们只希望他提供samba服务,不希望有用户登陆。在上一篇文章中解决用户登陆时主目录不存在的问题,用的是pam_mkhomedir.so这个东东。在文件共享这块,笔者意外的发现,这个文件,对于通过samba访问过来的请求不会创建主目录!这可如何是好?这就是脚本mkhome.sh存在的原因。

新建立mkhome.sh脚本:
#vi /home/mkhome.sh

#!/bin/bash
user=$1
group=$2
home=/home/$1

if [ ! -d $home ] ; then
mkdir -p $home
chown $user $home
chgrp $group $home
chmod 700 $home
edquota -p administrator -u $user
fi


更改文件权限设置:
# chmod 700 /home/mkhome.sh

这个脚本接受两个参数,一个是用户名,一个是组名。然后给这个用户创建目录,并分配权限,然后再给分配一下用户空间。Ok,回头看一下smb.conf文件。

[homes]
        comment = Home Directories
        path = /home/%U                           //共享的目录
        valid users = rainbird.net/%U               //认证的用户,前面必须加rainbird.net哟
        read only = No
        browseable = No
root preexec = /root/mkhome.sh %U %G     //执行创建目录的操作。

这段配置中最帅的就是这个mkhome.sh的存在。因为这个脚本的执行者是root,所以我们脚本的权限设置700即可。再往下我们将继续探索它的神奇魔力。写完这段保存一下,重启smb:service smb restart。这样,在一台xp的机器上,用域用户登陆,然后访问\\192.168.1.246,是不是看到了一个以你登陆的域用户名命名的一个文件夹呢?没错,就是它!你现在可以试下删写文件了。怎么有问题?有问题就自己检查一下,为什么吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP