samba服務器搭建和samba加入windows server活動目錄實現認證

//samba基礎知識linux

1.工做端口
UDP協議端口:137,138
tcp協議端口:139,445

2.軟件包
samba samba-client.x86_64 samba-common

3.啓動服務
service smb restart

4.配置文件
[global]---全局設置
-------------------------
A.
security:share/user/server/domain
share:不須要用戶名和密碼,匿名登陸
user:需用戶名和密碼
server: 用戶名和密碼在指定的一臺samba上驗證,驗證錯誤,客戶端會用user級別訪問
domain:服務器加入window域環境,驗證工做由windows域控制器負責。
ads:使用ads安全級別加入到windows域環境中,包含有domain級別中的全部功能,能夠具有域控制器的功能。
B.
config file = /etc/samba/smb.conf.%U 
#%U是變量,指代登陸用戶名
[說明]
##security設爲user時,samba服務器必須建立一些用戶名和密碼供客戶端登陸使用,這些賬號必須是linux系統中存在的用戶,當用戶登陸時,其在共享文件夾裏的權限是其所用賬號在samba所在linux中的權限
--------------------------
[share_config]---共享目錄設置
-------------------
[public]                  ---共享目錄名稱  //10.10.54.226/public
comment = Public Stuff    ---標識
path = /home/samba        ---服務器端共享目錄的存儲路徑(要有權限)
writable = yes            ---是否具備寫入權限
read only = yes  ---只讀權限
browseable = no           ---共享目錄是否可見(no爲隱藏,yes可見)
guest ok = yes            ---匿名用戶是否能夠訪問
write list = +staff       ---指定那些用戶或者用戶組能夠寫入
--------------------

//samba測試工具ios

1:pdbedit:管理samba 用戶數據庫的一個工具
pdbedit -a -u username 增長一個samba用戶
pdbedit -x samba_user 刪除用戶
pdbedit 查看建立的samba用戶

2.工具2:samba測試命令
smbstatus -pS -u username  
smbclient -L 10.10.54.150  #查看後面所接主機上提供的共享資源
smbclient -L 10.10.54.150 -Uboss#以賬號boss訪問主機上的資源
smbclient //10.10.54.150/centos -Uboss%boss1   #相似ftp的登陸,直接操做服務器共享文件夾
mount -t cifs //10.10.54.150/centos /mnt/smb -o username=boss,password=boss1 #掛載


//例一:創建共享目錄爲softs,安全級別爲share,只容許10.10.54.0/24網段訪問shell

1.一下題目中,環境都是:
samba服務器:10.10.54.150---centos6.4
客戶機:10.10.54.158----ubuntu13
2.配置文件
----------------------
shell> vim /etc/samba/smb.conf
[global]
security = share
hosts allow = 10.10.54.0/24
[softs]
comment = public
path = /home/softs
writeable = no
browseable = yes
---------------------

//例二:創建共享目錄爲share,對全部人只有只讀權限
數據庫

1.##配置[服務器:150]
-----------------------------
shell> vim /etc/samba/smb.conf
[global]
security = share
[share]
comment = public
path = /pub
read only = yes
writable = no
------------------------------

2.##測試[客戶機:158]
shell> smbclient //10.10.54.150/softs
WARNING: The security=share option is deprecated
Enter root's password: 
Domain=[HELLO,1003-LJ] OS=[Unix] Server=[Samba 3.6.9-151.el6]
Server not using user level security and no password supplied.
smb: \> ls
smb: \> mkdir 12
NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory \12   #只讀

//例三:使用smbclient命令登陸samba服務器,並下載共享資源到/temp目錄ubuntu

1.配置[服務器:150]
-------------------------------
shell> vim /etc/samba/smb.conf
[global]
security = share
[share]
comment = public
path = /pub
read only = yes
writable = yes
-------------------------------

2.測試[客戶機:158]
shell> cd /tmp
shell> smbclient //10.10.54.150/share
smb: \> mkdir
mkdir <dirname>
smb: \> ls
  .                                   D        0  Tue Mar  4 17:03:55 2014
  ..                                  D        0  Tue Mar  4 15:43:53 2014
  openssl-1.0.1e.tar.gz               A  4459777  Mon Mar  3 09:38:52 2014
smb: \> get openssl-1.0.1e.tar.gz 
getting file \openssl-1.0.1e.tar.gz of size 4459777 as openssl-1.0.1e.tar.gz (82174.4 KiloBytes/sec) (average 82174.5 KiloBytes/sec)

//例四:創建共享目錄爲centos,其絕對路徑爲/share/centos,只有boss賬號能夠讀寫該目錄,其餘人只能讀取vim

1.配置[服務器:150]
------------------------------
shell> vim /etc/samba/smb.conf
[global]
security = user
[centos]
comment = public
path = /pub
guest ok = no
read only = yes
writable = boss
---------------------------

2.創建賬號
shell> useradd boss
shell> useradd test
shell> pdbedit -a -u boss
shell> pdbedit -a -u test
shell> pdbedit -L
boss:502:
test:504:

3.測試[客戶機:158]
----測試boss
shell> smbclient //10.10.54.150/centos -Uboss
Enter boss's password: 
Domain=[HELLO,1003-LJ] OS=[Unix] Server=[Samba 3.6.9-151.el6]
smb: \> mkdir 12
smb: \> ls
  .                                   D        0  Tue Mar  4 17:14:35 2014
  ..                                  D        0  Tue Mar  4 15:43:53 2014
  12                                  D        0  Tue Mar  4 17:14:35 2014
39371 blocks of size 524288. 32159 blocks available
---測試test
shell> smbclient //10.10.54.150/centos -Utest
Enter test's password: 
Domain=[HELLO,1003-LJ] OS=[Unix] Server=[Samba 3.6.9-151.el6]
smb: \> ls
  .                                   D        0  Tue Mar  4 17:14:35 2014
  ..                                  D        0  Tue Mar  4 15:43:53 2014
  12                                  D        0  Tue Mar  4 17:14:35 2014
39371 blocks of size 524288. 32159 blocks available
smb: \> mkdir 13
NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory \13

//結合window2008活動目錄,配置samba,用戶名和密碼認證來自活動目錄。
windows

//環境說明
1.linux上的samba做爲一臺文件服務器監聽用戶請求,用戶使用用戶名和密碼認證方式登陸samba服務器,默認狀況下,samba服務器自帶一個保存登陸用戶名和密碼的數據庫來實現對登陸用戶的身份確認
2.samba加入windows2008活動目錄後,samba服務器再也不保存用戶名和密碼這些信息,而是把這些信息存儲在windows server域控制器上,當用戶使用用戶名和密碼登陸samba服務器時,身份認證工做由windows server上的活動目錄負責,認證經過的用戶就可使用samba服務器提供的資源
3.由上面兩點,咱們能夠知道,要驗證samba是否成功加入windows server的域,首先要在windows server的test.com(下面步驟中會建立)域中建立一個用戶,而後在linux主機上使用這個建立的用戶名和密碼登陸samba服務器,若是能夠登陸,那麼說明samba加入成功

//windows域和工做組概念
1.局域網上的資源須要管理,「域」和「工做組」就是兩種不一樣的網絡資源管理模式
2.工做組:局域網上可能有不少的計算機存在,爲了管理和查找的方便,將不一樣的電腦按不一樣分類分紅一個個的工做組,這樣方便管理和查找
3.工做組的不足之處是:
A.工做組中每一臺計算機都獨立維護本身的資源,不能集中管理全部的網絡資源
B.每一臺計算機都在本地存儲用戶的帳戶
C.一個帳戶只能登陸到一臺計算機
D.工做組中的計算機都是平等的,對於其它計算機來講便是服務器,也是客戶機
4.域(Domain)是一個共用「目錄服務數據庫」的計算機和用戶的集合,域是邏輯分組,與網絡的物理拓撲無關,能夠很小,好比只有一臺DC,也能夠很大,包括遍及世界各地的計算機,好比大型跨國公司網絡上的域
正是因爲全部域成員計算機和域用戶都共用這個域的「目錄服務數據庫」,域管理員就能夠基於域的「目錄服務數據庫」來進行集中管理、共享資源,如用戶、組、計算機賬號、權限設置、組策略設置等等。目錄服務爲管理員提供從網絡上任何一個計算機上查看和管理用戶和網絡資源的能力。目錄服務也爲用戶提供惟一的用戶名和密碼,用戶只需一次登陸,便可訪問本域或有信任關係的其它域上的全部資源(固然用戶得有權限才行),而不須要屢次提供用戶名和密碼登陸。

//windows2008上建立域控制器
##10.10.54.152機子做爲域控制器和DNS服務器
1.域控制器上存儲着Active Directory,首先在網絡和共享中內心更改網卡的首選DNS爲改本機IP
2.開始菜單-運行對話框中輸入dcpromo開始安裝,新的域名爲test.com,安裝過程大多默認便可,DNS提示那一步選是
3.完成後重啓系統

//linux上配置samba加入windows域
#Win 2008 Server是域控制器,linux是samba服務器,客戶端提交的認證請求和受權是經過Kerberos5協議來完成的,因此要讓Linux的samba服務器支持windows server的域認證
1.軟件安裝
shell> yum install krb5* -y      
shell> rpm -qa | grep krb5
krb5-server-1.10.3-10.el6.x86_64
pam_krb5-2.3.11-9.el6.x86_64
krb5-workstation-1.10.3-10.el6.x86_64
krb5-devel-1.10.3-10.el6.x86_64
krb5-libs-1.10.3-10.el6.x86_64

2.配置/etc/krb5.conf
-----------------------------------------
[logging]#日誌文件位置
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log
[kdc]
 profile = /var/kerberos/krb5kdc/kdc.conf
[libdefaults]
 default_realm = TEST.COM     #大寫,windows2008活動目錄域名,剛纔在windows上建立的test.com
 dns_lookup_realm = true
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
[realms]
 TEST.COM = {
  kdc = 10.10.54.152:88        #域控制器的IP
  admin_server = 10.10.54.152:749   
  default_domain = TEST.COM   
}
[domain_realm]
 .test.com = TEST.COM        #指定域
 test.com = TEST.COM
[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }
        
shell>vim /var/kerberos/krb5kdc/kdc.conf 
[realms]
 TEST.COM = {     #修改成TEST.COM
 ...
-------------------------------------------------
3.配置/etc/nsswitch.conf
passwd:     files winbind  #先讀files,而後再經過winbind認證
shadow:     files winbind
group:      files winbind

4.配置/etc/samba/smb.conf
------------------------------------------        
        workgroup = TEST    #工做組
        server string = Filesrv
        password server = 10.10.54.152    #密碼服務器地址,用於存放身份信息
        realm = TEST.COM    #認證服務器域名,全部認證信息都將由該服務器來提供。
        security = ads    #ads:使用ads安全級別加入到windows域環境中
        netbios name = MYSERVER       #centos netbios名,加入後會顯示在windows server域的computers中
        idmap uid = 16777216-33554431
        idmap gid = 16777216-33554431
        template shell = /bin/bash
        template homedir = /home/%U
        winbind use default domain = true
        winbind offline logon = true
        winbind enum groups = yes
        winbind enum users = yes
        winbind separator = /
[centos]        #共享的目錄
comment = centos
path = /home/samba
guest ok = no
read only = yes
write list = boss
browseable = yes
#passdb backend = tdbsam       #這行註釋掉,不使用samba自己的密碼認證
-----------------------------------------

5.修改linux DNS服務器指向windows域IP
shell> vim /etc/resolv.conf
nameserver 10.10.54.152

6.重啓samba和winbind服務
shell> service winbind restart
shell> service smb restart

//samba加入windows域控制器中
1.
shell> kinit administrator@TEST.COM    #TEST.COM爲在windows上建立的域,注意大小寫
Password for administrator@TEST.COM: 
#輸入的密碼是windows 2008管理員密碼,沒有提示說明測試成功

2.net 命令加入windows域
shell> net ads/rpc  join -U administrator@TEST.COM
Enter administrator@TEST.COM's password:
Using short domain name -- TEST
Joined 'MYSERVER' to dns domain 'test.com'
No DNS domain configured for myserver. Unable to perform DNS Update.
DNS update failed!
#此時在windos2008 Active Directory管理中心 test.com 域下能夠看到myserver

3.一些驗證
#驗證加入是否成功
shell> net ads testjoin
Join is OK
#查看域用戶
sehll> wbinfo -u
MYSERVER/boss
MYSERVER/me
MYSERVER/test
MYSERVER/shift1
MYSERVER/shift2
MYSERVER/shift3
administrator
guest
krbtgt
#查看域用戶組
shell>  wbinfo -g
domain computers
domain controllers
schema admins
enterprise admins
cert publishers
domain admins
domain users
domain guests
group policy creator owners
ras and ias servers
allowed rodc password replication group
denied rodc password replication group
read-only domain controllers
enterprise read-only domain controllers
dnsadmins
dnsupdateproxy

//測試windows活動目錄認證是否生效
1.在windows 活動目錄中建立用戶test,而後在linux上查看用戶信息
shell> wbinfo -u
MYSERVER/boss   #linux機子上用戶
MYSERVER/me
MYSERVER/test
administrator    #下面是windows server上用戶
guest
krbtgt
test       #剛纔在windows server上建立的域用戶

2.驗證是否能夠登陸samba服務器
[ubuntu:158機子]
shell> smbclient //10.10.54.150/centos -Utest    #用剛纔在windows2008中建立的test用戶登陸
WARNING: The security=share option is deprecated
Enter test's password: 
session setup failed: NT_STATUS_LOGON_FAILURE      ##登陸失敗了!
/etc/samba/smb.conf 中指定的realm是 TEST.COM
shell> smbclient //10.10.54.150/centos -W=TEST.COM -Utest    #使用TEST.COM這個域組
WARNING: The security=share option is deprecated
Enter test's password: 
Domain=[TEST] OS=[Unix] Server=[Samba 3.6.9-151.el6]
smb: \> ls
  .                                   D        0  Wed Mar  5 21:20:25 2014
  ..                                  D        0  Wed Mar  5 21:20:20 2014
  game.sh                             A     4846  Wed Mar  5 21:20:25 2014
39371 blocks of size 524288. 32159 blocks available
##測試成功
相關文章
相關標籤/搜索