天天看點

windows腳本登陸linux,winbind實作用windows賬戶登入linux機器

環境介紹:

PDC(域控制器)

作業系統: Windows server 2003 企業版

主機名:dc01.contoso.com

Netbios name:dc01

域名:contoso.com

IP 位址:172.20.5.240

用戶端:

作業系統:CentOS release 5.2 (Final)

主機名: vm12s00

Netbios name : linux

IP 位址:172.20.5.45

Samba 版本:3.0.28

配置過程:

1. 配置nsswitch.conf

[[email protected] ~]# cat /etc/nsswitch.conf |grep winbind

passwd:     files winbind

group:      files winbind

2.配置samba

[[email protected] ~]# vi /etc/samba/smb.conf

workgroup = contoso

netbiosname = linux

server string = Samba server

log file = /var/log/samba/%m.log

max log size = 50

security = domain

password server = dc01.contoso.com

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

wins support = yes

dns proxy = no

idmap uid = 15000-20000

idmap gid = 15000-20000

template shell = /bin/bash

winbind use default domain = yes

winbind enum groups = yes

winbind enum users = yes

winbind separator = /

template homedir = /homes/%D/%U

3.配置kerberos

[[email protected] ~]# vi /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 = CONTOSO.COM

dns_lookup_realm = false

dns_lookup_kdc = false

ticket_lifetime = 24h

forwardable = yes

[realms]

CONTOSO.COM = {

kdc = dc01.contoso.com:88

admin_server = dc01.contoso.com:749

default_domain = contoso.com

}

[domain_realm]

.contoso.com = CONTOSO.COM

contoso.com = CONTOSO.COM

[appdefaults]

pam = {

debug = false

ticket_lifetime = 36000

renew_lifetime = 36000

forwardable = true

krb4_convert = false

}

4.指定DNS Server在Linux

[[email protected] ~]# cat /etc/resolv.conf

nameserver 172.20.5.240

5.重新開機 network 服務,以使上面的設定生效

# service network restart

6.重新開機 samba 和 winbind 服務

# service smb restart

# service winbind restart

7.将linux加入windows 2003 域

[ro[email protected] ~]# net rpc join -S dc01.contoso.com -U administrator

Password:

Joined domain CONTOSO.

# 上面提示加入 test 域成功。

8.重新開機 samba 和 winbind 服務

# service smb restart

# service winbind restart

9.測試 samba 的域成員狀态

[[email protected] ~]# net rpc testjoin

Join to 'CONTOSO' is OK

10.到此為止,linux 已經成功加入域,這時候就可以在 AD 的 computer 處看到這台 linux 主機了。

11.用wbinfo指令檢視用winbindd服務連接配接PDC抓到的域内的使用者群組的資訊

[[email protected] ~]# wbinfo -u

administrator

guest

support_388945a0

krbtgt

xypan

child$

fuck

iwam_bl10e-11

iusr_bl10e-11

yrzheng

eric

[[email protected] ~]# wbinfo -g

domain computers

domain controllers

schema admins

enterprise admins

domain admins

domain users

domain guests

group policy creator owners

dnsupdateproxy

[[email protected] ~]# wbinfo -t

checking the trust secret via RPC calls succeeded

12.檢查PDC使用者(組)轉換為本地使用者(組)UID和GIU情況:

[[email protected] ~]# getent passwd |grep CONTOSO

administrator:*:15000:15000:Administrator:/homes/CONTOSO/administrator:/bin/bash

guest:*:15001:15001:Guest:/homes/CONTOSO/guest:/bin/bash

support_388945a0:*:15002:15000:SUPPORT_388945a0:/homes/CONTOSO/support_388945a0:/bin/bash

krbtgt:*:15003:15000:krbtgt:/homes/CONTOSO/krbtgt:/bin/bash

xypan:*:15004:15000:xinyu pan:/homes/CONTOSO/xypan:/bin/bash

child$:*:15005:15000:CHILD$:/homes/CONTOSO/child_:/bin/bash

fuck:*:15006:15000:fuck xxxx:/homes/CONTOSO/fuck:/bin/bash

iwam_bl10e-11:*:15007:15000:IWAM_BL10E-11:/homes/CONTOSO/iwam_bl10e-11:/bin/bash

iusr_bl10e-11:*:15008:15000:IUSR_BL10E-11:/homes/CONTOSO/iusr_bl10e-11:/bin/bash

yrzheng:*:15009:15000:yrzheng:/homes/CONTOSO/yrzheng:/bin/bash

eric:*:15010:15000:eric:/homes/CONTOSO/eric:/bin/bash

[[email protected] ~]# getent group

domain computers:*:15002:

domain controllers:*:15003:

schema admins:*:15004:administrator

enterprise admins:*:15005:administrator

domain admins:*:15006:xypan,administrator

domain users:*:15000:

domain guests:*:15001:

group policy creator owners:*:15007:administrator

dnsupdateproxy:*:15008:

13.配置實作用windows賬戶登入linux通過SSH,加入下面紅色3行

[[email protected] ~]# vi /etc/pam.d/sshd

#%PAM-1.0

auth       sufficient   pam_winbind.so

auth       include      system-auth

account    sufficient   pam_winbind.so

account    required     pam_nologin.so

account    include      system-auth

password   include      system-auth

session    optional     pam_keyinit.so force revoke

session    include      system-auth

session    required     pam_loginuid.so

session    required     pam_mkhomedir.so

14.通過别的機器ssh登入linux,直接進入smb.conf中指定的home目錄

[[email protected] ~]# ssh [email protected]

[email protected]'s password:

Creating directory '/homes/CONTOSO/eric'.

Creating directory '/homes/CONTOSO/eric/.kde'.

Creating directory '/homes/CONTOSO/eric/.kde/Autostart'.

Creating directory '/homes/CONTOSO/eric/.mozilla'.

Creating directory '/homes/CONTOSO/eric/.mozilla/plugins'.

Creating directory '/homes/CONTOSO/eric/.mozilla/extensions'.

[[email protected] ~]$ pwd

/homes/CONTOSO/eric

注意:如果在PDC域中建立了使用者或者為某個使用者修改了密碼,需要重新重新整理samba服務和winbind服務,如下

service smb stop

service winbind stop

rm -f /etc/samba/*.tdb

rm -f /var/cache/samba/*.tdb

net rpc join -S dc01.contoso.com -U Administrator

service smb start

service winbind start

附錄:關于是應該是使用 RPC 還是 ADS  的一點參考

我應該以ADS模式還是以RPC模式,把我的紅帽企業Linux Samba 3.0.x 伺服器加入到Windows 2000 或者 Windows 2003活動目錄域中?

解決方法:

對于Samba伺服器,有兩種域安全模式,加入到Windows 2000或者Windows 2003域控制器(DC‘s)控制的域中: RPC 模式 RPC(遠端過程調用)模式的域成員是"NT4"樣式的域成員,可以在/etc/samba/smb.conf中通過security=domain設定. 隻要域控制器運作在混合模式下,Samba的基于RPC的域成員代碼更加成熟和穩定可以很好地與Windows2000/2003域控制器工作。混合模式是Windows2000/2003域控制器的預設運作模式。

ADS 模式 ADS(活動目錄服務)模式的域成員,可以在 /etc/samba/smb.conf中通過設定security=ads和定義活動目錄域realm = YOUR.ACTIVE.DIRECTORY.NAME 來設定。

活動目錄域成員對于Samba 3.X 是比較新的,而RPC模式更加成熟一些。ADS模式可以不考慮Windows的域控制器工作在什麼模式下和域功能級别。

推薦:如果你的Windows2000/2003活動目錄(AD)域控制器(DC)工作在混合模式下,我們推薦Samba伺服器以RPC模式加入.當加入RPC模式時,Samba服務不會有顯著的網絡功能損失和不需要經常更新DC而導緻Samba伺服器不能和其他的網絡正确地工作。

如果DC的運作模式/域功能級别被更新到了2000或者2003主動模式,DC僅僅與以ADS模式加入的域成員通信.同時,記住一旦一個DC的運作模式被更新,在沒有删除和重建活動目錄時,是不能傳回到混合模式的.是以,為了達到最大的Samba相容性,我們推薦使用DC混合模式.

如果你想把一個基于紅帽企業版Linux 3的Samba伺服器加入到一個工作在ADS模式的AD域中,系統管理者應該首先保證Samba RPM軟體包的版本應該至少是3.0.9-1.3E.3.這個版本之前的Samba RPM軟體包不能在活動目錄環境中工作。3.0.9-1.3E.3的Samba RPM軟體包可以在紅帽網絡的更新頻道中獲得。