免费注册 查看新帖 |

Chinaunix

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

[samba] samba4建立windows2003域控制器 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-19 13:19 |只看该作者 |倒序浏览
本帖最后由 kkkggg 于 2013-01-04 11:09 编辑

偶尔上samba.org的网站,看到9月13日发布了samba4 rc1,samba4的候补发行版。意谓着离正式发行版差别不大了。看一下说明。里面写着已经可以模拟windows2000及以上的域,不再只是模拟nt4域了。也许上次微软向samba组织提供代码的事,使samba解决了兼容的问题。
太好了!可以用linux替代windows dc服务器了。
下面记录一下这次安装、配置samba4的过程。系统是ubuntu server 12.04 32bit,samba软件版本samba4 rc1。

安装操作系统
首先下载安装ubuntu server 12.04(samba4的howto上只提到了debian、ubuntut、red hat、opensuse、gentoo等的系统支持,所以就选了ubuntu来安装)。具体安装过程可以网上搜索,这里就不详述了。
ubuntu server版软件包我只选了ssh,方便远程操作服务器。
按照Samba 4 OS Requirements文档里教的,安装这些软件apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils

安装samba4
从samba网站下载samba-4.0.0rc1.tar.gz软件源码包。我解压到了/usr/src下面。
进入文件夹,运行./configure.developer。顺利通过依赖检查。make。
用root权限make install。默认会安装到/usr/local/samba目录。

建域
用root权限运行/usr/local/samba/bin/samba-tool domain provision --realm=test.org(要建的域名) --domain=test(域简称) --adminpass='aaaa1111'(管理员密码) --server-role=dc
建立域,并给默认域管理员账号administrator设置密码。出现错误提示,提示密码不符合复杂性要求。把上面的密码改成包含了大小写字母的密码,再次运行,通过。
运行/usr/local/samba/sbin/samba
运行smbclient //localhost/netlogon -UAdministrator%'刚才设置的密码' -c 'ls'
没报错的话,这一步就通过。

设置DNS
samba4自带有一个dns服务,也可以自己另外搭建DNS服务。比如用带DLZ的bind9的话,在先前建域的命令中加入参数--dns-backend=BIND9_DLZ。我用的是samba4自带的dns。
修改/etc/resolv.conf
加入domain test.org和nameserver “主机的局域网IP”两行,nameserver要放在其它nameserver前面(如果不止一行nameserver的话)。如果你想把nameserver填成127.0.0.1的话,最好运行netstat -an|grep 53看一下,你的系统有没有监听0.0.0.0或127.0.0.1,如果没有的话,填127.0.0.1是不行的。ubuntu的resolv.conf是动态的,每次重启会改变,最好自己根据自己的实际情况设置一下,使每次启动自动加入这两行。
还有检查一下/usr/local/samba/etc/smb.conf配置文档里[global]项有没有dns forwarder = “当地的DNS地址”。这是DNS转发功能,可以解析除自己的test.org域名以外的其它网域。
执行
host -t SRV _ldap._tcp.test.org.
host -t SRV _kerberos._udp.test.org.
正常会返回
_ldap._tcp.samdom.example.com has SRV record 0 100 389 “主机名”.test.org.
_kerberos._udp.samdom.example.com has SRV record 0 100 88 “主机名”.test.org.
证明dns能解析域的srv记录。

配置kerberos
kerberos一般有mit的和heimdal的,先前编译的时候显示过heimdal的字样,于是就安装heimdal版的kerberos。
我的ubuntu用apt-get install heimdal-clients命令会根据依赖自动安装。安装时会问你填realm,就填TEST.ORG,似乎samba4文档上说要填大写字母。
查看/etc/krb5.conf,里面有一大堆的域名。干脆用/usr/local/samba/share/setup/krb5.conf替换掉,简洁一些。然后把krb5.conf中的default_realm = 填成TEST.ORG。
用kinit administrator@TEST.ORG命令测试一下,会要你输密码,输入正确密码会没任何提示,错了会有提示。那个@TEST.ORG字母要大写。
如果不是用的自带的dns,这时要改下你的dns配置,使它通过kerberos验证。

时区
howto文档上这一步是设置网络时间同步。我没设置,只是发现主机时间不正确。于是用date -s设置时间,再写入硬件。注意,域控制器与客户机的时间不能相差太大,否则通不过验证。

设置共享
howto文档这一步要设置一个共享。我没设置,以后再设。文档上说要支持共享的高级功能,要文件系统支持user、system xattr和acl操作选项。可能是类似ntfs文件权限之类的功能吧。我安装ubuntu时是选的btrfs,不知道默认支不支持。
可以用这几个命令来检查。
# touch test.txt
# setfattr -n user.test -v test test.txt
# setfattr -n security.test -v test2 test.txt
# getfattr -d test.txt
# getfattr -n security.test -d test.txt
显示
# file: test.txt
user.test="test"
# file: test.txt
security.test="test2"
就说明支持附加属性功能,我的btrfs默认支持。

windows系统客户机加域
这里以XP系统为例。
把xp的首选DNS改为samba4主机的ip地址。
检查时间与samba4主机相差不能太多。
在“我的电脑”上鼠标右键,点“属性”-“计算机名”-“更改”-“域”,改成test,确定。
会提示输入有权让你加域的账号、密码,用户名输入administrator,密码输入先前建域时设置的密码。确定,重启电脑。
按Ctrl+Alt+Delete键打开登录框,第三行“登录到”选“test”,账号、密码还是输入administrator和密码(因为现在只有这个账号,以后给多个用户添加账号后就应该让用户各自使用各自账号、密码登录)。
进入桌面,说明samba4建域成功。

从客户机管理域控制器
下载微软的adminpak.msi软件包,windows2003光盘上也有。安装。然后打开“开始”-“运行”输入dsa.msc。然后打开报错。我又照howto文档上的安装了Support Tools和gpmc工具。打开dsa.msc还是报错。重启电脑,还是用administrator登录test域,再打开dsa.msc,这回成功了。这是适用xp的方法,如果是windows7请安装RSAT(remote server administration tools)工具。
一切正常的话,打开“开始”-“管理工具”能看到“Active Directory Users and Computers”,如果看不到,就要手动“开始”-“运行”输入dsa.msc确定。
接下来建组织单位、建组、建用户就跟windows AD一样啦,具体操作就不用说啦。

设置用户配置文件共享
samba4已经默认设置了sysvol和netlogon共享。howto文档上这一步要设置profiles共享。以前在windows的ad上也没设置过这个,所以我没有设置。

共享文件权限设置
试了一下设置文件权限,发现不能像ntfs文件系统一样设置acl。尽管前面通过了文件扩展属性的测试。

这里请教一下有没有人成功在samba下设置ntfs acl的?

好了,差不多就这样了。只做了简单的测试和使用未在大规模生产环境下使用,只确定能用,至于好不好用就要再观察下了。没能把windows的文件共享也搬到samba下实在可惜。

论坛徽章:
0
2 [报告]
发表于 2012-12-21 09:55 |只看该作者
HI! 你好! 能不能 把samba-4.0 文档发过来看看!

关于是否设置NTFS ACL 首先是看 共享的分区是否是NTFS格式,本身OS是否支持NTFS 分区, 如不能,先加载支持NTFS 的内核,这个可以在网上搜索得到, 加载后, 可以设置NTFS ACL 权限了!

论坛徽章:
0
3 [报告]
发表于 2013-01-04 11:05 |只看该作者
回复 2# yingfengstart
官方文档在http://wiki.samba.org/index.php/Samba4/HOWTO
我试过在linux下挂载ntfs分区。但首先linux系统不支持ntfs权限,samba也是调用操作系统来管理文件的,所以samba也没办法使用ntfs权限。
似乎samba用POSIX ACL也不能兼容NTFS的权限。

论坛徽章:
0
4 [报告]
发表于 2013-08-22 14:31 |只看该作者
使用samba4做为活动目录服务器和使用windows 2003有什么优势的地方呢?

论坛徽章:
0
5 [报告]
发表于 2013-09-21 16:25 |只看该作者
回复 4# zhangshoug
免费、拆腾和显摆。没有windows做域控制器好用。不过windows做域控制器价格不菲,用户数越多价格越贵,如果不侵犯版权的话。


   

论坛徽章:
0
6 [报告]
发表于 2013-09-24 15:24 |只看该作者
回复 5# kkkggg
没有windows做域控制器好用,具体点说有什么是windows活动目录域控制器能做但samba4还做不到的


   

论坛徽章:
0
7 [报告]
发表于 2013-10-05 17:10 |只看该作者
回复 6# zhangshoug
不像windows dc那样可以直接在服务器端的ad图形管理界面进行用户管理,不过可以在windows客户机上装管理软件。
DC纯做DC有点浪费,很多时候会把DC兼作文件共享服务器。像前面说的,samba现在还无法兼容或者实现ntfs权限。


   

论坛徽章:
24
天蝎座
日期:2014-05-13 18:05:59IT运维版块每日发帖之星
日期:2015-11-26 06:20:00操作系统版块每月发帖之星
日期:2015-12-02 14:57:54IT运维版块每月发帖之星
日期:2016-01-07 23:01:56IT运维版块每周发帖之星
日期:2016-01-07 23:04:2615-16赛季CBA联赛之青岛
日期:2016-01-23 07:58:272016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2016-03-23 14:20:06IT运维版块每日发帖之星
日期:2016-04-01 06:20:0015-16赛季CBA联赛之吉林
日期:2016-06-28 13:51:54IT运维版块每日发帖之星
日期:2016-07-01 06:20:00IT运维版块每日发帖之星
日期:2015-11-23 06:20:00
8 [报告]
发表于 2013-10-14 07:54 |只看该作者
回复 6# zhangshoug

1.權限不好管理,尤其是文件服務器,像大型企業每個頂層資料夾權限都是給不同的用戶,同一層目錄,不同的用戶權限不同。這個samba無法實現。   當然如果文件服務器和samba分開的情況下就另當別論了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP