在Linux/UNIX操作系統可以使用mount
命令在指定的掛載點掛載CIFS Windows共享目錄。
通用Internet文件系統CIFS,是一種網絡文件共享協議。CIFS是SMB另一種形式。在本教程中,我們將說明如何在Linux掛載Windows共享目錄。
安裝 CIFS客戶端
要在Linux系統掛載CIFS Windows共享目錄,首先需要安裝CIFS軟件包。軟件包名稱在Linux發行版之間可能有所不同。
如果你的計算機運行的是基于Debian的Linux發行版,例如Ubuntu,Linux mint。請運行命令sudo apt install cifs-utils
安裝samba客戶端smbclient。
如果你的計算機運行的是基于RedHat的Linux發行版,例如CentOS,Fedora。請運行命令sudo yum install cifs-utils
安裝samba客戶端smbclient。
sudo apt update
sudo apt install cifs-utils
#Redhat
sudo dnf install cifs-utils
掛載CIFS Windows共享目錄
掛載遠程Windows共享目錄類似于掛載普通文件系統。首先,運行mkdir命令創建目錄作為遠程Windows共享目錄的掛載點。
以root或具有sudo權限的用戶運行mount命令來掛載Windows共享目錄。系統將提示您輸入密碼。
是Windows共享用戶名,是可選參數,
是Windows共享用戶密碼,也是可選項參數。
WIN_SHARE_IP
Windows的IP地址,/mnt/win_share
掛載點目錄。share_name
是Windows共享名稱。
指定Windows 域,是可選項參數。
成功后,不會有任何輸出。要驗證是否成功安掛載遠程Windows共享,請運行mount
命令或df -h
命令。
當完成掛載Windows共享,掛載點目錄就和普通目錄一樣。你可以對待本地文件一樣使用遠程文件。
sudo mkdir /mnt/win_share
sudo mount -t cifs -o username= //WIN_SHARE_IP/ /mnt/win_share
#specify password
sudo mount -t cifs -o username=,password= //WIN_SHARE_IP/ /mnt/win_share
#specify win_domain
sudo mount -t cifs -o username=,domain= //WIN_SHARE_IP/ /mnt/win_share
mount
Password:
創建CIFS Windows共享憑證文件
為了提高安全性,建議使用憑證文件,其中包含共享用戶名,密碼和域。你可創建文件etc/win-credentials保存用戶憑證。
在本教程中,我們使用vim創建文件etc/win-credentials。憑證文件具有以下格式。完成編輯后,保存文件并退出vim。
為使其它用戶不能讀取憑證文件。你需要設置正確的權限和所有權。運行命令sudo chown root: etc/win-credentials
。
要在mount命令指定使用的憑證文件,使用mount命令的-o
和參數credentials
指定憑證文件的絕對路徑。
sudo vim etc/win-credentials
sudo chown root: etc/win-credentials
sudo mount -t cifs -o credentials=etc/win-credentials //WIN_SHARE_IP/ /mnt/win_share
username = user
password = password
domain = domain
設置CIFS Windows共享文件與目錄權限
默認情況下,掛載共享的所有者為root,并且權限設置為777。你可以使用dir_mode
選項設置目錄權限模式。
使用file_mode
設置文件權限模式。使用uid
和gid
選項更改默認的用戶和組所有權。
要設置其它掛載參數,請在-o
選項之后指定多個參數,多個參數使用逗號分隔。要獲取所有掛載參數,請在終端運行命令man mount
。
sudo mount -t cifs -o credentials=etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/ /mnt/win_share
sudo mount -t cifs -o credentials=etc/win-credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/ /mnt/win_share
自動掛載
當使用mount
命令掛載CIFS Windows共享目錄時,當重新啟動后,你需要重新運行mount命令掛載。
etc/fstab
文件包含一個掛載點列表,這些條目定義在系統啟動時將在何處以及如何掛載文件系統。
要在Linux 系統啟動時自動掛載CIFS Windows共享目錄,請在etc/fstab
文件中定義掛載信息。
此行必須包含Windows主機名或IP地址,共享目錄名稱以及Linux 本地計算機的掛載點。
繼續使用你喜歡文本編輯器打開文件etc/fstab
,我們還是vim編輯文件并將以下行添加到文件etc/fstab
。
完成編輯后,保存文件并退出vim。運行mount命令掛載Windows共享目錄。
mount
命令將會讀取etc/fstab
內容并掛載Windows 共享目錄。當下次重新啟動Linux系統時,Windows共享目錄將會被自動掛載。
sudo vim etc/fstab
sudo mount /mnt/win_share
# <file system> <options> <dump>
WIN_SHARE_IP/share_name /mnt/win_share cifs credentials=etc/win-credentials,file_mode=0755,dir_mode=0755 0 0
卸載 Windows共享目錄
umount
命令可以從目錄樹中卸載已掛載的文件系統。要卸載已掛載的Windows共享目錄。請運行umount
命令,后跟已掛載的Windows共享的目錄或掛載點。
如果etc/fstab
文件中配置自動掛載Windows共享,請將其刪除或者在該行的開頭添加#
注釋掉。
例如本教程示例,可以運行命令sudo umount /mnt/win_share卸載CIFS Windows共享目錄。
sudo umount /mnt/win_share
如果你在卸載Windows共享時,遇到文件系統繁忙或者其它進程訪問著Windows共享。你可能需要找到哪些進程正在訪問Windows共享。
命令fuser -m MOUNT_POINT
可幫助我們找到正在訪問Windows共享目錄的進程,MOUNT_POINT
是掛載點。
在本教程示例掛載點是/mnt/win_share
,則fuser查找進程的命令是fuser -m /var/backups
。
fuser -m /var/backups
找到正在訪問NFS共享目錄的進程后,可以使用kill
命令將其終止,然后卸載Windows共享。
如果仍然存在卸載的問題,請使用umount命令的-l
/--lazy
選項,該選項可讓您在文件系統不再繁忙后立即將其卸載。
如果無法訪問遠程Windows共享,請使用-f
/--force
選項強制卸載。通常,使用強制選項不是一個好主意,因為它可能會損壞文件系統的數據。
sudo umount -f MOUNT_POINT
sudo umount -l MOUNT_POINT
結論
在Linux可以使用mount
命令Windows共享。如果您有任何問題或反饋,請隨時發表評論。
-
Linux
+關注
關注
87文章
11469瀏覽量
212895 -
WINDOWS
+關注
關注
4文章
3608瀏覽量
91013 -
操作系統
+關注
關注
37文章
7103瀏覽量
125033 -
UNIX
+關注
關注
0文章
296瀏覽量
42117
發布評論請先 登錄
RK3568開發板教程:以iTOP-RK3568開發板為例 Android13通過CIFS協議掛載Windows共享目錄

一文掌握RK3568開發板Android13掛載Windows共享目錄
【OK210試用體驗】Vbox-linux與windows實現文件共享的多種方法探討(Gavin第四篇)
Samba實現Linux與Windows共享詳解
怎么快速共享Linux系統的某個目錄
Windows和Linux的區別以及Linux系統的目錄結構

Linux目錄結構與Windows對比
嵌入式設備NFS掛載目錄(基于iTop 4412)

Linux根文件系統的掛載過程
一文掌握RK3568開發板Android13掛載Windows共享目錄

評論