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 mount
commando.
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 update
sudo 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 -h
commando.
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:
username=userpassword=passworddomain=domain
Het bestand mag niet leesbaar zijn voor gebruikers. Voer uit:
sudo chown root: /etc/win-credentials
sudo 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:
# <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 kill
commando 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.