#!/bin/bash
NOM="Ce dossier m'appartient"
VERSION="V.2015.10.22.1759"
error_LVL="0"
#~ fichierlog="$dirname/simplnamefile-$date-test.log"
#~ zenity --info --text=$fichierlog
#~ Ce script change le propriétaire et le groupe d'un dossier
#~ (avec sous dossiers et fichiers)
#~ il faut sélectionner un seul dossier
#~ nbre d'arguments considérés comme nombre de dossiers
NB_ARG=$#
traitemt="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
dirname_traitemt=$(dirname "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
#~ # vérifie qu'il n'y a qu'un seul élément sélectionné
if [ "$NB_ARG" != "1" ]; then
zenity --error --title="Ce dossier m'appartient "$VERSION"" --text="
$NB_ARG élément(s) sélectionné(s)
veuillez ne sélectionner qu'un seul dossier"
exit 1;
fi
#~ FONCTIONS
motif_est_dans_dossier ()
{
motif=$1
dossier=$2
if [ "$motif" == `expr substr $dossier 1 ${#motif}` ] ; then
zenity --info --text="$i
ne devrait pas changer de propriétaire
sortie du script...
"
exit 1;
fi
}
for i in $traitemt; do
#~ zenity --info --text="$i"
if [ -d "$i" ]; then
# protection pour empêcher les erreurs graves
#~ motif_est_dans_dossier "/" "$i"
motif_est_dans_dossier "/bin" "$i"
motif_est_dans_dossier "/boot" "$i"
motif_est_dans_dossier "/build" "$i"
motif_est_dans_dossier "/cdrom" "$i"
motif_est_dans_dossier "/dev" "$i"
motif_est_dans_dossier "/etc" "$i"
#~ motif_est_dans_dossier "/home" "$i"
motif_est_dans_dossier "/lib" "$i"
motif_est_dans_dossier "/lib32" "$i"
motif_est_dans_dossier "/lib64" "$i"
#~ motif_est_dans_dossier "/media" "$i"
motif_est_dans_dossier "/mnt" "$i"
motif_est_dans_dossier "/opt" "$i"
motif_est_dans_dossier "/proc" "$i"
motif_est_dans_dossier "/root" "$i"
motif_est_dans_dossier "/run" "$i"
motif_est_dans_dossier "/sbin" "$i"
motif_est_dans_dossier "/srv" "$i"
motif_est_dans_dossier "/sys" "$i"
motif_est_dans_dossier "/tmp" "$i"
motif_est_dans_dossier "/usr" "$i"
motif_est_dans_dossier "/var" "$i"
montext="le dossier
$i
et son contenu
vont changer de propriétaire
en faveur de $USER
Voulez-vous vraiment continuer ?
"
zenity --question --text="$montext"
if [ $? = "1" ]
then
#~ zenity --info --title="resultat" --text="exit"
exit 1;
fi
montext="Entrez le mot de passe de root"
mdp=$(zenity --password --title="$NOM_PGM $VERSION" --text="$montext")
#~ zenity --info --text="faux lancement du traitement de
#~ $i"
sudo -S chown -R $USER:$USER "$i"<<<"$mdp"
# TODO traitement des erreurs
shift
fi
done
#~ zenity --info --text="$error_LVL"
exit