测试centosx64 6.2安装samba4.1.0建立域服务(1)
官网wiki:
https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO
环境配置:
yum install gcc libacl-devel libblkid-devel gnutls-devel \ readline-devel python-devel gdb pkgconfig krb5-workstation \ zlib-devel setroubleshoot-server libaio-devel \ setroubleshoot-plugins policycoreutils-python \ libsemanage-python setools-libs-python setools-libs \ popt-devel libpcap-devel sqlite-devel libidn-devel \ libxml2-devel libacl-devel libsepol-devel libattr-devel \ keyutils-libs-devel cyrus-sasl-devel cups-devel bind-utils
测试环境:centosx64 6.2
主机名称:samba.xfs.com
下载samba4.1.0从www.samba.org
1、源码安装
解压后
cd/usr/src/samba-4.1.0 ./configure make makeinstall
默认会安装到/usr/local/samba目录
2、启动samba服务方法:
方法(1)/usr/local/samba/sbin/samba
方法 (2)将/usr/local/samba/sbin/samba增加到/etc/rc.d/rc.local中
方法(3)增加自启动项:
建立文件samba4
以下是文件内容:
--------------------------------------------------
#!/bin/bash # #samba4 This shell script takes care of starting and stopping # samba4 daemons. # # chkconfig: - 58 74 # description: Samba 4.0 will be the next version of the Samba suite # and incorporates all the technology found in both the Samba4 alpha # series and the stable 3.x series. The primary additional features # over Samba 3.6 are support for the Active Directory logon protocols # used by Windows 2000 and above. ### BEGIN INIT INFO # Provides: samba4 # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # Should-Start: $syslog $named # Should-Stop: $syslog $named # Short-Description: start and stop samba4 # Description: Samba 4.0 will be the next version of the Samba suite # and incorporates all the technology found in both the Samba4 alpha # series and the stable 3.x series. The primary additional features # over Samba 3.6 are support for the Active Directory logon protocols # used by Windows 2000 and above. ### END INIT INFO # Source function library. . /etc/init.d/functions # Source networking configuration. . /etc/sysconfig/network prog=samba prog_dir=/usr/local/samba/sbin/ lockfile=/var/lock/subsys/$prog start() { [ "$NETWORKING" = "no" ] && exit 1 # [ -x /usr/sbin/ntpd ] || exit 5 # Start daemons. echo -n $"Starting samba4: " daemon $prog_dir/$prog -D RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $lockfile return $RETVAL } stop() { [ "$EUID" != "0" ] && exit 4 echo -n $"Shutting down samba4: " killproc $prog_dir/$prog RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $lockfile return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status $prog ;; restart) stop start ;; reload) echo "Not implemented yet." exit 3 ;; *) echo $"Usage: $0 {start|stop|status|restart|reload}" exit 2 esac
--------------------------------------------------------
保存这个文件,chmod755 改一下权限,放到
#chmod 755 /etc/init.d/samba4 #chkconfig samba4 on
4.配置动态链接库路径
运行samba的进行smbd和nmbd需要到目录/usr/local/samba/lib下的动态链接库文件。但是该目录不是系统默认的动态链接库文件搜索路径,于是我们需要将该目录添加到文件ld.so.conf中。执行下面的命令
# vi /etc/ld.so.conf
然后,打开ld.so.conf文件,并在该文件中加入下面这一行内容
/usr/local/samba/lib
然后执行命令
# ldconfig
来更新动态链接库缓冲。
5、配置环境变量:
[root@sambar~]# vim .bash_profile
#.bash_profile #Get the aliases and functions if[ -f ~/.bashrc ]; then .~/.bashrc fi #User specific environment and startup programs PATH=$PATH:$HOME/bin:/usr/local/samba/bin:/usr/local/samba/sbin export PATH
6、建立xfs.com域(如果没有smb.conf时,自动创建到/usr/local/samba/etc/)
备注:如果想删除刚建立的域,使用如下命令
rm -rf /usr/local/samba/etc/smb.conf rm -rf /usr/local/samba/private/*
建立域命令:
/usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
Realm[BTA.NET.CN]: xfs.com
Domain[xfs]: xfs
ServerRole (dc, member, standalone) [dc]: dc
DNSbackend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE)[SAMBA_INTERNAL]:
DNSforwarder IP address (write 'none' to disable forwarding)[202.106.0.20]:
Administratorpassword:
Retypepassword:
建立完域后,需要启动samba
service samba4 start 或/usr/local/samba/sbin/samba
如果忘记了密码,可以使用命令更改域管理员密码方法:
samba-tool user setpassword administrator
7、测试建立的域:
# smbclient -L //localhost -Uadministrator Enterroot's password: Domain=[XFS]OS=[Unix] Server=[Samba 4.1.0] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba 4.1.0) Domain=[XFS]OS=[Unix] Server=[Samba 4.1.0] Server Comment --------- ------- Workgroup Master
--------- -------
表明建立成功。
[root@sambar~]# smbclient //localhost/netlogon -Uadministrator%此处输入设置的密码 Domain=[XFS]OS=[Unix] Server=[Samba 4.1.0] smb:\>
如果出现错误:
session setup failed: NT_STATUS_INVALID_SERVER_STATE
这是因为执行smbclient命令的用户ID没有成为samba服务的用户,解决方法如下:
先将改用户ID加入到samba中
# smbpasswd -a root
按要求设置密码
8设置DNS
samba4自带有一个dns服务,也可以自己另外搭建DNS服务。比如用带DLZ的bind9的话,在先前建域的命令中加入参数--dns-backend=BIND9_DLZ。我用的是samba4自带的dns。
修改/etc/resolv.conf加入domainxfs.com和nameserver 172.16.0.1 “主机的局域网IP”两行,
nameserver要放在其它nameserver前面(如果不止一行nameserver的话)检查一下/usr/local/samba/etc/smb.conf配置文档里[global]项有没有dnsforwarder = “当地的DNS地址”。这是DNS转发功能,可以解析除自己的test.org域名以外的其它网域。
执行
检查DNS端口是否占用:
#netstat -tunpe | grep ":53"
#host-t SRV _ldap._tcp.xfs.com. #host -t SRV_kerberos._udp.xfs.com
正常会返回
[root@sambar ~]# host -t SRV _ldap._tcp.xfs.com _ldap._tcp.XFS.COM has SRV record 0 100 389 sambar.xfs.com [root@sambar~]# host -t SRV _kerberos._udp.xfs.com _kerberos._udp.XFS.COMhas SRV record 0 100 88 sambar.xfs.com
证明dns能解析域的srv记录。
注意点:重启后resolv.conf会自动恢复原来状态。所以我的方法是复制一份备份,放到rc.local中开机自动执行
如:[root@sambarshare]# cat /etc/rc.d/rc.local
增加此行:
\cp/usr/local/samba/etc/resolv.conf /etc/resolv.conf
9、配置kerberos (最好是yuminstall -y krb5*) 再安装一下,相关软件,或升级。
cp /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf
修改:
[libdefaults] default_realm = XFS.COM (大写) dns_lookup_realm = false dns_lookup_kdc = true 其它与域有关的都得改成相在域名
然后把krb5.conf中的default_realm= 填成XFS.COM。
用kinit administrator@XFS.COM命令测试一下,会要你输密码,输入正确密码会没任何提示,
如果不是用的自带的dns,这时要改下你的dns配置,使它通过kerberos验证。
测试结果如下:
[root@sambar~]# kinit administrator@XFS.COM Passwordfor administrator@XFS.COM: Warning:Your password will expire in 41 days on Sat Nov 23 17:23:07 2013 [root@sambar~]# klist Ticketcache: FILE:/tmp/krb5cc_0 Defaultprincipal: administrator@XFS.COM Validstarting Expires Service principal 10/13/1315:24:29 10/14/13 01:24:29 krbtgt/XFS.COM@XFS.COM renewuntil 10/14/13 15:24:19
10、管理域控制器:
(1)Windows系统客户机加域(加域时记得关掉服务器iptables,因为不知道都开什么端口,所以就干脆关了它,否则加不了域,以后再研究,都需开什么端口)
(2)这里以XP系统为例。把xp的首选DNS改为samba4主机的ip地址。
检查时间与samba4主机相差不能太多。
(3)在“我的电脑”上鼠标右键,点“属性”-“计算机名”-“更改”-“域”,改成XFS.COM,确定。会提示输入有权让你加域的账号、密码,用户名输入administrator,密码输入先前建域时设置的密码。确定,重启电脑。
(4)按Ctrl+Alt+Delete键打开登录框,第三行“登录到”选“XFS”,账号、密码还是输入administrator和密码
(因为现在只有这个账号,以后给多个用户添加账号后就应该让用户各自使用各自账号、密码登录)。
进入桌面,说明samba4建域成功。
11、客户机管理域控制器
(1)下载微软的adminpak.msi软件包,windows2003光盘上也有。安装。
(2)然后打开“开始”-“运行”输入dsa.msc。如果打不开,请安装了SupportTools和gpmc工具或重启电脑.
(3)用administrator登录xfs.com域,再打开dsa.msc。
(4)如果是windows7请安装RSAT(remoteserver administration tools)工具。
打开“开始”-“管理工具”能看到“ActiveDirectory Users andComputers”,如果看不到,就要手动“开始”-“运行”输入dsa.msc确定。
(5)接下来建组织单位、建组、建用户就跟windowsAD一样
转载于:https://blog.51cto.com/lcpljc/1309158