#!/bin/bash
########################################################
# Objet : definir droits acces arborescence
# On passe la tête de l'arborescence en argument 
# Auteur : 
# Date   : 03/12/2025
########################################################
vers="1.11"

clear
echo "============Version============"$vers
SITE=$1

echo "Gestion droits accès arborencence = "$vers
cd $SITE

#echo "Tête arborescence par défaut :" $(echo pwd)
#read -p "Nouvelle tête arborescence " SITE
if [ -d "$SITE" ] ; then
        echo "Tête arborescence : OK"
else
        echo "Error : Directory does not exist"
        exit
fi

# Select ownership

read -p "Définir owner  = " US1
getent passwd $US1 > /dev/null
if [ $? -eq 0 ] ; then
	read -p "Définir groupe = " GR1
	getent group $GR1 > /dev/null
	if [ $? -gt 0 ] ; then
		echo "Erreur groupe "
		exit
	fi
else
	echo "Erreur owner"
	exit
fi
USR=$US1":"$GR1


# Rappel sur la définition des droits
# 1=execute 2=write 4=read
# Donc 6=RW / 4=R only
# Pour les droits répertoires on ajoute 1
# Fin du rappel

read -p "Definir droits Owner : RW = 6 / R only = 4 = " OWN
read -p "Definir droits Group : RW = 6 / R only = 4 = " GRP

echo $OWN | grep "4\|6" > /dev/null
if [ $? -gt 0 ] ; then
	echo "Erreur droits Owner "
	exit
fi

echo $GRP | grep "4\|6" > /dev/null
if [ $? -gt 0 ] ; then
        echo "Erreur droits Group "
        exit
fi

let FILRGHT=$OWN*100+$GRP*10
let OWN++
let GRP++
let DIRRGHT=$OWN*100+$GRP*10

echo "========================"
echo " Adjuster Arborescence de "$SITE" à "$USR 
echo " Directory "$DIRRGHT" Files "$FILRGHT
echo "========================"

read -p " O/N = " cde2
cde2=$(echo -n $cde2 | awk '{ print toupper($0) } ' )
  if [ "$cde2" != "O" ]
  then
    echo -e "\n"$MODE" Opération annullée"
    exit
  fi

echo "Change Ownership to "$USR
chown -Rv $USR $SITE > /dev/null

echo "Adjust Dir Rights"
find $SITE -type d -exec chmod $DIRRGHT {} \;

echo "Adjust Files Rights"
find $SITE -type f -exec chmod $FILRGHT {} \;

echo Done
echo "========================"


