配置 Samba 服務(wù)器

2018-08-12 21:29 更新

配置 samba 服務(wù)器

以前我們在 Windows 上共享文件的話,只需右擊要共享的文件夾然后選擇共享相關(guān)的選項(xiàng)設(shè)置即可。然而如何實(shí)現(xiàn) Windows 和 linux 的文件共享呢?這就涉及到了samba服務(wù)了,這個軟件配置起來也不難,使用也非常簡單。

samba配置文件smb.conf

一般你裝系統(tǒng)的時候會默認(rèn)安裝samba,如果沒有安裝,只需要運(yùn)行這個命令安裝(CentOS): “yum install -y samba samba-client” Samba的配置文件為/etc/samba/smb.conf,通過修改這個配置文件來完成我們的各種需求。打開這個配置文件,你會發(fā)現(xiàn)很多內(nèi)容都用”#”或者”;”注視掉了。先看一下未被注釋掉的部分:

[global]
        workgroup = MYGROUP
        server string = Samba Server Version %v
        security = user
        passdb backend = tdbsam
        load printers = yes
        cups options = raw
[homes]
        comment = Home Directories
        browseable = no
        writable = yes
[printers]
        comment = All Printers
        path = /var/spool/samba
        browseable = no
        guest ok = no
        writable = no
        printable = yes

主要有以上三個部分:[global], [homes], [printers]。

[global] 定義全局的配置,”workgroup”用來定義工作組,相信如果你安裝過windows的系統(tǒng),你會對這個workgroup不陌生。一般情況下,需要我們把這里的”MYGROUP”改成”WORKGROUP”(windows默認(rèn)的工作組名字)。

security = user #這里指定samba的安全等級。關(guān)于安全等級有四種:

  • share:用戶不需要賬戶及密碼即可登錄samba服務(wù)器
  • user:由提供服務(wù)的samba服務(wù)器負(fù)責(zé)檢查賬戶及密碼(默認(rèn))
  • server:檢查賬戶及密碼的工作由另一臺windows或samba服務(wù)器負(fù)責(zé)
  • domain:指定windows域控制服務(wù)器來驗(yàn)證用戶的賬戶及密碼。

passdb backend = tdbsam # passdb backend (用戶后臺),samba有三種用戶后臺:smbpasswd, tdbsam和ldapsam。

smbpasswd:該方式是使用smb工具smbpasswd給系統(tǒng)用戶(真實(shí)用戶或者虛擬用戶)設(shè)置一個Samba 密碼,客戶端就用此密碼訪問Samba資源。smbpasswd在/etc/samba中,有時需要手工創(chuàng)建該文件。

tdbsam:使用數(shù)據(jù)庫文件創(chuàng)建用戶數(shù)據(jù)庫。數(shù)據(jù)庫文件叫passdb.tdb,在/etc/samba中。passdb.tdb用戶數(shù)據(jù)庫可使用smbpasswd –a創(chuàng)建Samba用戶,要創(chuàng)建的Samba用戶必須先是系統(tǒng)用戶。也可使用pdbedit創(chuàng)建Samba賬戶。

pdbedit參數(shù)很多,列出幾個主要的:

-pdbedit –a username:新建Samba賬戶。 -pdbedit –x username:刪除Samba賬戶。 -pdbedit –L:列出Samba用戶列表,讀取passdb.tdb數(shù)據(jù)庫文件。 -pdbedit –Lv:列出Samba用戶列表詳細(xì)信息。 -pdbedit –c “[D]” –u username:暫停該Samba用戶賬號。 -pdbedit –c “[]” –u username:恢復(fù)該Samba用戶賬號。

ldapsam:基于LDAP賬戶管理方式驗(yàn)證用戶。首先要建立LDAP服務(wù),設(shè)置“passdb backend = ldapsam:ldap://LDAP Server” load printers 和 cups options 兩個參數(shù)用來設(shè)置打印機(jī)相關(guān)。

除了這些參數(shù)外,還有幾個參數(shù)需要你了解:

  • netbios name = MYSERVER # 設(shè)置出現(xiàn)在“網(wǎng)上鄰居”中的主機(jī)名
  • hosts allow = 127. 192.168.12. 192.168.13. # 用來設(shè)置允許的主機(jī),如果在前面加”;”則表示允許所有主機(jī)
  • log file = /var/log/samba/%m.log #定義samba的日志,這里的%m是上面的netbios name
  • max log size = 50 # 指定日志的最大容量,單位是K

[homes] 該部分內(nèi)容共享用戶自己的家目錄,也就是說,當(dāng)用戶登錄到samba服務(wù)器上時實(shí)際上是進(jìn)入到了該用戶的家目錄,用戶登陸后,共享名不是homes而是用戶自己的標(biāo)識符,對于單純的文件共享的環(huán)境來說,這部分可以注視掉。

[printers] 該部分內(nèi)容設(shè)置打印機(jī)共享。

samba實(shí)踐

注意:在試驗(yàn)之前,請先檢測selinux是否關(guān)閉,否則可能會試驗(yàn)不成功。

  1. 共享一個目錄,任何人都可以訪問,即不用輸入密碼即可訪問,要求只讀。

打開samba的配置文件/etc/samba/smb.conf

[global]部分

把”MY GROUP”改成”WORKGROUP”

把” security = user” 修改為 “security = share”

然后在文件的最末尾處加入以下內(nèi)容:

[share]
        comment = share all
        path = /tmp/samba
        browseable = yes
        public = yes
        writable = no

mkdir /tmp/samba
chmod 777 /tmp/samba

啟動samba服務(wù)

/etc/init.d/smb start

測試:

首先測試你配置的smb.conf是否正確,用下面的命令

testparm

如果沒有錯誤,則在你的windows機(jī)器上的瀏覽器中輸入 file://IP/share 看是否能訪問

  1. 共享一個目錄,使用用戶名和密碼登錄后才可以訪問,要求可以讀寫

打開samba的配置文件/etc/samba/smb.conf

[global] 部分內(nèi)容如下:

[global]
        workgroup = WORKGROUP
        server string = Samba Server Version %v
        security = user
        passdb backend = tdbsam
        load printers = yes
        cups options = raw

然后加入以下內(nèi)容:

[myshare]
        comment = share for users
        path = /samba
        browseable = yes
        writable = yes
        public = no

保存配置文件,創(chuàng)建目錄:

mkdir /samba

chmod 777 /samba

然后添加用戶。因?yàn)樵赱globa]中” passdb backend = tdbsam”,所以要使用” pdbedit” 來增加用戶,注意添加的用戶必須在系統(tǒng)中存在。

useradd  user1 user2
pdbedit -a user1  # 添加user1賬號,并定義其密碼
pdbedit -a user2
pdbedit -L # 列出所有的賬號

測試:

打開IE瀏覽器輸入file://IP/myshare/ 然后輸入用戶名和密碼

  1. 使用linux訪問samba服務(wù)器

Samba服務(wù)在linux下同樣可以訪問。前提是你的linux安裝了samba-client軟件包。安裝完后就可以使用smbclient命令了。

smbclient //IP/共享名 -U 用戶名

如:[root@localhost]# smbclient //10.0.4.67/myshare/ -U user1

Password:

Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.29.el5_6.2]

smb: >

出現(xiàn)如上所示的界面??梢源蛞粋€”?”列出所有可以使用的命令。常用的有cd, ls, rm, pwd, tar, mkdir, chown, get, put等等,使用help + 命令可以打印該命令如何使用,其中g(shù)et是下載,put是上傳。

另外的方式就是通過mount掛載了:

如:

mount -t cifs //10.0.4.67/myshare /mnt -o username=user1,password=123456

格式就是這樣,要指定-t cifs //IP/共享名 本地掛載點(diǎn) -o后面跟username 和 password

掛載完后就可以像使用本地的目錄一樣使用共享的目錄了。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號