LINUX

Come montare una cartella WebDAV all’avvio su CentOS 6.x #2

Nel precedente articolo ho mostrato come montare una cartella WebDAV remota all’avvio di un sistema operativo Linux CentOS 6.x, utilizzando davfs2 e expect.

Schermata 2014-11-17 alle 17.52.39

La ricerca di expect si è resa necessaria per automatizzare la fase di autenticazione sul repository remoto. In realtà è possibile evitare l’utilizzo di expect andando a salvare le credenziali di accesso in un file di configurazione ad hoc.

Di seguito la soluzione #2 al problema.

Editare il file secrets

nano /etc/davfs2/secrets

Aggiungendo la riga

...
http://<ip-dominio>/<webDAV> <username> <password>
...

Editare il file fstab

nano /etc/fstab

Aggiungendo la riga in coda

http://<ip-dominio>/<webDAV> /opt/webdav/ davfs defaults,uid=0,gid=0,noauto 0 0

Esempio file completo

#
# /etc/fstab
# Created by anaconda on Thu Apr 23 12:14:02 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_etlsrv-lv_root /                       ext4    defaults        1 1
UUID=535c634c-2580-4345-ad23-bc4556528b7b /boot                   ext4    defaults        1 2
/dev/mapper/vg_etlsrv-lv_home /home                   ext4    defaults        1 2
/dev/mapper/vg_etlsrv-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
http://<ip-dominio>/<webDAV> /opt/webdav/ davfs defaults,uid=0,gid=0,noauto 0 0

Creare un file mount_webdav.sh con il seguente contenuto

#cartella mount point file di esempio
mount /opt/webdav/

E come fatto precedentemente fornirgli i permessi di esecuzione

chmod 755 mount_webdav.sh

e editare crontab per lanciarlo al riavvio.

nano /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
@reboot  root  /opt/scripts/mount_webdav.sh

Fatto. Dovrebbe funzionare.