Windows文件共享使用了SMB協議(又稱CIFS協議),該協議主要提供了文件共享和打印共享功能,分別使用TCP 139和445端口。UNIX、Linux系統提供了該協議的開源實現samba。為了方便開發和調試,在Windows宿主機和CentOS虛擬機之間通過SMB協議共享文件夾,在Windows 10系統下使用IDE開發,在CentOS下編譯調試。具體方法如下:
## 1. Windows開啟共享文件夾在Windows系統上,對想要共享的文件夾點右鍵,選擇“授予訪問權限”,然后設置samba客戶端訪問該文件夾時要使用的用戶及讀寫權限。
## 2. 用samba-client測試共享文件夾在CentOS虛擬機上,安裝samba客戶端samba-client:“yum install samba-client.x86_64”,然后使用“smbclient //192.168.56.1/source_code -U "Administrators"”命令測試連上Windows的SMB服務器,輸入"l"命令可以列出目錄下的文件。由於samba-client是命令行工具,不便於使用,因此使用cifs-utils工具將Windows的共享文件夾掛載到CentOS文件系統。
## 3.在CentOS上掛載共享文件夾安裝cifs-utils:“yum install cifs-utils”,在/mnt目錄下創建source_code,然后用mount命令掛載目錄:“mount –t cifs -o username=Administrators,password=123456,vers=3.0 \\\\192.168.56.1\\source_code /mnt/source_code”,注意:Windows 10系統需要添加“vers=3.0”這個參數否則會出現“Host is down”錯誤。
## 4.設置開機自動加載為了方便每次虛擬機開機自動掛載source_code目錄,在/etc/fstab中添加一行:“//192.168.56.1/source_code /mnt/source_code cifs defaults,username=Administrators,password=123456,vers=3.0 0 0”。