歡迎您光臨本站 註冊首頁

Samba 3 與 MS AD 之初體驗

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

Samba 3 與 MS AD 之初體驗

Samba 3 與 MS AD 之初體驗

參考文檔:http://ar.samba.org/samba/docs/man/domain-member.html
                這個是比較詳細、權威的,一定要看的啊。
實現功能:Samba 登陸 MS AD 成為域成員
測試平台:RedHat AS 3  +  W2K Server  (均運行在Vmware workstation 4.06下)
涉及軟體:(均為 RedHat AS 3 下默認版本)

        samba-client-3.0.0-14.3E
        samba-common-3.0.0-14.3E
        samba-3.0.0-14.3E

        krb5-libs-1.2.7-19
        krb5-workstation-1.2.7-19

文檔編寫:free2wind@hotmail.com      水平有限, 不到之處, 希望大家幫忙提高啊 : )

預備工作:

. MS AD 已經可以正常使用, 在AD添加用戶 admin (有管理員許可權)
. MS DNS 做好必要的解析
        w2kserver.foo.com <--->;  192.168.0.33
. 安裝好必要的RPM包

假設環境如下:

        Domain: foo.com
        AD short name: AD
        network: 192.168.0.0/24
        dns: 192.168.0.33
       
        OS: RedHat AS 3  
    Hostname: linux34.foo.com
        IP: 192.168.0.34
        Action: File server

        OS: MS Win2k Server + SP4  
        Hostname: w2kserver.foo.com
        IP:192.168.0.33
        AD Administrator: admin
        password: 123
        Action: authentication server for user who want to login in File server (linux34.foo.com)


. 編輯 Samba 配置文件 smb.conf
# cd /etc/samba
# cp -a smb.conf smb.conf.orig
# vi /etc/samba/smb.conf

         workgroup = MYGROUP
         改為(MS AD伺服器的短名) ------>;
         workgroup = AD
       
        ;   hosts allow = 192.168.1. 192.168.2. 127.
                 改為 ------>; hosts allow= 192.168.0.

        security = user
            改為使用AD來認證用戶------>;  
                security = ADS

                ;   password server = <NT-Server-Name>;
                在這條下面添加如下2行------------>;
                realm = FOO.COM
                password server = w2kserver.foo.com

                ; encrypt passwords = yes
                改為(去掉註釋符) ---------------->;               
                encrypt passwords = yes


上面只是實現登入 AD , 其它的共享項目, 可以按需自己加入

. 查看Samba的配置情況
# testparm      (testparm 屬於包 samba-common-3.0.0-14.3E)

                Load smb config files from /etc/samba/smb.conf
                Processing section ""
                Processing section ""
                Loaded services file OK.
                Server role: ROLE_DOMAIN_MEMBER
                Press enter to see a dump of your service definitions

                # Global parameters
               
                                workgroup = FOO.COM
                                realm = FOO.COM
                                server string = samba
                                security = ADS
                                password server = w2kserver.foo.com
                                log file = /var/log/samba/%m.log
                                max log size = 50
                                socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
                                dns proxy = No
                                hosts allow = 192.168.0.

               
                                comment = Home Directories
                                read only = No
                                browseable = No

               
                                comment = All Printers
                                path = /var/spool/samba
                                printable = Yes
                                browseable = No


. 添加系統用戶及Samba用戶 admin , 該用戶admin應有管理MS AD 的許可權
# useradd -d /dev/null -s /bin/false admin
# passwd admin   

. 添加Samba用戶
# smbpasswd -a admin (密碼為123)
# pdbedit -L      (查看一下添加的用戶)

.

. 配置 /etc/krb5.conf, 屬於包krb5-libs-1.2.7-19
#cp -a /etc/krb5.conf /etc/krb5.conf.orig
#vi /etc/krb5.conf  

# more /etc/krb5.conf.orig (默認 krb5.conf 如下)

       
         default = FILE:/var/log/krb5libs.log
         kdc = FILE:/var/log/krb5kdc.log
         admin_server = FILE:/var/log/kadmind.log

       
         ticket_lifetime = 24000
         default_realm = EXAMPLE.COM   
         dns_lookup_realm = false
         dns_lookup_kdc = false

       
         EXAMPLE.COM = {
          kdc = kerberos.example.com:88
          admin_server = kerberos.example.com:749
          default_domain = example.com
         }

       
         .example.com = EXAMPLE.COM
         example.com = EXAMPLE.COM

       
         profile = /var/kerberos/krb5kdc/kdc.conf

       
         pam = {
           debug = false
           ticket_lifetime = 36000
           renew_lifetime = 36000
           forwardable = true
           krb4_convert = false
         }

   ----------->;

        更改所有的 "EXAMPLE.COM" 到 "FOO.COM"
        更改所有的 "example.com" 到 "foo.com"
       
        更改
                kdc = kerberos.example.com:88
            admin_server = kerberos.example.com:749
        到
                kdc =w2kserver.foo.com:88
            admin_server = w2kserver.foo.com:749
       

. 初始化用戶 admin和密碼
# /usr/kerberos/bin/kinit admin@FOO.COM     kinit 屬於包krb5-workstation-1.2.7-19
#

Samba 和 MS AD 的系統時間相差不大於5分鐘, 否則會出現下面的錯誤
kinit(v5): Clock skew too great while getting initial credentials

. 加入AD
# net ads join         (net 屬於包 samba-client-3.0.0-14.3E)
Using short domain name -- AD
Joined 'LINUX34' to realm 'FOO.COM'

. 在 MS AD 中查看主機 LINUX34 已經加入到AD中

.  Samba 做 PDC 的文檔正在擬寫中
《解決方案》

Samba 3 與 MS AD 之初體驗

既然要加入foo.com為什麼要:
password server = w2kserver.linux.org,這個linux.org域從那來的?不明白啊
《解決方案》

Samba 3 與 MS AD 之初體驗

不好意思嚴重錯誤,應該是

password server = w2kserver.foo.com

還有其它幾處錯誤,已更正了

是和另外一篇文檔搞混了,謝謝大家,看來我還是太馬虎了
《解決方案》

好東西,看了樓主的文章,我解決了krb5的問題,不過我又遇到一個新的。
我已經可以將運行samba3的linux添加到AD中了(在AD域控制器里可以看到機器名),但是在linux主機中卻看不到winbindd的進程,所以無法使用wbinfo -u來查詢AD的用戶信息,請問該如何安裝該線程?
《解決方案》

很好我正想找
《解決方案》

請問這樣可以么:  在windows的域裡面加入一個用戶,然後能夠在linux裡面自動加入這個用戶的id,也加入samba的id, WINDOWS的這個賬戶可以通過自己的賬戶 沒有任何提示的以自己的身份 進入samba的共享文件夾中!
我在做這方面的事情,但是一直沒有成功
《解決方案》

全部可以,登錄SSH都可以,只要設置好PAM,在google.com 在大把這類文章。

此文可 http://www.linuxmine.com/2866.html
《解決方案》

加入域時出問題 
root@prtwx-t:~# net join -S bel-wx -U administrator
rpc_client/cli_netlogon.c:cli_nt_setup_creds(360)
  cli_nt_setup_creds: request challenge failed
Password:
rpc_client/cli_netlogon.c:cli_nt_setup_creds(360)
  cli_nt_setup_creds: request challenge failed
utils/net_rpc_join.c:net_rpc_join_newstyle(318)
  Error domain join verification (reused connection): NT_STATUS_INVALID_COMPUTER_NAME
  
Unable to join domain BEL-WX.

root@prtwx-t:~# net join -W bdc-belwx -U adminstrator
Password:
Joined domain BEL-WX.

為什麼我不可能通過參數-S來加入域(上面域名肯定是正確的,不過沒有反綴加上.)
《解決方案》

這樣的話只有Admin用戶可以直接訪問到LINUX,其它用戶不能吧?是不是要在LINUX下再做一個和AD相同的賬號!
《解決方案》

問題多多,如果能有個專門討論的Q 群就好了

[火星人 ] Samba 3 與 MS AD 之初體驗已經有555次圍觀

http://coctec.com/docs/service/show-post-33013.html