Linux: usare il comando mount all’interno di uno script eseguito dal demone crond. Praticamente impossibile !

Ho passato quasi 2 giorni pieni pieni di lavoro per mettere a punto uno script che all’ occorrenza montasse una condivisione in rete (samba) per usarla come repository di backup. Quando tutto sembrava funzionare bene, schedulo lo script e faccio un test… Si blocca al momento del mount. Il comando da solo sulla linea di comando funziona, sto facendo tutto da root, non mi spiego la cosa. Cerco qua e la sulla rete, modifico il comando di mount una infinità di volte con mille opzioni… niente, la cosa migliore che riesco ad ottenere è una richiesta di password che comunque blocca lo script (utente e password erano già inclusi nel comando n.d.r.). Alla fine capisco che il problema è che crond, anche se esegue task di root, non ha i suoi privilegi, e soprattutto non può usare il comando mount. Trovo però un bel tutorial per rendere mount eseguibile e funzionante con qualsiasi utente (si cambiano i premessi a mount ed umount e si decrive la risorsa da montare nel file fstab); quando tutto contento mi accingo a lanciare lo script mi appare una bella scritta che mi comunica che i programmatori di mount.cifs ( il team Samba n.d.r.) hanno deciso di non farlo funzionare se al comando hanno accesso tutti gli utenti, così.. per sicurezza. Unica soluzione (assolutamente deprecabile !) fare il downgrade di Samba e dei suoi tools ad una versione dove il controllo non era ancora stato inserito. Io invece ho rimesso tutto a posto (i permessi su mount ed umount) ed ho preferito:

  • Inserire le specifiche di mount nel file fstab con l’opzione auto
  • Inserire nello script il controllo che il mount sia effettivamente attivo ed al limite segnalare il problema o procedere con il backup

Spero presto di inserire gli script nella sezione (ancora in lavorazione) Open Source di BitBlast TecnoMagazine.

Lascia un commento