Permissions altérées
Bonjour à tous,
voilà, j'ai écris un petit script bash pour modifier automatiquement les
permissions sur différents répertoires.
Malheureusement, une erreur s'est glissé et cela à modifié les
permissions de certains fichiers. La conséquence est que maintenant avec
mon utilisateur pyfux, je ne peux plus lancer X.
Voila le code:
#!/bin/bash
user=pyfux
basedir=/var
perm=a-rwx,ug+r
path[0]=$basedir/www-data
path[1]=$basedir/www-data/php.include
path[2]=$basedir/www/media.web
path[3]=$basedir/www/media.web/images
path[4]=$basedir/www/media.web/javascript
for index in `seq 0 ${#path[@]}`
do
echo "Modification du prorietaire du repertoire: ${path[index]}";
chown $user ${path[index]};
chgrp $user ${path[index]};
echo "Modification des perm des fichiers du rep: ${path[index]}";
chmod $perm ${path[index]}/*;
done
Bien, cherchez l'erreur...
La réponse: for index in `seq 0 ${#path[@]}`
incrémente d'un index en trop: le 5ième.
Ainsi lors de la 5ieme itération, les traitements (chown, chgrp et
chmod) opère sur: / !!!!
Comment revenir sur les anciens droits pour les répertoire juste
sous / ?
PyFux, le débordeur de array
Reply to: