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/