`
emcome
  • 浏览: 305000 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

整理:debian 下samba用windows 2003 AD进行身份验证成功

阅读更多

参考:http://bbs2.chinaunix.net/thread-968948-1-1.html

前几天使用ubuntu 8.04配置不成功,后来安装了debian,配置成功了。方法如下:
按照上面的参考文档我使用了第二种方法,也就是使用winbind。

1.实现环境
Debian 4.2+Samba 3.0 + Krb5
2.软件包安装
Samba及Krb5都是用新立得安装

3.Kerberos配置
Win2003系统默认通过Kerberos做身份验证,Kerberos验证需要安装Krb5软件包。配置文件及测试都很简单。Krb5的配置文件为/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 = TEST.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
TEST.COM = {
   kdc = dc.test.com:88
   admin_server = dc.test.com:749
   default_domain = TEST.COM
}

[domain_realm]
.test.com = TEST.COM
test.com = TEST.COM

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
4.SAMBA配置

[global]:
      workgroup = TEST
      netbios name = debian
      server string = Samba &ADS Test Server
      security = domain
      password server = dc.test.com
      preferred master = no
      domain master = no
      domain logons = no
       log file = /var/log/samba.log
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum groups = no
winbind enum users = no

注:此二行表示为是否在linux下添加AD帐号,只有加了此二行,在使用getent passwd和gentent group才能显示AD上面的帐号和组
winbind separator = /
winbind use default domain = yes
template homedir = /home/test/%U 注:此处可以自己设定在/home/%D/%U
template shell = /bin/bash


[homes]
      comment = User's Home Directories
       path = /home/test/%U   和上面 template homedir的值一样
       browseable = no
       valid users = %U

特别注意:此二处为一定要是%U,而不能使用%S ,%U 需要的客户端用户名即登录用户名,而%S是 当前共享名
      writable = yes

[A组]
        comment = Group A
        path = /usr/keynetsamba/a
        browseable = yes
        vaild users = @gpa
        writable = yes
        create mode = 755
        directory mode = 0755

[B组]
        comment = Group B
        path = /usr/keynetsamba/b
        browseable = yes
        vaild users = @gpb
        writable = yes
        create mode = 755
        directory mode = 0755



这些设置的一个简单的说明如下:

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

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

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

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

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

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

5. 配制NSS

Nss为Name Service Switch,控制帐号的验证修改/etc/nsswitch.conf文件,这样winbind能实现使用域上的用户,内容如下:

    passwd:         files winbind
    group:          files winbind
    shadow:         files winbind

    hosts:          files dns wins

    bootparams:nisplus [NOTFOUND=retum] files

    protocols:      db files
    services:       files
    ethers:         db files
    rpc:            files
    networks:       files dns
    netmasks:       files

    netgroup:       files

    publickey:      nisplus

    automount:      files
    aliases:        files nisplus

6.重启samba与winbind服务
    sudo /etc/init.d/samba restart
    sudo /etc/init.d/winbind restart

7.将debian加入2003域
    net rpc join -S dc.test.com -U administrator
如果遇到错误提示类似为: Failed to open /var/lib/samba/secrets.tdb
请执行:sudo chmod 777 /var/lib/samba/secrets.tdb

8. 确认Samba主机帐号在AD中正确注册
    wbinfo –t
    checking the trust secret via RPC calls succeeded
    说明主机信任已成功建立

    使用wbinfo -u列出AD中注册的帐号信息。Wbinfo –g可以返回AD中的组信息。

此时可以使用windows客户端来访问samba服务器了。

注:如果samba服务器上安装有iptables服务,而且filter链里的INPU 为DROP,请打开以下端口,方能正常使用samba服务:
TCP: 139,445
UDP:137,138
TCP:88(此为krb5验证端口)

 

分享到:
评论

相关推荐

    将samba加入到windows的ad域

    而Windows AD域是一个中央化的用户、计算机和其他资源的管理结构,它提供身份验证、授权和策略管理。 要将Samba服务器加入到Windows AD域,你需要以下步骤: 1. **安装Samba**:在你的Linux系统上安装Samba软件包...

    samba-ad-dc-integracion-servicios:在Debian 910上将Samba4集成服务部署为Active Directory域控制器(AD DC)的指南

    这涉及到在Linux环境中模拟Windows域服务,以便Linux和Windows客户端可以共享资源、进行身份验证和授权。 描述中的"此仓库已弃用"意味着原始的资源可能不再维护或更新,但新的内容可能在其他位置可用。虽然具体的新...

    Samba服务器配置入门手册.pdf

    Samba不仅提供了基本的资源共享功能,还支持高级特性如AD域集成、身份验证、权限管理等,使得Unix-like系统能够在复杂的企业网络环境中无缝对接Windows资源。此外,Samba的开放源代码特性允许开发者根据特定需求定制...

    Samba工具使用指南

    Samba需要单独的用户账户进行身份验证。可以使用`smbpasswd`命令来添加Samba用户: ``` sudo smbpasswd -a 用户名 ``` 然后设置密码: ``` sudo smbpasswd -e 用户名 ``` 四、启动Samba服务 安装并配置好Samba...

    samba-4.1.16

    1. 身份验证:Samba支持多种身份验证方法,包括匿名访问、本地Unix用户、Windows域用户(通过加入域)、以及NTLMv2加密认证。 2. 权限控制:通过设置共享权限,Samba可以限制特定用户或组对文件和目录的访问。 3. ...

    samba文件服务器应用实验

    3. **身份验证**:提供用户身份验证机制,确保数据的安全性。 4. **域集成**:能够集成到Windows域环境中,如AD(Active Directory)。 5. **高级权限管理**:支持复杂的文件和目录权限设置。 #### 三、Samba安装与...

    Samba 3.0.4(包含三个文件)

    4. **安全机制**:Samba 3.0.4支持多种安全机制,包括用户身份验证、加密通信以及NTLMv1/v2和Kerberos等认证协议。这确保了数据在传输过程中的安全性。 5. **域名服务**:在Samba 3.x版本中,引入了对Active ...

    Linux加入Windows域之完整操作步骤.doc

    成功加入域后,Linux系统现在可以识别域内的用户,并使用Kerberos进行身份验证。Samba服务也应被配置以允许域用户访问共享资源。在Samba配置文件`/etc/samba/smb.conf`中,确保有合适的共享设置,并配置`security = ...

    Linuxsamba.rar_Linux/Unix编程_Unix_Linux_

    此外,Samba还可以集成到Active Directory(AD)环境中,使Linux系统成为AD域的一部分,从而实现统一的身份验证和策略管理。这涉及使用`realmd`工具加入AD域,以及配置Samba以作为域控制器的成员。 总的来说,Linux...

Global site tag (gtag.js) - Google Analytics