天天看點

samba,nfs服務搭建(不常用)個人随筆

簡單描述:

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

繼續閱讀