Articles

Jak zamontować udział Windows na Linuksie używając CIFS

Posted on

W systemach operacyjnych Linux i UNIX, udział Windows może być zamontowany na określonym punkcie montowania w lokalnym drzewie katalogów używając opcji cifs polecenia mount.

Wspólny internetowy system plików (CIFS) jest sieciowym protokołem współdzielenia plików. CIFS jest formą SMB.

W tym poradniku wyjaśnimy, jak ręcznie i automatycznie montować udziały Windows w systemach Linux.

Instalacja pakietów narzędzi CIFS #

Aby zamontować udział Windows w systemie Linux, należy najpierw zainstalować pakiet narzędzi CIFS.

  • Instalacja narzędzi CIFS na Ubuntu i Debianie:

    sudo apt updatesudo apt install cifs-utils
  • Instalacja narzędzi CIFS na CentOS i Fedorze:

    sudo dnf install cifs-utils

Nazwa pakietu może się różnić w różnych dystrybucjach Linuksa.

Montowanie udziału CIFS Windows #

Montowanie zdalnego udziału Windows jest podobne do montowania zwykłych systemów plików.

Najpierw należy utworzyć katalog, który posłuży jako punkt montowania dla zdalnego udziału Windows:

sudo mkdir /mnt/win_share

Wykonaj poniższe polecenie jako root lub użytkownik z uprawnieniami sudoprivile, aby zamontować udział:

sudo mount -t cifs -o username=<win_share_user> //WIN_SHARE_IP/<share_name> /mnt/win_share

Zostaniesz poproszony o podanie hasła:

Password:

W przypadku powodzenia, nie zostanie wygenerowane żadne wyjście.

Aby sprawdzić, czy zdalny udział Windows został pomyślnie zamontowany, należy użyć polecenia mount lub df -h.

Po zamontowaniu udziału punkt montowania staje się katalogiem głównym zamontowanego systemu plików. Możesz pracować z plikami zdalnymi tak, jakby były to pliki lokalne.

Hasło może być również podane w wierszu poleceń:

sudo mount -t cifs -o username=<win_share_user>,password=<win_share_password> //WIN_SHARE_IP/<share_name> /mnt/win_share

Jeśli użytkownik jest w windowsowej grupie roboczej lub domenie, możesz ustawić je w następujący sposób:

sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain> //WIN_SHARE_IP/<share_name> /mnt/win_share

Dla większego bezpieczeństwa zalecane jest użycie pliku poświadczeń, który zawiera nazwę użytkownika udziału, hasło i domenę.

Plik poświadczeń ma następujący format:

/etc/win-credentials
username=userpassword=passworddomain=domain

Plik nie może być odczytywany przez użytkowników. Aby ustawić prawidłowe uprawnienia i własność, uruchom:

sudo chown root: /etc/win-credentialssudo chmod 600 /etc/win-credentials

Aby użyć pliku poświadczeń, zdefiniuj go w następujący sposób:

sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/<share_name> /mnt/win_share

Domyślnie właścicielem zamontowanego udziału jest root, a uprawnienia są ustawione na 777.

Użyj opcji dir_mode aby ustawić uprawnienia do katalogów i file_mode aby ustawić uprawnienia do plików:

sudo mount -t cifs -o credentials=/etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share

Domyślną własność użytkownika i grupy można zmienić za pomocą opcji uid i gid:

sudo mount -t cifs -o credentials=/etc/win-credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share

Aby ustawić dodatkowe opcje, dodaj je jako listę oddzieloną przecinkami po opcji -o. Aby uzyskać listę wszystkich opcji montowania, wpisz man mount w swoim terminalu.

Automatyczne montowanie #

Gdy udział jest montowany ręcznie za pomocą polecenia mount, nie jest on zachowywany po ponownym uruchomieniu komputera.

Plik /etc/fstab zawiera listę wpisów określających gdzie, jak i jaki system plików zostanie zamontowany przy starcie systemu.

Aby automatycznie zamontować udział w systemie Windows przy starcie systemu Linux, zdefiniuj montowanie w pliku /etc/fstab. Wiersz musi zawierać nazwę hosta lub adres IP komputera z systemem Windows, nazwę udziału oraz punkt montowania na komputerze lokalnym.

Otworzyć plik /etc/fstab w edytorze tekstu:

sudo nano /etc/fstab

Dodać następujący wiersz do pliku:

/etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>//WIN_SHARE_IP/share_name /mnt/win_share cifs credentials=/etc/win-credentials,file_mode=0755,dir_mode=0755 0 0

Uruchomić następujące polecenie, aby zamontować udział:

sudo mount /mnt/win_share

Polecenie mount, odczyta zawartość folderu /etc/fstab i zamontuje udział.

Przy następnym restarcie systemu udział Windows zostanie zamontowany automatycznie.

Umontowanie udziału Windows #

Komenda umount odłącza (odmontowuje) zamontowany system plików od drzewa katalogów.

Aby odłączyć zamontowany udział w systemie Windows, należy użyć polecenia umount, a następnie katalogu, w którym został zamontowany, lub zdalnego udziału:

sudo umount /mnt/win_share

Jeśli zamontowany udział CIFS ma wpis w pliku fstab, należy go usunąć.

Polecenie umount nie zdoła odłączyć udziału, gdy jest on w użyciu. Aby dowiedzieć się, które procesy mają dostęp do udziału windows, użyj polecenia fuser:

fuser -m MOUNT_POINT

Gdy znajdziesz procesy, możesz je zatrzymać poleceniem killcommand i odmontować udział.

Jeśli nadal masz problemy z odmontowaniem udziału, użyj opcji -l--lazy), która pozwala odmontować zajęty system plików, gdy tylko przestanie być zajęty.

sudo umount -l MOUNT_POINT

Wniosek #

W Linuksie można zamontować współdzielony system Windows za pomocą polecenia mount z opcją cifs.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *