#!/bin/bash if [ `dpkg -l | egrep -c "cifs-utils|smbclient"` -lt 2 ] then apt-get update apt-get -y install cifs-utils smbclient fi for d in /home/shares/*/* do umount $d > /dev/null 2>&1 || umount $d/* > /dev/null 2>&1 rmdir $d/* > /dev/null 2>&1 rmdir $d > /dev/null 2>&1 done # Remove all ^//ecole-dc lines in fstab sed -i.bak '/^\/\/ecole-dc/d' /etc/fstab declare -A LEVELS LEVELS=(['01-mini']='CP' ['02-super']='CE' ['03-maxi']='CM') CLASSES=(['01-mini']='01-CP' ['02-super']='02-CE1-CE2' ['03-maxi']='03-CM1-CM2') # Students for usr in 01-mini 02-super 03-maxi do mkdir -p /home/shares/$usr/ELEVES mkdir -p /home/shares/$usr/PROFESSEURS chown -R direction:direction /home/shares/$usr lvl=${LEVELS[$usr]} if [ $lvl != 'CP' ] then lvl2="${lvl}1-${lvl}2" else lvl2=$lvl fi lvlcred=$(echo "$lvl" | awk '{print tolower($0)}') cat <>/etc/fstab //ecole-dc/$lvl2/donnees /home/shares/$usr/PROFESSEURS/ cifs _netdev,users,noauto,vers=1.0,credentials=/etc/cifs/secrets/$lvlcred,uid=$usr,gid=$usr 0 0 //ecole-dc/$lvl2/travail /home/shares/$usr/ELEVES/ cifs _netdev,users,noauto,vers=1.0,credentials=/etc/cifs/secrets/$lvlcred,uid=$usr,gid=$usr 0 0 EOF done # profs for usr in direction do mkdir -p /home/shares/$usr/SCAN for classe in 01-CP 02-CE1-CE2 03-CM1-CM2 do mkdir -p /home/shares/$usr/$classe/PROFESSEURS mkdir -p /home/shares/$usr/$classe/ELEVES lvl=`echo $classe | sed 's/^[0-9]*-//'` # Should not be prof-cp cat <>/etc/fstab //ecole-dc/profs-$lvl/classe/donnees /home/shares/$usr/$classe/PROFESSEURS/ cifs _netdev,users,noauto,vers=1.0,credentials=/etc/cifs/secrets/prof,uid=$usr,gid=$usr 0 0 //ecole-dc/profs-$lvl/classe/travail /home/shares/$usr/$classe/ELEVES/ cifs _netdev,users,noauto,vers=1.0,credentials=/etc/cifs/secrets/prof,uid=$usr,gid=$usr 0 0 EOF done chown -R $usr:$usr /home/shares/$usr cat <>/etc/fstab //ecole-dc/SCAN /home/shares/$usr/SCAN/ cifs _netdev,users,noauto,vers=1.0,credentials=/etc/cifs/secrets/prof,uid=$usr,gid=$usr 0 0 EOF done # Confidential mkdir -p /home/shares/prof/CONFIDENTIEL mkdir -p /home/shares/direction/CONFIDENTIEL_PROFESSEURS mkdir -p /home/shares/direction/CONFIDENTIEL_DIRECTION cat <>/etc/fstab //ecole-dc/svc-prof/perso /home/shares/prof/CONFIDENTIEL/ cifs _netdev,users,noauto,vers=1.0,credentials=/etc/cifs/secrets/prof,uid=prof,gid=prof 0 0 //ecole-dc/svc-prof/perso /home/shares/direction/CONFIDENTIEL_PROFESSEURS/ cifs _netdev,users,noauto,vers=1.0,credentials=/etc/cifs/secrets/prof,uid=direction,gid=direction 0 0 //ecole-dc/svc-dir/perso /home/shares/direction/CONFIDENTIEL_DIRECTION/ cifs _netdev,users,noauto,vers=1.0,credentials=/etc/cifs/secrets/dir,uid=direction,gid=direction 0 0 EOF cp `dirname $0`/mount_shares.service /etc/systemd/system/ systemctl daemon-reload ping -c 3 ecole-dc if [ $? -eq 0 ] then systemctl start mount_shares.service else echo "ATTENTION : les montages sont actives mais ecole-dc n'est pas joignable" fi systemctl enable mount_shares.service