linux之samba使用


  工作中,很多時候,我導出文件,或者上傳文件的時候經常失敗,報samba fail,但我並不知道samba是干什么用的,也老是聽同事說什么samba沒有掛載,但我基本上不知道什么是samba,更不要說什么是掛載了,於是乎,我就各種找資料,終於知道什么是samba了。在我經歷的三個項目中,都是用samba來實現多台服務器之間的文件共享,而且挺好用的,所以今天寫下這篇博客,正所謂好記性不如爛筆頭。

  一、什么是samba

  samba 是基於SMB協議(ServerMessage Block,信息服務塊)的開源軟件,samba也可以是SMB協議的商標。SMB是一種Linux、UNIX系統上可用於共享文件和打印機等資源的協議,這種協議是基於Client\Server型的協議,Client端可以通過SMB訪問到Server(服務器)上的共享資源。當Windows是 Client,CentOS是服務器時,通過Samba就可以實現window訪問Linux的資源,實現兩個系統間的數據交互。samba服務程序已經成為在Linux系統和Windows系統之間共享文件的最佳選擇,當然在Linux系統與Linux系統之間的文件共享也選擇samba。

  二、安裝samba

  我使用的是centos7,直接用yum安裝就可以

yum install samba

  三、配置smb.conf

  smb.conf是服務端的配置文件,剛安裝的就自帶smb.conf文件,里面有很多注釋的行,但實際工作是用不了,所以我們把自帶的文件備份一個,復制一個簡潔的主配置文件

mv /etc/samba/smb.conf /etc/samba/smb_bak.conf
cat /etc/samba/smb_bak.conf | grep -v "#"  | grep -v ";" > /etc/samba/smb.conf

  編輯smb.conf文件,刪除homes、printers、print$三項配置,實際工作用不了,然后再后面加上你的共享文件配置,最后內容如下:

[global]
        workgroup = SAMBA           #設定 Samba Server 所要加入的工作組或者域。
        security = user             #設置用戶訪問Samba Server的驗證方式,一共有四種驗證方式
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
[database]
        comment = share database     #這個是共享文件的描述
        path = /data/share           #設置共享文件夾的路徑
        public = no                  #設置是否允許匿名訪問
        writable = yes

  四、創建samba登錄用戶

  這個用戶可以直接用Linux用戶,但密碼也需要設置,所以我在這里新建一個samba專用用戶

useradd smb_root
smbpasswd -a smb_root  #然后輸入兩次密碼就可

  五、創建共享路徑

mkdir -p /data/share
cd /data chmod
-R 775 share chown -R smb_root:smb_root share

  六、Windows下訪問共享文件

  在Windows資源管理器地址上輸入 \\+ip(比如我的samba服務器IP地址是192.168.1.14,則輸入\\192.168.1.14),登陸samba服務

 

  輸入的剛才新增的samba用戶及密碼就行,比如我的就是smb_root和smb_root,這樣就可以訪問了

 

  可以把這個文件映射為一個盤符,選中database,點擊右鍵,選中映射網絡驅動器

 

 

  點擊確定就可

  七、Linux下共享文件

  首先在客戶端安裝支持文件共享服務的軟件包cifs-utils

yum install cifs-utils

  在Linux客戶端,按照samba服務端的用戶名和密碼、共享域的順序將相關的信息寫入到一個認證文件中

vim auth.smb
寫入如下內容:
username = smb_root
password = smb_root
domain = ZIJIN

  在客戶端創建共享目錄,把掛載信息寫入/etc/fstab文件中

mkdir -p /data/share
vim /etc/fstab
在最后追加一下信息:
//192.168.1.14/data/share  /data/share  cifs  credentials=/root/auth.smb   0 0

  掛載文件系統

mount -a

  測試,在服務端的/data/share目錄下新建一個文件,然后再客戶端查看,是否能看到,如果能就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM