[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 #!/bin/bash 2 3 #Nom du dossier d'échange: 4 echange="_echange" 5 statut="" 6 7 ladate=$(date +"%Y.%m.%d-%H.%M.%S") 8 9 chemin_levee="/tmp" 10 11 if [ ! -z "$1" -a -e "/var/se3/Classes/$1" ]; then 12 13 if echo "$1" | grep "Classe_grp" > /dev/null ; then 14 GRP_CLASSE=$(echo "$1" | sed -e "s/^Classe_grp_//") 15 else 16 GRP_CLASSE="$1" 17 fi 18 19 if [ "$2" = "etat" ]; then 20 if [ ! -e "/var/se3/Classes/$1/$echange" ]; then 21 statut="Non encore initialisé" 22 else 23 if getfacl /var/se3/Classes/$1/$echange 2> /dev/null | grep "^group:$GRP_CLASSE:rwx$" > /dev/null; then 24 statut="actif" 25 else 26 statut="verrouille" 27 fi 28 fi 29 else 30 case "$2" in 31 "verrouille") 32 33 if [ ! -e "/var/se3/Classes/$1/$echange" ]; then 34 mkdir -p /var/se3/Classes/$1/$echange 35 chown admin:nogroup /var/se3/Classes/$1/$echange 36 chmod 770 /var/se3/Classes/$1/$echange 37 fi 38 39 #Tous les droits pour tous les Profs 40 #(certains ne voient pas nécessairement le dossier var/se3/Classes/$1) 41 #c'est pourquoi je ne me suis pas embêté à trier quels profs... 42 43 #setfacl -R -m g:Profs:rwx /var/se3/Classes/$1/$echange 44 #setfacl -R -m d:g:Profs:rwx /var/se3/Classes/$1/$echange 45 #Cela serait inutile... droits hérités de /var/se3/Classes/$1 46 #Quoique... ça ne passe pas par Samba. 47 48 #Levée des droits pour tous les membres de la classe $1 49 setfacl -R -x g:$GRP_CLASSE /var/se3/Classes/$1/$echange 50 setfacl -R -x d:g:$GRP_CLASSE /var/se3/Classes/$1/$echange 51 52 if [ -e /var/www/se3/includes/config.inc.php ]; then 53 dbhost=`cat /var/www/se3/includes/config.inc.php | grep "dbhost=" | cut -d = -f 2 |cut -d \" -f 2` 54 dbname=`cat /var/www/se3/includes/config.inc.php | grep "dbname=" | cut -d = -f 2 |cut -d \" -f 2` 55 dbuser=`cat /var/www/se3/includes/config.inc.php | grep "dbuser=" | cut -d = -f 2 |cut -d \" -f 2` 56 dbpass=`cat /var/www/se3/includes/config.inc.php | grep "dbpass=" | cut -d = -f 2 |cut -d \" -f 2` 57 else 58 echo "Fichier de conf inaccessible" 59 exit 1 60 fi 61 62 acces_partage_public=$(echo "SELECT value FROM params WHERE name='autoriser_partage_public';"|mysql -N -h $dbhost -u $dbuser -p$dbpass $dbname) 63 if [ "$acces_partage_public" != "n" ]; then 64 #Interdiction d'accès à public: 65 setfacl -m g:$GRP_CLASSE:r /var/se3/Docs/public 66 fi 67 ;; 68 "actif") 69 70 if [ ! -e "/var/se3/Classes/$1/$echange" ]; then 71 mkdir -p /var/se3/Classes/$1/$echange 72 chown admin:nogroup /var/se3/Classes/$1/$echange 73 chmod 770 /var/se3/Classes/$1/$echange 74 fi 75 76 #echo "getfacl /var/se3/Classes/$1/$echange" 77 getfacl /var/se3/Classes/$1/$echange 78 79 #Tous les droits pour tous les membres de la classe $1 80 #echo "setfacl -R -m g:$GRP_CLASSE:rwx /var/se3/Classes/$1/$echange" 81 setfacl -R -m g:$GRP_CLASSE:rwx /var/se3/Classes/$1/$echange 82 #echo "setfacl -R -m d:g:$GRP_CLASSE:rwx /var/se3/Classes/$1/$echange" 83 setfacl -R -m d:g:$GRP_CLASSE:rwx /var/se3/Classes/$1/$echange 84 85 if [ -e /var/www/se3/includes/config.inc.php ]; then 86 dbhost=`cat /var/www/se3/includes/config.inc.php | grep "dbhost=" | cut -d = -f 2 |cut -d \" -f 2` 87 dbname=`cat /var/www/se3/includes/config.inc.php | grep "dbname=" | cut -d = -f 2 |cut -d \" -f 2` 88 dbuser=`cat /var/www/se3/includes/config.inc.php | grep "dbuser=" | cut -d = -f 2 |cut -d \" -f 2` 89 dbpass=`cat /var/www/se3/includes/config.inc.php | grep "dbpass=" | cut -d = -f 2 |cut -d \" -f 2` 90 else 91 echo "Fichier de conf inaccessible" 92 exit 1 93 fi 94 95 acces_partage_public=$(echo "SELECT value FROM params WHERE name='autoriser_partage_public';"|mysql -N -h $dbhost -u $dbuser -p$dbpass $dbname) 96 if [ "$acces_partage_public" != "n" ]; then 97 #Levée de l'interdiction d'accès à public: 98 #setfacl -m g:$1:rwx /var/se3/Docs/public 99 #echo "setfacl -x g:$GRP_CLASSE /var/se3/Docs/public" 100 setfacl -x g:$GRP_CLASSE /var/se3/Docs/public 101 fi 102 ;; 103 esac 104 fi 105 else 106 #ERREUR: Pour le moment, je ne fais qu'une et une seule classe. 107 echo "USAGE: Passer en paramètre \$1 le nom du dossier de classe" 108 echo " (correctement orthographié;o)." 109 echo " Et en paramètre \$2 'actif' pour autoriser l'accès à $echange" 110 echo " et n'importe quoi d'autre pour désactiver." 111 fi 112 113 echo $statut 114
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |