Windows-shares & bash
Probleem
Bij een klant op locatie moet ik regelmatig connecten met een Samba-share op een Linux-server. Dat doe ik elke keer opnieuw via Nautilus. Dat moet handiger kunnen.
mount
Er lijken verschillende manieren te zijn om dit probleem via code op te lossen. Eén methode is mbv. het commando mount
. Syntaxis:
mount <filesystem-type> <filesystem> <directory>
Een manier om te achterhalen wat het huidige mount point is: Terminal openen in Nautilus in de betreffende share. De prompt geeft immers het pad aan. In dit geval:
/run/user/1000/gvfs/smb-share:server=schr2,share=admin,user=admin/backup
Met commando mount -l
, is dit waarschijnlijk de betreffende regel:
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=strompf)
Filesystem-type
Onduidelijk wat voor filesystem ik moet gebruiken om een Samba-share te mounten:
- ntfs-3g - Niet
- smb - Niet
- fuse - Geen foutmelding!
Filesystem
Hoe geef je de bron aan?
- smb://sch - Werkt niet. Hij lijkt
smb://
niet te herkennen - smb:/// - Werkt niet
- \\schr - Werkt niet
- \\\schr - Werkt niet
- //schr
- ///schr
- //smb://schr
- ///smb://schr
- \\smb://schr
mount.cifs
mount.cifs mount een remote target dat als een UNC-pad is gespecificeerd. Syntaxis:
mount.cifs <remote filesystem> <local dir> -o <opties>
Met mount.cifs is het gelukt!
Gelukt
sudo mount.cifs //192.168.1.1/admin //mnt/schr2 -o user=admin
Kritische punten:
- De toevoeging '/admin' achter het IP-adres is cruciaal: Anders zit je gewoon niet op het betreffende filesystem
- Hij vraagt nu om het wachtwoord
- Wachtwoord incorporeren in het script, werkte niet.