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開機啟動
修改配置檔案
,将SELINUX值改為disabled/etc/selinux/config
...
#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/