如何在 Ubuntu Linux 上掛載 Windows 共享

CIFS(Common Internet File System)是互聯網上流行的文件共享協議。 它允許 Linux 系統上的用戶訪問 Windows 共享上的特定掛載點。

CIFS 是 SMB(服務器消息塊)的實現 – 一種用於網絡文件共享的協議。

本教程將介紹安裝和配置相關實用程序的所有步驟,以便在 Linux 系統上掛載 windows 共享。

安裝 CIFS

使用以下命令行在 Ubuntu Linux 上安裝 cifs-utils 包

$ sudo apt-get update
$ sudo apt-get install cifs-utils

掛載 Windows 共享

在本節中,本教程將向您展示在 Linux 系統上手動和自動掛載 windows 共享的方法。

在你的 Ubuntu Linux 機器上創建一個目錄,目錄的名稱是任意的。 在下面的命令行中,我在 /mnt 下創建了一個名為 winshare 的文件夾

$ sudo mkdir /mnt/winshare

/mnt/winshare 是遠程 windows 共享的掛載點。

可以使用 mount 命令的 cifs 選項將 Windows 共享掛載​​到您的 Ubuntu Linux 系統掛載點上

$ sudo mount -t cifs -o username=$windows_user,password=$windows_user_password //WIN_SHARE_IP/$shared_name /mnt/winshare

在哪裡:

WIN_SHARE_IP 是windows 機器的IP 地址。

如果 $windows_user 在 windows 域中,則在以下命令行中指定域

$ sudo mount -t cifs -o username=$windows_user,password=$windows_user_password,domain=$windows_domain_name //WIN_SHARE_IP/$shared_name /mnt/winshare

默認情況下,linux 掛載 windows 共享具有完全權限(rwx 或 777)。 如果您想自行更改權限,請使用 dir_mode 和 file_mode 選項設置目錄和文件的權限。

$ sudo mount -t cifs -o username=$windows_user,password=$windows_user_password,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/$shared_name /mnt/winshare

您還可以通過指定 uid(用戶 ID)和 gid(組 ID)選項來更改用戶和組的默認所有權。

$ sudo mount -t cifs -o username=$windows_user,password=$windows_user_password,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/$shared_name /mnt/winshare

成功掛載 windows 共享後,使用命令 df -h 在 Linux 中驗證掛載 windows 共享。 在下面的 example, WIN_SHARE_IP = 192.168.1.8 和 $shared_name = 共享文件夾

$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3,9G 0 3,9G 0% /dev
tmpfs 787M 2,2M 785M 1% /run
/dev/sda2 450G 23G 405G 6% /
tmpfs 3,9G 705M 3,2G 18% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup
//192.168.1.8/sharefolder 300G 5,7G 295G 2% /mnt/winshare

安全 CIFS 憑證

本節將解釋在您的 Ubuntu Linux 使用命令掛載共享時如何使用憑證文件。

創建一個 cifs 憑證文件:/etc/cifs-credentials。 該文件包含以下信息:

username = $windows_user
password = $windows_user_password
domain = $windows_domain_name

授予對憑據文件的讀寫權限:

$ sudo chmod +rw /etc/cifs-credentials

現在,我們可以使用憑據和命令掛載共享,如下所示:

$ sudo mount -t cifs -o credentials=/etc/cifs-credentials //WIN_SHARE_IP/$shared_name /mnt/winshare

自動掛載共享

如果您使用 mount 命令手動掛載共享,當您重新啟動 Linux 機器時,共享將丟失。

文件 /etc/fstab 包含允許自動永久掛載 cif 的必要配置。

使用您喜歡的編輯器(vim、nano 等)編輯 /etc/fstab 文件

$ sudo vim /etc/fstab

然後將以下行添加到文件中。

//WIN_SHARE_IP/$shared_name /mnt/winshare cifs credentials=/etc/cifs-credentials,file_mode=0755,dir_node=0755 0 0

運行命令掛載 /etc/fstab 中列出的所有條目

$ sudo mount -a

從那時起,安裝 cifs 將在重新啟動後保持不變。

卸載共享

為了卸載共享,您必須確定安裝點。 在上面 example, 掛載點是/mnt/winshare。 使用卸載命令:

$ sudo umount /mnt/winshare

如果掛載點處於繁忙進程中並且上述命令失敗,請運行帶有選項 -l (–lazy) 的命令

$ sudo umount -t cifs -l /mnt/winshare

結論

本教程已經完成了使用 CIFS 在 Ubuntu Linux 上安裝 Windows 共享的所有步驟。 如果您有任何疑問,請隨時與我們聯繫。