Nfs是Linux之間的網上鄰居
samba是linux和windows只之間的網上鄰居
vmware version:7.01
ubuntu:10.0.4
所需軟件:SAMBA、samba-common、samba-client
安裝完畢後所有軟件,一般都會有一下文件、
1.etc/samba/smb.conf
這個是主要配置文件
2.etc/samba/lmhost
Samba安裝全過程
對於linux與windows共享,和平共處,我們可以用Samba軟件
Samba是一套免費的開源軟件,可以在linux或其他類unix操作系統上實現windows域控制器,文件服務,打印服務等。
Samba實現了windows系統所使用的核心網絡協議:SMB(Server Message Block)
Samba可以提供如下功能:
活動目錄服務(Active Directory Server, ADS)
主域控制器(Primary Domain Controller, PDC)
共享目錄
共享打印機
Samba是一個高性能的服務軟件,只需要更低的硬件就可以實現windows server相同的性能。
一、安裝Samba
sudo apt-get install samba
安裝完成之後,在windwos上訪問(我的linux server ip:192.168.1.66):
輸入\\192.168.1.66 如圖:
通過標題欄可以看出已經可以訪問了,但裏面沒有共享資源
二、Samba的配置
Samba的配置文件是/etc/samba/smb.conf,它所使用的語法和windows的.ini文件差不多。
注:在修改配置練習時,請備份原配置文件
最簡單的配置
[global] security=share [linux_share] path=/home/linux/share public=yes
這個配置分成兩段:
第一段:global
第二段:linux_share 這是一個自己定義的名字,當從windows訪問時,就可以看到這個共享文件夾的名稱
security=share, 表示安全等級爲share,這樣用戶不需要經過密碼驗證了。
path定義了共享的文件夾的路徑
public=yes 表示公開給所有人訪問
配置完成時,檢查一下配置文件的語法: 用testparm命令
如圖:
重啓Samba生效
sudo /etc/init.d/smbd restart
現在通過windows訪問可以看到我們創建的共享文件夾了
三、Samba的安全認證
Samba提供了安全認證等級,分4個級別:
share : 不需要輸入用戶名和密碼 user : 需要輸入用戶名,密碼, Samba對用戶進行認證 server : 認證工作由另一臺Samba服務器或者Windows server負責 domain : 指定一臺windows server來進行用戶認證
其中user是Samba的默認安全認證級別,也就是說在/etc/samba/smb.conf配置文件中,將security一行改爲security=user,那麼用戶在瀏覽共享內容前,就必須輸入用戶名和密碼。
現在把安全級別提升爲user
sudo vim /etc/samba/smb.conf [global] security=user [linux_share] path=/home/linux/share valid users=cdyemail #指定有效的用戶,多個用可訪問用逗號隔開 public=no #公開訪問爲否
重啓samba服務:sudo /etc/init.d/smbd restart
通過windows訪問如圖:
現在要密碼了,但是輸入linux的用戶名和密碼無法通過認證,如果想讓Samba通過認證,需要以下幾點:
(1)、在ubuntu系統中創建用戶
(2)、在Samba中創建該用戶
(3)、在windows中創建相同的用戶(和Samba用戶密碼相同)
1、在Ubuntu中創建用戶
如果要將某個資源共享給新用戶,必須先用adduser命令向Ubuntu中添加該用戶。如:
我們打算將某個資源共享給一個叫做cdyemail的用戶,首先要做的就是在Ubuntu系統中創建這個用戶
sudo useradd cdyemail
這樣,系統中就有了cdyemail這個用戶了。
2、在Samba中創建用戶
Ubuntu系統中的用戶,和Samba用戶是兩回事,要將資源共享給某個系統中的用戶,必須將該用戶添加到Samba中。
添加方法:
sudo smbpasswd -a cdyemail #smbpasswd是命令, -a表示add user , cdyemail表示用戶名
這樣cdyemail的認證信息就被寫入到Samba中了。重啓Samba生效
添加完用戶和密碼後,現在可以在windows中通過這個用戶名和密碼進行訪問了。
3、在windows中創建相同的用戶
在windows客戶端中,我們需要創建與samba中完全相同的用戶名和密碼,這樣才能通過Samba的認證,我們在windows客戶端上打開Samba共享資源時,Samba會自動將windows環境中的用戶信息傳遞到服務器上進行驗證,因此如果登錄的windows用戶和Samba用戶名相同的話(密碼也相同),就不需要輸入密碼了,自動就能通過認證。
我在測試中通過,相當給力!!
4、Samba用戶密碼修改
如果修改密碼了,則windows與Samba都要同步修改。在Samba中修改的方法如下:
sudo smbpasswd cdyemail #cdyemail爲要修改的用戶名
如果windows不修改,則要手動輸入Samba修改後的用戶名和密碼,windows修改後要求註銷一下(重登錄)
三、共享權限的控制
目錄我們只要以訪問文件的內容,但沒有權限修改文件,也無法向共享目錄添加新文件。
1、添加文件寫入權限
[global] security=user [linux_share] path=/home/linux/share valid users=cdyemail writeable=yes #添加一句,表示具有寫權限了 public=no
重啓samba服務 sudo /etc/init.d/smbd restart ,之後就可以寫文件了,但要求服務器上的目錄本身有這個權限。我測試時用rwx權限測試成功。
對於服務器目錄權限的測試:
由於我共享的是share目錄,創建時用root,所以在默認的情況下,即使開了writeable也沒有權限寫,因爲服務器目錄的本身權限有問題。
(1)先修改用戶所屬
sudo chown cdyemail:cdyemail
(2)只保留cdyemail用戶有權限訪問這個目錄
sudo chmod u+rwx,g-rwx,o-rwx share
(3)訪問,測試寫文件
測試成功,cdyemail用戶有權限寫。
*********未完************
由於現在要在命令行下進行數據共享的工作,所以先記錄到這兒,有時間再記錄其它的功能
訪問服務器的共享資源:
服務器配置如下,一個要求用戶認證的共享,一個大衆都可能訪問的。
[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
客戶機訪問如下:
安裝:smbclient , smbfs
smbclient可以查看資源,下載資源等,這裏用mount掛載遠程的共享目錄
sudo mount -t smbfs -o username=shareuser,passwd=***** //192.168.1.66/share_resource /mnt/data
#smbfs是文件系統類型
#share_resource就是在samba中定義的共享名稱,掛載到/mnt/data目錄上
*************************
原文鏈接:http://blog.sina.com.cn/s/blog_6c9d65a10100oobp.html