Linux服務筆記之四:Samba服務

剛在虛擬機裝完Linux操做系統,就有產生了這樣的想法:「linux與windows之間如何互聯呢?以及用戶如何更方便地彼此之間共享數據和打印機設備?」今天,咱們能夠經過Samba服務器就能夠地實現這一功能。它可以使Windows用戶經過網絡鄰居等熟悉方式來訪問Linux上的共享資源,而linux用戶經過SMB客戶端程序訪問Windows下的資源。

Samba服務前準備
查看RHEL(默認沒有安裝)是否安裝Samba服務以及安裝了何種版本,命令以下:

[root@localhost ~]# rpm -qa | grep samba
samba-common-3.0.10-1.4E
samba-3.0.10-1.4E                                        #samba服務端組件
system-config-samba-1.2.21-1                        #samba圖形配置工具
samba-client-3.0.10-1.4E                               #samba客戶端組件

若是沒有,拿出RHEL安裝盤,找到相應的組件(上面的rpm組件)進行安裝

[root@localhost ~]# rpm -ivh  samba服務RPM組件路徑

安裝完成後,還沒法使Linux服務器與Windows客戶端正常互聯。要使Samba正常、安全地提供服務,還須要設置/etc/samba/smb.conf這個配置文擋。

在進行配置工做前,須要開啓服務的相應端口(netbios,即windows 網上鄰居的 通訊協議)。

[root@localhost ~]# cat /etc/services | grep netbios
netbios-ns            137/tcp            # NETBIOS Name Service
netbios-ns            137/udp
netbios-dgm         138/tcp             # NETBIOS Datagram Service
netbios-dgm         138/udp
netbios-ssn         139/tcp              # NETBIOS session service

Samba服務相關文件
1)samba服務密碼文件(/etc/samba/smb.conf)
samba服務安裝完成後,這個文件默認下是不存在的。咱們能夠經過smbpasswd 來建立相應的用戶名和密碼 smbpasswd -a linux用戶名(訪問權限設定)

PS:samba服務與linux使用不一樣的密碼文件。所以,沒法用linux服務下的賬號來登陸到samba服務。
經過如下命令能夠查看到samba密碼文件

[root@localhost ~]# cat /etc/samba/smbpasswd
redhat:500:570CE399DA1412ABAAD3B435B51404EE:B9D2D4955B330B
503CC792EB6A55BB1F:[U                    ]:LCT-4911A2AD:
user1:501:570CE399DA1412ABAAD3B435B51404EE:B9D2D4955B330B5
03CC792EB6A55BB1F:[U                      ]:LCT-4911B0D4:

2)/etc/samba/smbusers
該文件是記錄用戶映射關係的
3)samba服務日誌文件
samba服務的日誌文件默認安裝在/var/log/samba/目錄中。所以,能夠根據日誌文件來查看服務的運行狀態以及用戶的訪問狀況

Samba服務主要配置
由於,samba配置選項不少,我選出一些經常使用配置來講明

[root@localhost ~]# cat /etc/samba/smb.conf

#== Global Settings(全局設置)======
[global]
workgroup = MSHOME                        #羣組名稱彧者工做組域名
server string = Samba Server              #Samba服務的簡要說明
hosts allow = 192.168.0. 192.168.2. 127.    
#訪問權限設定(容許192.168.0.0/24,192.168.2.0/24,127.0.0.0/8,中間須要用空格彧者逗號隔開)
printcap name = /etc/printcap                    #打印機的配置文擋
load printers = yes                                   #是否加載打印機設備

;    guest account = pcguest
#在這裏能夠設置guest賬號名,而設置的賬號名可以在/etc/passwd文件找獲得(在此建用戶名),若是未指定,使用「nobody」來處理。默認是不使用的
log file = /var/log/samba/%m.log                #日誌存擋文件

security = user
#安全級別有5種.1)share 這種安全級別是最低的,不須要用戶名和密碼來訪問samba服務 2)user(默認) 在訪問samba服務,須要賬號來驗證 3) server 這個也須要賬號來登陸,但密碼是別外一臺服務器 4)domain 5)ads
;     password server = < NT-Server-Name >

interfaces = 192.168.0.253          #有多網卡時,須要設置監聽的網卡
;interfaces = eth1(網卡參數彧者IP地址)

WINS Server
;     wins support = yes
;     wins server = w.x.y.z
;     wins proxy = yes

#==== Share Definitions (共享目錄)======
     idmap uid = 16777216-33554431
     idmap gid = 16777216-33554431
     template shell = /bin/false
     winbind use default domain = no
[homes]                                                #用戶的主目錄
     comment = Home Directories                #註釋說明
     browseable = no                                #是否容許瀏覽別人主目錄
     writable = yes                                   #是否執行寫操做
[share]                                                 #測試目錄
     comment = Samba Share
     browseable = yes
     writable = no
     path = /samba/share                         #共享路徑
                        
[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

當配置完成後,須要從新啓用samba服務

[root@localhost ~]# /etc/init.d/smb restart       #從新啓動Samba服務
[root@localhost ~]# service smb  start             #啓動Samba服務
[root@localhost ~]# /etc/init.d/smb stop          #中止Samba服務

咱們在Windows客戶端(192.168.0.100)下測試。linux:IP 192.168.0.1



由於,我配置的時候,開啓了驗證功能



哈哈,能夠在windows下查看linux共享資源



若是,要在Linux下查看windows下共享資源。首先,要安裝samba-client客戶端組件。查看是否被安裝

[root@localhost ~]# rpm -q samba-client        
samba-client-3.0.10-1.4E                                #客戶端組件

查看查看windows(192.168.0.100)下共享資源列表

[root@localhost ~]# smbclient -L //192.168.0.100 -U anonymous
WARNING: no network interfaces found
Password:
Domain=[ZHOUZHIWEI] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

                Sharename             Type            Comment
                ---------             ----            -------
                share                     Disk

session request to 192.168.0.100 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[ZHOUZHIWEI] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

                Server                             Comment
                ---------                        -------

                Workgroup                        Master
                ---------                        -------

查看共享文擋,顯示以下

今天寫的文章,我的感受上有點遲鈍(剛考完試,極可能是太累的緣故吧)。也不知道有沒有錯誤?如發現錯誤的地方,請指正。謝謝!
相關文章
相關標籤/搜索