今天下午没什么事情,就看了些关于如何整合linux samba服务器和Windows AD的文章。其实就是利用linux的winbindd服务来使用Windows AD为Samba进行用户认证。自己在操作的过程中,也遇到了错误,写下来,留个念想吧,:)
一.环境介绍
WINDOWS 2003 SERVER + AD
域名:exchange.umtest.local
ip地址: 192.168.0.117
账户: administrator
密码: R0ck1t
REDHAT AS 4 U4 + Kerbose 5 + Samba 3 (其实都是系统默认安装上的软件包)
机器名: TSM-SC
ip地址:192.168.0.235
账户: root
密码: 123456
二.开始配置
1. 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 = EXCHANGE.UMTEST.LOCAL (验证域的realm,必须全部大写) dns_lookup_realm = false dns_lookup_kdc = false
[realms] EXCHANGE.UMTEST.LOCAL = { kdc = 192.168.0.117:88 admin_server=192.168.0.117:749 default_domain = EXCHANGE.UMTEST.LOCAL }
[domain_realm] .exchange.umtest.local = EXCHANGE.UMTEST.LOCAL exchange.umtest.local = EXCHANGE.UMTEST.LOCAL
[kdc] profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false }
|
配置完成以后,可以通过kinit工具进行测试,方法如下:
如果配置正确,就会直接返回到shell。
Samba 和 MS AD 的系统时间相差不大于5分钟, 否则会出现下面的错误:
kinit(v5): Clock skew too great while getting initial credentials
|
2.Samba的配置
系统默认的配置文件在/etc/samba/smb.conf,如果是从源码包安装的,会在/usr/local/etc/smb.conf。 更改配置文件如下:
[global] workgroup = EXCHANGE (域的NETBIOS名字) netbios name = TSM-SC server string = Samba Server security = ADS (设置为AD验证) realm = EXCHANGE.UMTEST.LOCAL (验证域realm,必须大写) password server = 192.168.0.117 (PDC,这里就是AD服务器) encrypt passwords = yes
os level = 20 dns proxy = no
idmap uid = 10000-20000 idmap gid = 10000-20000 winbind use default domain = yes
winbind separator = / winbind enum users = yes winbind enum groups = yes
|
- 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,除非你处于某种原因希望关闭该功能
配置完成,你要将Samba加入AD中,命令如下:
然后重新启动samba
3. 配置NSS
Nss为Name Service Switch,控制帐号的验证。编辑/etc/nsswitch.conf,如下
passwd: files winbind
group: files winbind
|
配置完成,启动winbind服务,
4. 确认Samba主机帐号在AD中正确注册
使用wbinfo –t验证Samba主机已成功加入AD
# wbinfo –t checking the trust secret via RPC calls succeeded
说明主机信任已成功建立
|
如果得到如下的信息,重新运行一下#winbindd就可以解决
#wbinfo -t checking the trust secret via RPC calls failed error code was (0x0) Could not check secret
|
使用wbinfo –u 可以列出AD中注册的帐号信息。Wbinfo –g可以返回AD中的组信息。
用getent passwd 和getent group你可以看到本地服务器及域服务器上所有的用户及组的信息。
好了,到这里你访问samba服务器时,就需要正确输入域名了,形如:EXCHANGE\rwang,输入正确,就可以访问了。
饿死了,胃疼,还是先闪人了,以后再慢慢学习,添加新的东西。
5.解决访问samba时,个人目录的问题
在samba的配置文件中加入如下内容:
[global] template homedir=/homes/%D/%U
[homes] comment = Home Directories path=/homes/%D/%U valid users=%U browseable = no writable = yes
|
然后,逐个为用户建立目录并分配权限(这一步是比较麻烦),我们的域是EXCHANGE,为用户hrwang建立目录,方法如下
#mkdir -p /homes/EXCHANGE #cd /homes/EXCHANGE
#mkdir hrwang #chown "EXCHANGE\hrwang":"EXCHANGE\domain users" hrwang
|
好了,用service smb restart 重启samba服务,再登陆samba服务器,可以看到除了其它共享的目录外,还有一个自己的目录,而且可以写。
分享到:
相关推荐
samba与AD2003整合完全配置[参考].pdf
samba与AD2003整合完全配置[借鉴].pdf
建立带域控制器的samba文件服务器之域控制器搭建,使用域控制器账户访问samba服务器,给予不同账户不同权限
将samba加入到windows的ad域
Linux+samba-winbind+AD实现统一认证(修改后)
环境注释:ADServer:server1.mpm.fih.gd ADServerIP:192.168.1.2 WINSServerIP:192.168.1.2 DNSServerIP:192.168.1.2 Linux:linuxenterpriseas4Linu_sambaserver:192.168.1.44SAMBA的安装:首先需要安装支持...
本指南将向你介绍如何使用 Authconfig 在命令行中将无图形界面的 CentOS 7 服务器集成到 Samba4 AD 域控制器中。 这类设置提供了由 Samba 持有的单一集中式帐户数据库,允许 AD 用户通过网络基础设施对 CentOS ...
ubuntu的samba可是使windows直接通过文件夹的形式访问ubuntu内的文件,方便快捷,并且通过使用PAM同步samba与系统用户密码后,用户可以直接使用ubuntu的账号访问samba,从而减少管理samba单独的账号密码。
本文实现了samba服务被访问的时候通过windows域服务器进行用户名和密码验证;认证通过的用户可以自动分配500M的共享空间;在用户通过windows域登陆系统的时候可以自动把这块空间映射成一块硬盘。
Samba_与squid_统一使用域(AD)验证
用samba作ad文件服务器,通过域用户验证,用ACL控制文件夹权限
Docker容器展示了Samba的Active Directory域控制器(AD DC)支持 该存储库是未维护的。 检查其中一个叉子是否最新。 运行这些命令以启动容器 docker build -t samba-ad-dc . docker run --privileged -v ${PWD}/...
Linuxsamba加入AD域.pdf
利用samba做Linux和Windows域的整合
Samba是一套使用SMB(Server Message Block)协议的应用程序, 通过支持这个协议, Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为可能。Samba采用C/S模式, 其工作机制是让NetBIOS( Windows 网上...
Samba服务的配置与应用.ppt ,实用型参考
用于Samba服务器的配置和应用,有助于对Samba服务器的理解。