viernes, 7 de junio de 2024

ODOO (XVII) Crear un servicio para montar una carpeta con Samba de un servidor Windows

 1. Crear el punto de montaje

Primeramente crearemos la carpeta /mnt/ZZ_SCANEIG en nuestro serviodor de ODOO en Debian


2. Crear el shell script de montaje

Ahora crearemos en /home/informatica/MyShells este script

#1. j = Número de parametros que damos de entrada
j=$#;

#2. Damos una clave de desencriptación mala
myPwd='....'
#3. Solo asumimos un parámetro de entrada que es la clave para desencriptar
if [ $j -eq 1 ]
then 
  myPwd=$1
fi

#4. Definimos las carpetas de montaje y de linkado externo 
mntFolders[0]=/mnt/ZZ_SCANEIG
folders[ 0]=//192.168.28.6/S$/E2-062_URBANISME/ZZ-ESCANEIG
#5. Usuario y contraseñas encriptados de acceso al servidor de disco Windows
usersencr[ 0]='U2FsdGVkX1+7KTYaMPWpBTyzfM60e3VEw3U+OedTXQs='
pwdsencr[ 0]='U2FsdGVkX1+iS2UfAhfIyTabgUjJ9ws1jkU9lA2sxBw='

#6. Numero de carpetas a montar (en este caso solo una
total=${#mntFolders[*]}
for (( i=0; i<=$(( $total -1 )); i++ ))
do
    echo "$i montant en ${mntFolders[$i]} a  ${folders[$i]}"

    #7. Desencriptando usuario y contraseña con la clave
    aPwd=`echo "${pwdsencr[$i]}" | openssl enc -aes-256-cbc -md sha512 -a -d -pbkdf2 -iter 100000  -salt -pass pass:"$myPwd"`
    aUser=`echo "${usersencr[$i]}" | openssl enc -aes-256-cbc -md sha512 -a -d -pbkdf2 -iter 100000  -salt -pass pass:"$myPwd"`

    #8. MOntando la carpeta en el punto de linkado con Samba v.3
echo "$pwdEdu" | sudo -S mount -t cifs -o "domain=AYUNTAMIENTO,username=$aUser,password=$aPwd,vers=3.0,rw,hard,nosetuids,noperm" "${folders[$i]}" "${mntFolders[$i]}"
done


3. Crear el fichero de servicio systemd

Nos vasamos en https://www.heatware.net/linux-tips/run-execute-script-on-linux-startup/. Ahora ejecutamos

# Creación del fichero de servicio
sudo nano /etc/systemd/system/mount_disks.service

Y escribimos

[Unit]
Description=Mount ZZ_ESCNEIG disk at startup

[Service]
ExecStart=/home/informatica/MyShells/mount_disks.sh

[Install]
WantedBy=multi-user.target


4. Activar y arrancar el servicio

Ejecutamos

# Activar el servicio
sudo systemctl enable your_service.service

# Arrancar el servicio
sudo systemctl start mount_disks.service

No hay comentarios :

Publicar un comentario