Samba安裝全過(guò)程
對(duì)于linux與windows共享,和平共處,我們可以用Samba軟件
Samba是一套免費(fèi)的開(kāi)源軟件,可以在linux或其他類(lèi)unix操作系統(tǒng)上實(shí)現(xiàn)windows域控制器,文件服務(wù),打印服務(wù)等。
Samba實(shí)現(xiàn)了windows系統(tǒng)所使用的核心網(wǎng)絡(luò)協(xié)議:SMB(Server Message Block)
Samba可以提供如下功能:
活動(dòng)目錄服務(wù)(Active Directory Server, ADS)
主域控制器(Primary Domain Controller, PDC)
共享目錄
共享打印機(jī)
Samba是一個(gè)高性能的服務(wù)軟件,只需要更低的硬件就可以實(shí)現(xiàn)windows server相同的性能。
一、安裝Samba
sudo apt-get install samba
安裝完成之后,在windwos上訪問(wèn)(我的linux server ip:192.168.1.66):
輸入\\192.168.1.66 如圖:
通過(guò)標(biāo)題欄可以看出已經(jīng)可以訪問(wèn)了,但里面沒(méi)有共享資源
二、Samba的配置
Samba的配置文件是/etc/samba/smb.conf,它所使用的語(yǔ)法和windows的.ini文件差不多。
注:在修改配置練習(xí)時(shí),請(qǐng)備份原配置文件
最簡(jiǎn)單的配置
[global] security=share [linux_share] path=/home/linux/share public=yes
這個(gè)配置分成兩段:
***段:global
第二段:linux_share 這是一個(gè)自己定義的名字,當(dāng)從windows訪問(wèn)時(shí),就可以看到這個(gè)共享文件夾的名稱(chēng)
security=share, 表示安全等級(jí)為share,這樣用戶不需要經(jīng)過(guò)密碼驗(yàn)證了。
path定義了共享的文件夾的路徑
public=yes 表示公開(kāi)給所有人訪問(wèn)
配置完成時(shí),檢查一下配置文件的語(yǔ)法: 用testparm命令
如圖:
重啟Samba生效
sudo /etc/init.d/smbd restart
現(xiàn)在通過(guò)windows訪問(wèn)可以看到我們創(chuàng)建的共享文件夾了
三、Samba的安全認(rèn)證
Samba提供了安全認(rèn)證等級(jí),分4個(gè)級(jí)別:
share : 不需要輸入用戶名和密碼 user : 需要輸入用戶名,密碼, Samba對(duì)用戶進(jìn)行認(rèn)證 server : 認(rèn)證工作由另一臺(tái)Samba服務(wù)器或者Windows server負(fù)責(zé) domain : 指定一臺(tái)windows server來(lái)進(jìn)行用戶認(rèn)證
其中user是Samba的默認(rèn)安全認(rèn)證級(jí)別,也就是說(shuō)在/etc/samba/smb.conf配置文件中,將security一行改為security=user,那么用戶在瀏覽共享內(nèi)容前,就必須輸入用戶名和密碼。
現(xiàn)在把安全級(jí)別提升為user
sudo vim /etc/samba/smb.conf [global] security=user [linux_share] path=/home/linux/share valid users=cdyemail #指定有效的用戶,多個(gè)用可訪問(wèn)用逗號(hào)隔開(kāi) public=no #公開(kāi)訪問(wèn)為否
重啟samba服務(wù):sudo /etc/init.d/smbd restart
通過(guò)windows訪問(wèn)如圖:
現(xiàn)在要密碼了,但是輸入linux的用戶名和密碼無(wú)法通過(guò)認(rèn)證,如果想讓Samba通過(guò)認(rèn)證,需要以下幾點(diǎn):
(1)、在ubuntu系統(tǒng)中創(chuàng)建用戶
(2)、在Samba中創(chuàng)建該用戶
(3)、在windows中創(chuàng)建相同的用戶(和Samba用戶密碼相同)
1、在Ubuntu中創(chuàng)建用戶
如果要將某個(gè)資源共享給新用戶,必須先用adduser命令向Ubuntu中添加該用戶。如:
我們打算將某個(gè)資源共享給一個(gè)叫做cdyemail的用戶,首先要做的就是在Ubuntu系統(tǒng)中創(chuàng)建這個(gè)用戶
sudo useradd cdyemail
這樣,系統(tǒng)中就有了cdyemail這個(gè)用戶了。
2、在Samba中創(chuàng)建用戶
Ubuntu系統(tǒng)中的用戶,和Samba用戶是兩回事,要將資源共享給某個(gè)系統(tǒng)中的用戶,必須將該用戶添加到Samba中。
添加方法:
sudo smbpasswd -a cdyemail #smbpasswd是命令, -a表示add user , cdyemail表示用戶名
這樣cdyemail的認(rèn)證信息就被寫(xiě)入到Samba中了。重啟Samba生效
添加完用戶和密碼后,現(xiàn)在可以在windows中通過(guò)這個(gè)用戶名和密碼進(jìn)行訪問(wèn)了。
3、在windows中創(chuàng)建相同的用戶
在windows客戶端中,我們需要?jiǎng)?chuàng)建與samba中完全相同的用戶名和密碼,這樣才能通過(guò)Samba的認(rèn)證,我們?cè)趙indows客戶端上打開(kāi)Samba共享資源時(shí),Samba會(huì)自動(dòng)將windows環(huán)境中的用戶信息傳遞到服務(wù)器上進(jìn)行驗(yàn)證,因此如果登錄的windows用戶和Samba用戶名相同的話(密碼也相同),就不需要輸入密碼了,自動(dòng)就能通過(guò)認(rèn)證。
我在測(cè)試中通過(guò),相當(dāng)給力!!
4、Samba用戶密碼修改
如果修改密碼了,則windows與Samba都要同步修改。在Samba中修改的方法如下:
sudo smbpasswd cdyemail #cdyemail為要修改的用戶名
如果windows不修改,則要手動(dòng)輸入Samba修改后的用戶名和密碼,windows修改后要求注銷(xiāo)一下(重登錄)
三、共享權(quán)限的控制
目錄我們只要以訪問(wèn)文件的內(nèi)容,但沒(méi)有權(quán)限修改文件,也無(wú)法向共享目錄添加新文件。
1、添加文件寫(xiě)入權(quán)限
[global] security=user [linux_share] path=/home/linux/share valid users=cdyemail writeable=yes #添加一句,表示具有寫(xiě)權(quán)限了 public=no
重啟samba服務(wù) sudo /etc/init.d/smbd restart ,之后就可以寫(xiě)文件了,但要求服務(wù)器上的目錄本身有這個(gè)權(quán)限。我測(cè)試時(shí)用rwx權(quán)限測(cè)試成功。
對(duì)于服務(wù)器目錄權(quán)限的測(cè)試:
由于我共享的是share目錄,創(chuàng)建時(shí)用root,所以在默認(rèn)的情況下,即使開(kāi)了writeable也沒(méi)有權(quán)限寫(xiě),因?yàn)榉?wù)器目錄的本身權(quán)限有問(wèn)題。
(1)先修改用戶所屬
sudo chown cdyemail:cdyemail
(2)只保留cdyemail用戶有權(quán)限訪問(wèn)這個(gè)目錄
sudo chmod u+rwx,g-rwx,o-rwx share
(3)訪問(wèn),測(cè)試寫(xiě)文件
測(cè)試成功,cdyemail用戶有權(quán)限寫(xiě)。
*********未完************
由于現(xiàn)在要在命令行下進(jìn)行數(shù)據(jù)共享的工作,所以先記錄到這兒,有時(shí)間再記錄其它的功能
訪問(wèn)服務(wù)器的共享資源:
服務(wù)器配置如下,一個(gè)要求用戶認(rèn)證的共享,一個(gè)大眾都可能訪問(wèn)的。
[global] security=user [share_resource] path=/home/linux/share valid users=shareuser writeable=yes public=no [public] path=/home/linux/public writeable=yes public=yes
客戶機(jī)訪問(wèn)如下:
安裝:smbclient , smbfs
smbclient可以查看資源,下載資源等,這里用mount掛載遠(yuǎn)程的共享目錄
sudo mount -t smbfs -o username=shareuser,passwd=***** //192.168.1.66/share_resource /mnt/data
#smbfs是文件系統(tǒng)類(lèi)型
#share_resource就是在samba中定義的共享名稱(chēng),掛載到/mnt/data目錄上
*************************
原文鏈接:http://blog.sina.com.cn/s/blog_6c9d65a10100oobp.html
【編輯推薦】