以前我們在 Windows 上共享文件的話,只需右擊要共享的文件夾然后選擇共享相關(guān)的選項(xiàng)設(shè)置即可。然而如何實(shí)現(xiàn) Windows 和 linux 的文件共享呢?這就涉及到了samba服務(wù)了,這個軟件配置起來也不難,使用也非常簡單。
一般你裝系統(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)于安全等級有四種:
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ù)需要你了解:
[homes] 該部分內(nèi)容共享用戶自己的家目錄,也就是說,當(dāng)用戶登錄到samba服務(wù)器上時實(shí)際上是進(jìn)入到了該用戶的家目錄,用戶登陸后,共享名不是homes而是用戶自己的標(biāo)識符,對于單純的文件共享的環(huán)境來說,這部分可以注視掉。
[printers] 該部分內(nèi)容設(shè)置打印機(jī)共享。
注意:在試驗(yàn)之前,請先檢測selinux是否關(guān)閉,否則可能會試驗(yàn)不成功。
打開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 看是否能訪問
打開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/ 然后輸入用戶名和密碼
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
掛載完后就可以像使用本地的目錄一樣使用共享的目錄了。
更多建議: