Articles

Windows-shares op Linux mounten met CIFS

Posted on

Op Linux- en UNIX-besturingssystemen kan een Windows-share op een bepaald koppelpunt in de lokale mappenstructuur worden gekoppeld met de cifs optie van het mountcommando.

Het Common Internet File System (CIFS) is een protocol voor het delen van bestanden op een netwerk. CIFS is een vorm van SMB.

In deze tutorial leggen we uit hoe u Windows-shares handmatig en automatisch kunt mounten op Linux-systemen.

CIFS Utilities Packages installeren #

Om een Windows-share op een Linux-systeem te mounten, moet u eerst het CIFS utilities-pakket installeren.

  • Installeren van CIFS utilities op Ubuntu en Debian:

    sudo apt updatesudo apt install cifs-utils
  • Installeren van CIFS utilities op CentOS en Fedora:

    sudo dnf install cifs-utils

De pakketnaam kan verschillen tussen Linux-distributies.

Mounting a CIFS Windows Share #

Mounting a remote Windows share is similar to mounting regular file systems.

Maak eerst een map aan die als koppelpunt voor de Windows share op afstand kan dienen:

sudo mkdir /mnt/win_share

Uitvoeren van het volgende commando als root of gebruiker met sudoprivileges om de share te koppelen:

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

U wordt gevraagd om het wachtwoord in te voeren:

Password:

Bij succes wordt er geen uitvoer geproduceerd.

Om te controleren of de Windows share op afstand met succes is aangekoppeld, gebruikt u het mount of df -hcommando.

Als de share eenmaal is aangekoppeld, wordt het aankoppelpunt de hoofddirectory van het aangekoppelde bestandssysteem. U kunt met de bestanden op afstand werken alsof het lokale bestanden zijn.

Het wachtwoord kan ook op de commandoregel worden opgegeven:

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

Als de gebruiker in een Windows-werkgroep of -domein zit, kunt u het als volgt instellen:

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

Voor een betere beveiliging is het aan te bevelen een credentials-bestand te gebruiken, dat de gebruikersnaam, het wachtwoord en het domein van de share bevat.

Het referentiebestand heeft het volgende formaat:

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

Het bestand mag niet leesbaar zijn voor gebruikers. Voer uit:

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

Om het credentials-bestand te gebruiken, definieer je het als volgt:

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

De standaardinstelling is dat de gemounte share eigendom is van root, en dat de permissies zijn ingesteld op 777.

Gebruik de dir_mode optie om de directory rechten in te stellen en file_mode om de bestands rechten in te stellen:

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

Het standaard gebruikers- en groepseigendom kan worden gewijzigd met de uid en gid opties:

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

Om extra opties in te stellen, voegt u ze als een door komma’s gescheiden lijst toe na de -o optie. Om een lijst van alle mount opties te krijgen typt u man mount in uw terminal.

Auto Mounting #

Wanneer de share handmatig wordt gemount met het mount commando, blijft deze niet bestaan na een reboot.

Het /etc/fstab bestand bevat een lijst met regels die bepalen waar en welk bestandssysteem bij het opstarten van het systeem zal worden aangekoppeld.

Om een Windows share automatisch aan te koppelen bij het opstarten van uw Linux systeem, definieert u de koppeling in het /etc/fstab bestand. De regel moet de hostnaam of het IP-adres van de Windows PC bevatten, de naam van de share, en het koppelpunt op de lokale machine.

Open het /etc/fstab bestand met uw tekstverwerker:

sudo nano /etc/fstab

Voeg de volgende regel aan het bestand toe:

/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

Uitvoeren van de volgende opdracht om de share te mounten:

sudo mount /mnt/win_share

Het mount commando, zal de inhoud van de /etc/fstab lezen en de share mounten.

De volgende keer dat u het systeem herstart, wordt de Windows share automatisch aangekoppeld.

Ontkoppelen Windows Share #

Het umount commando ontkoppelt (unmounts) het aangekoppelde bestandssysteem van de mappenstructuur.

Om een aangekoppelde Windows share te ontkoppelen, gebruikt u het umount commando gevolgd door ofwel de directory waar het is aangekoppeld of de remote share:

sudo umount /mnt/win_share

Als de CIFS mount een entry heeft in het fstab bestand, verwijder deze dan.

Het umount commando zal falen om de share te ontkoppelen als deze in gebruik is. Om uit te vinden welke processen toegang hebben tot de windows share, gebruik je het fuser commando:

fuser -m MOUNT_POINT

Als je de processen hebt gevonden, kun je ze stoppen met het killcommando en de share unmounten.

Als u nog steeds problemen heeft met het unmounten van de share, gebruik dan de -l--lazy) optie, waarmee u een druk bestandssysteem kunt unmounten zodra het niet meer druk is.

sudo umount -l MOUNT_POINT

Conclusie #

In Linux kunt u een Windows shared mounten met het mount commando met de cifs optie.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *