天天看點

Centos7.3搭建Samba伺服器

1. 安裝Samba

$ yum install samba samba-client samba-common 
           

2. 啟動Samba服務

  • 檢視Samba服務運作狀态
$ systemctl status smb.service
           

此時Samba狀态顯示為"disable",接下來我們啟動Samba服務。

  • 啟動Samba
$ systemctl start smb.service
           
  • 設定開機啟動Samba
$ systemctl enable smb.service
           

再次用指令檢視Samba服務狀态,應該顯示為"running"了,但是現在還不能馬上使用Samba共享檔案,在此之前還需要進行一些設定,具體看下文較長的描述。

3. 開放指定端口或者關閉防火牆

Centos7.3預設開啟了防火牆,如果要通路Samba伺服器,必須開放指定端口或者關閉防火牆,使用哪種方式取決于網絡環境:如果僅僅是内網使用,則可以簡單粗暴地關閉防火牆;如果伺服器還連接配接了外網,建議還是開放Samba服務所需的指定端口。下面是這兩種方式的詳細指令:

3.1 關閉防火牆

$ systemctl stop firwwalld.service
$ systemctl disable firwwalld.service
           

3.2 開放Samba服務端口

  • 将Samba服務的端口加入防火牆“白名單”
$ firewall-cmd --permanent --add-service=samba
$ firewall-cmd --reload
           
  • 檢視防火牆“白名單”清單,确認Samba服務已被添加
$ firewall-cmd --list-services
           

4. 關閉SELinux

很多人發現在Centos7.3上搞定一切Samba所需配置後,還是無法通路Samba共享檔案夾,罪魁禍首就是SELinux了!

SELinux是NASA搞出來的玩意,對權限管理極為嚴格,而配置又極其複雜,對大多數人而言都是雞肋,索性禁用了之,下面給出了具體步驟:

  • 關閉SELinux
setenforce 0
           
  • 禁止SElinux開機啟動

    修改配置檔案

    /etc/selinux/config

    ,将SELINUX值改為disabled
...
#SELINUX=enforcing
SELINUX=disabled
...
           

5. 為Samba服務添加使用者

注意,使用者名必須存在于系統使用者清單中!

可以使用之前已經存在的使用者;為了友善權限管理,也可以建立一個“smb”使用者。這裡我們以root使用者為例:

$ smbpasswd -a root
           

執行上述指令後,按照提示輸入密碼(可以不和系統密碼相同),設定完成後,這組使用者名與密碼就是我們通路Samba服務時要輸入的登入資訊。

6. 修改Samba配置檔案

Samba服務的配置檔案路徑為:

/etc/samba/smb.conf

,我們需要在這個檔案中修改相關配置來設定共享檔案夾。例如要共享/mnt目錄,則在檔案末尾增加如下配置:

...
[my share]
    #共享檔案夾路徑
    path = /mnt
    #網絡上是否可見
    browseable = yes
    #寫入權限控制
    writable = yes
    #是否支援賓客通路模式
    guest ok = yes
           

修改完成後,可以運作如下指令測試是否配置正确:

$ testparm
           

如果有報錯資訊,說明配置檔案有些地方配置錯誤了,需要傳回修改,否則Samba服務無法運作。

确認配置無誤後,重新開機Samba服務以使修改過的配置生效:

$ systemctl restart smb.service
           

7. 通路Samba共享檔案夾

7.1 從Windows通路Samba

在檔案管理器的位址欄或“運作”視窗輸入IP位址,即可通路Samba共享檔案夾,輸入格式為:雙斜杠+IP位址,舉例如下:

\\192.168.0.101
           

7.2 從Linux通路Samba

  • UI界面

    以Ubuntu為例,在檔案資料總管中側欄選擇“Connect to Server”輸入:

smb://192.168.2.106
           
  • 指令行

    将Samba共享檔案夾挂載至本地:

$ mount -t cifs -o username=root,password=123456 //192.168.0.101 /mnt/
           

繼續閱讀