Windows-shares & bash

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

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.

Bronnen