samba服务器加入域控主机,成为域成员,当用户访问samba服务器上的共享文件时,直接到域控主机上进行认证。samba服务器上不需要像先前一样创建系统用户,创建samba用户及密码。
1、安装环境(host)
SAMBA服务器:RHEL6.4 IP:192.168.1.101 主机名:sambaserver.samba.com
域控主机WINSERVER2008 IP:192.168.1.100 主机名:winserver.samba.com 域名:SAMBA.COM
设置SElinux的运行级别为disabled,关闭防火墙,修改samba服务器主机名为域名形式,修改IP地址为同一网段,并且设置DNS为域控主机IP。
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=netfolderserver.iamtest.com
vi /etc/hosts 127.0.0.1 sambaserver.samba.com sambaserver 192.168.1.101 sambaserver.samba.com sambaserver 192.168.1.100 winserver.samba.com winserver [root@sambaserver]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet UUID=be9c85bd-3292-4b5a-96b9-9aed2bc61ce2 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none HWADDR=01:A1:53:94:55:A6 IPADDR=192.168.1.101 PREFIX=25 GATEWAY=192.168.1.1 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" DNS1=192.168.1.100
2、smb.conf配置
#======================= Global Settings ===================================== [global] # workgroup = NT-Domain-Name or Workgroup-Name workgroup = SAMBA #####域名前半部分,不要加.com netbios name = sambaserver # server string is the equivalent of the NT Description field server string = sambaServer.SAMBA ###这个名字可随意,不要跟其它服务器重名即可 realm = SAMBA.COM --------域名 auth methods = winbind idmap config SAMBA : schema_mode = rfc2307 idmap config SAMBA : range = 30000-40000 idmap config SAMBA : default = yes idmap config SAMBA : backend = rid ;idmap config SAMBA : backend = ad idmap config * : backend = tdb idmap config * : backend = rid idmap config * : range = 10000-20000 winbind nss info = rfc2307 winbind trusted domains only = no winbind enum groups = yes winbind enum users = yes winbind separator = / winbind use default domain = yes template homedir = /home/share/%U template shell = /bin/bash # this tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/log.%m # Put a capping on the size of the log files (in Kb). max log size = 50000 # Security mode. Most people will want user level security. See # security_level.txt for details. security = ads encrypt passwords = yes # Use password server option only with security = server password server = 192.168.1.100 #域控主机IP logon path = \\%L\Profiles\%U # WINS Server - Tells the NMBD components of Samba to be a WINS Client # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both wins server = 192.168.1.100 #域控主机IP # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names # via DNS nslookups. The built-in default for versions 1.9.17 is yes, # this has been changed in version 1.9.18 to no. dns proxy = no #============================ Share Definitions ============================== [homes] path = /home/share/%U valid users = SAMBA.COM\%U, SAMBA\%U, %U create mode = 0777 directory mode = 0777 comment = Home Directories browseable = no # NOTE: If you have a BSD-style print system there is no need to # specifically define each individual printer #[printers] # comment = All Printers # path = /var/spool/samba # browseable = no # Set public = yes to allow user 'guest account' to print guest ok = no writable = no printable = yes [MyFile] comment = user path = /home/share/%U browseable = yes guest ok = no writable = yes printable = no public = no
3、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 = SAMBA.COM dns_lookup_realm = false dns_lookup_kdc =false ticket_lifetime = 24h forwardable = yes proxiable = true [realms] SAMBA.COM = { kdc = winserver.samba.com :88 admin_server = winserver.samba.com :749 default_domain = SAMBA.COM } #[kdc] # profile = /var/kerberos/krb5kdc/kdc.conf [domain_realm] .iamtest.com = SAMBA.COM iamtest.com = SAMBA.COM[appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false }
4、resolve.conf
vi /etc/resolv.conf
# Generated by NetworkManager domain samba.com search samba.com nameserver 192.168.1.100
5、nsswitch.conf
# /etc/nsswitch.conf # # An example Name Service Switch config file. This file should be # sorted with the most-used services at the beginning. # # The entry '[NOTFOUND=return]' means that the search for an # entry should stop if the search in the previous entry turned # up nothing. Note that if the search failed due to some other reason # (like no NIS server responding) then the search continues with the # next entry. # # Legal entries are: # # nisplus or nis+ Use NIS+ (NIS version 3) # nis or yp Use NIS (NIS version 2), also called YP # dns Use DNS (Domain Name Service) # files Use the local files # db Use the local database (.db) files # compat Use NIS on compat mode # hesiod Use Hesiod for user lookups # [NOTFOUND=return] Stop searching if not found so far # # To use db, put the "db" in front of "files" for entries you want to be # looked up first in the databases # # Example: #passwd: db files nisplus nis #shadow: db files nisplus nis #group: db files nisplus nis passwd: files winbind shadow: files winbind group: files winbind hosts: files dns wins #hosts: files dns # Example - obey only what nisplus tells us... #services: nisplus [NOTFOUND=return] files #networks: nisplus [NOTFOUND=return] files #protocols: nisplus [NOTFOUND=return] files #rpc: nisplus [NOTFOUND=return] files #ethers: nisplus [NOTFOUND=return] files #netmasks: nisplus [NOTFOUND=return] files bootparams: nisplus [NOTFOUND=return] files ethers: db files netmasks: files networks: files dns protocols: db files #protocols: files winbind rpc: db files services: db files #services: files winbind netgroup: nisplus winbind #netgroup: files winbind publickey: nisplus automount: files nisplus #automount: files winbind aliases: files nisplus
6、samba服务器加入域控主机
6.1 启动samba程序 /usr/local/samba3/sbin/smbd -s /etc/samba/smb.conf -D -d 3
6.2 启动winbind: service winbind start 检查winbind运行状态:service winbind status
6.3 加入域控主机: net ads join -U administrator, 输入域控主机的域管理员账号密码,正常的话会提示加入域成功。
6.4 测试加入域: wbinfo -t 检查samba服务器和域控主机之间的信任关系; wbinfo -u 读取域控主机上所有用户的信息;wbinfo -g 读取域控主机上的用户组信息。