簡單描述:
Samba是在Linux和UNIX系統上實作SMB協定的一個免費軟體,由伺服器及用戶端程式構成,
NFS 是Network File System的縮寫,即網絡檔案系統。一種使用于分散式檔案系統的協定,由Sun公司開發,于1984年向外公布。功能是通過網絡讓不同的機器、不同的作業系統能夠彼此分享個别的資料,讓應用程式在用戶端通過網絡通路位于伺服器磁盤中的資料,是在類Unix系統間實作磁盤檔案共享的一種方法。
NFS在檔案傳送或資訊傳送過程中依賴于RPC協定。RPC,遠端過程調用(Remote Procedure Call) 是能使用戶端執行其他系統中程式的一種機制。NFS本身是沒有提供資訊傳輸的協定和功能的。
NFS應用場景,常用于高可用檔案共享,多台伺服器共享同樣的資料,可擴充性比較差,本身高可用方案不完善,取而代之的資料量比較大的可以采用MFS、TFS、HDFS等等分布式檔案系統。
一、samba搭建
1.samba安裝:yum install samba -y
2.安裝完畢後修改配置檔案/etc/samba/smb.conf
3.複制最後七行,修改需要共享的檔案路徑
4.系統添加使用者useradd mmy ;smbpasswd -a mmy 這裡指定smb的登入使用者名密碼
二、nfs搭建
1.nfs安裝:yum install nfs* -y ,啟動服務/etc/init.d/rpcbind restart, /etc/init.d/nfs restart
2.nfs安裝完畢,需要建立共享目錄,共享目錄在vi /etc/exports檔案裡面配置,配置參數如下
/data/ 192.168.77.168(rw,sync)或者直接把ip改為*指定所有就ok了
3.重新開機服務,如果想使用這個檔案系統需要在用戶端挂載,挂載指令:
mount -t nfs 192.168.77.167:/data/ /mnt 挂載到本地mnt目錄下,,,挂載完畢成功後去mnt目錄下檢視會看到有data下的所有檔案。
二、目的:每個smb使用者可以檢視和下載下傳上傳自己的共享目錄,然後還有個public公有目錄
删除使用者配置檔案模闆裡的檔案
在smb.conf配置檔案中,[homes]共享目錄是Samba伺服器預設提供配置的,也是比較特殊的共享設定。[homes]共享目錄并不特指某個目錄,而是表示Samba使用者的宿主目錄,即Samba使用者登入後可以通路同名系統使用者的宿主目錄中的内容。
在宿主目錄中,預設情況下會存在一些隐藏的使用者配置檔案,而在使用UNC路徑通路的時候會出現這些隐藏的配置檔案,會對使用者帶來不便,而每個使用者的配置檔案都是從使用者配置檔案模闆“/etc/skel/”中複制過去的,是以需要将模闆裡的配置檔案都删除掉,這樣,建立的使用者宿主目錄裡就不會存在任何檔案。
chmod 700 -R /etc/skel/ ; rm -rf /etc/skel/* ;
建立Samba使用者賬号
Samba伺服器不使用Linux系統的使用者賬号進行使用者人在,而是維護自己的使用者賬戶檔案。Samba伺服器使用者賬戶檔案保持在“/etc/samba”目錄中,檔案名是smbpasswd,初始狀态smbpasswd檔案不存在,在第一次使用smbpasswd指令建立Samba使用者時自動建立。
使用smbpasswd指令的“-a”選項可以向smbpasswd檔案中添加Samba使用者賬戶,指令中需要指定要添加的使用者名作為參數,smbpasswd指令執行過程中會提示設定該Samba使用者的密碼。在建立Samba使用者賬戶之前需要建立同名的Linux系統使用者賬戶。
注意:為了考慮安全性,Linux系統使用者賬戶不需要設定密碼,也登入不了系統。而在工作環境中,為了考慮安全性,Samba伺服器隻是充當檔案伺服器,隻允許虛拟使用者和管理者通路,其它使用者是不允許登入的。
Smbpasswd指令參數詳解:
-h:顯示smbapasswd的指令格式幫助
-a:添加指定的使用者賬戶
-d:禁用指定的使用者賬戶
-e:啟用指定的使用者賬戶
-x:删除指定的使用者賬戶
useradd lijq ;useradd jfedu; smbpasswd -a lijq;smbpasswd -a jfedu;
添加公共目錄public
要求任何使用者都可以通路公共檔案夾public,并且具有讀寫的權限。任何使用者在公共目錄中都以Linux中nobody(nobody屬于系統中存在的特殊使用者,這個使用者是不允許在系統中正常登入的)系統使用者的身份出現,即在公共目錄中任何使用者建立的檔案都屬于nobody系統使用者。
mkdir /data/public;chown nobody:nobody /data/public -R
smb.conf 配置:
workgroup = MYGROUP 設定samba伺服器所在的工作組的名稱
server string = Samba Server Version %v 設定samba伺服器的說明文字,用于描述samba主機
log file = /var/log/samba/%m.log 設定samba伺服器的日志檔案,“%m”變量表示用戶端主機的名稱。
Max log size = 50 設定日志檔案的最大容量
Security = user 表示由提供服務的Samba伺服器負責檢測賬戶和密碼,是Samba預設的安全設定。
Security = share 表示使用者不需要賬戶及密碼即可登入Samba伺服器。
Security = server 表示檢查賬戶及密碼的工作指定由另一台Windows伺服器或Samba伺服器負責。
Security = domain 表示指定windows域控制伺服器來驗證使用者的賬戶及密碼。
配置[homes]共享目錄 建立smb使用者是可以指定路徑
comment用于設定共享的說明資訊。
browseable設定為no表示所有samba使用者的宿主目錄都不能被看到,隻有登入使用者才能看到自己的宿主目錄,這樣設定可以加強samba伺服器的安全性。
writable設定為yes表示使用者可以對該共享目錄寫入,設定使用者對自己的宿主目錄具有寫權限是比較合理的
配置[public]共享目錄
注意:在smb.conf中有[public]的配置模闆,可參考進行配置
path = /data/public 設定public目錄的共享路徑
public = yes 表示該目錄對于所有samba使用者是可見的
only guest 設定為yes表示所有使用者在使用該共享目錄時的使用者身份都是guest,即linux系統使用者nobody。
writable設定為yes表示該共享目錄對于使用者可寫。
[public]
comment = Public Stuff
path = /data/public
public = yes
writable = yes
printable = no
only guest = yes
write list = +staff
然後重新開機服務就可以登入了,在windows下
done
本文轉自 Anonymous123 51CTO部落格,原文連結:http://blog.51cto.com/woshitieren/1668591