# Droits et permissions des utilisateurs pour chaque repertoir

**URL:** <https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 8:12 UTC](https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924 "2016-02-21T20:12:48Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![tafita](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tafita](https://www.debian-fr.org/u/tafita)\
**Post date:** [Février 21, 2016, 8:12 UTC](https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924/1 "2016-02-21T20:12:48Z")

</div>

Salut,

Je fais un synchro avec unison,ça marche très bien.Pour être sur des droits et permission sur le serveur distant,j’aimerai re-passer pour les droits et permissions sur chaque répertoire au lieu que chaque utilisateur a l’accès sur tous les répertoire. Donc j’ai crée un script qui modifie les droits et permission

#!/bin/bash  
racine=’/home/user/taf’  
test=$(ls racine |grep BAC)  
projet=$/racine/$test

for projet in racine ; do

```
    chgrp user $projet
    chgrp -R user "$projet/ref"
    chmod -R 640 "$projet/ref/ta"
    chmod -R 640 "$projet/ref/te"

```

done  
exit 0

dans le /home/user/taf nous avons BAC\_1 BAC\_2 BAC\_3 BAC\_4  
But : C’est de changer les droits et groupe de chaque BAC\_\*

Apres le lancement de ce script,j’ai ceci

ls: impossible d’accéder à racine: Aucun fichier ou dossier de ce type  
chgrp: impossible d’accéder à « racine »: Aucun fichier ou dossier de ce type  
chgrp: impossible d’accéder à « racine/ref »: Aucun fichier ou dossier de ce type  
chmod: impossible d’accéder à « racine/ref/ta »: Aucun fichier ou dossier de ce type  
chmod: impossible d’accéder à « racine/ref/te »: Aucun fichier ou dossier de ce type

J’ai passé pas mal de temps pour chercher des solutions,mais rien de [positif.Je](http://positif.Je) compte sur vous les amis.

tafita

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 8:12 UTC](https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924/2 "2016-02-21T20:12:48Z")

</div>

[code]#!/bin/bash  
racine=’/home/user/taf’  
test=$(ls “$racine” |grep BAC) # c’est là il manquait le $  
projet="/racine/$test" # et il y en avait un en trop là

for projet in racine ; do  
chgrp user "$projet"  
chgrp -R user "$projet/ref"  
chmod -R 640 "$projet/ref/ta"  
chmod -R 640 "$projet/ref/te"  
done  
exit 0[/code]

---

<div class="post-metadata">

**Author:** ![tafita](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tafita](https://www.debian-fr.org/u/tafita)\
**Post date:** [Février 21, 2016, 8:13 UTC](https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924/3 "2016-02-21T20:13:11Z")

</div>

Bonjour MisterFreez;

Je faisais comme ça :

#!/bin/bash  
racine=’/home/user/taf’  
test=$(ls “$racine” |grep BAC) #modifier  
projet="/racine/$test" # medifier aussi

for “$projet” in “$racine” ; do  
chgrp user "$projet"  
chgrp -R user "$projet/ref"  
chmod -R 640 "$projet/ref/ta"  
chmod -R 640 "$projet/ref/te"  
done  
exit 0  
Après j’ai ce résultat :  
./test.sh: ligne13: « “$projet” » : identifiant non valable  
Est-ce le variable projet n’est pas bien définit?

tafita

---

<div class="post-metadata">

**Author:** ![Mimoza](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mimoza/32/3858_2.png) [@Mimoza](https://www.debian-fr.org/u/Mimoza)\
**Post date:** [Février 21, 2016, 8:13 UTC](https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924/4 "2016-02-21T20:13:12Z")

</div>

Tu es sûr qu’il n’y a pas une option dans unisson pour la conservation des droits ? ![:think:](https://www.debian-fr.org/uploads/default/original/1X/98cae0704aea0201d04f151843e80a3ecd391eca.gif "Think")

---

<div class="post-metadata">

**Author:** ![tafita](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tafita](https://www.debian-fr.org/u/tafita)\
**Post date:** [Février 21, 2016, 8:13 UTC](https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924/5 "2016-02-21T20:13:13Z")

</div>

Il y en a mais,je ne veux pas l’utiliser parce que certains docs que je synchronise ont de grandes importance et que certains collègues n’ont pas les droits ni permissions de lecture ou ecritures.

---

<div class="post-metadata">

**Author:** ![Mimoza](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mimoza/32/3858_2.png) [@Mimoza](https://www.debian-fr.org/u/Mimoza)\
**Post date:** [Février 21, 2016, 8:13 UTC](https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924/6 "2016-02-21T20:13:21Z")

</div>

regarde bien la boucle “for” que t’a donné MisterFreez, un simple caractère peut tout casser 😉

PS : met les numéro de ligne de ton script, ça aidera a bien localiser l’erreur car dans le message d’erreur il y a ce numéro.

---

<div class="post-metadata">

**Author:** ![tafita](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tafita](https://www.debian-fr.org/u/tafita)\
**Post date:** [Février 21, 2016, 8:13 UTC](https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924/7 "2016-02-21T20:13:21Z")

</div>

1 #!/bin/bash  
2 racine=’/home/user/taf’  
3 test=$(ls “$racine” |grep BAC)  
4 projet="/racine/$test"  
5  
6 for “$projet” in “$racine” ; do  
7  
8 chgrp user "$projet"  
9 chgrp -R user "$projet/ref"  
10 chmod -R 640 "$projet/ref/ta"  
11 chmod -R 640 "$projet/ref/te"  
12  
13 done  
14 exit 0  
15

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 8:13 UTC](https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924/8 "2016-02-21T20:13:21Z")

</div>

[code]#!/bin/bash  
racine=’/home/user/taf’  
test=$(ls “$racine” |grep BAC)  
projet="/racine/$test"

for projet in “$racine” ; do # pas de $ dans projet ici comme dans les déclarations de variables  
chgrp user "$projet"  
chgrp -R user "$projet/ref"  
chmod -R 640 "$projet/ref/ta"  
chmod -R 640 "$projet/ref/te"  
done  
exit 0[/code]

---

<div class="post-metadata">

**Author:** ![tafita](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tafita](https://www.debian-fr.org/u/tafita)\
**Post date:** [Février 21, 2016, 8:13 UTC](https://www.debian-fr.org/t/droits-et-permissions-des-utilisateurs-pour-chaque-repertoir/61924/9 "2016-02-21T20:13:51Z")

</div>

#!/bin/bash  
racine=’/home/user/taf’  
test=$(ls “$racine” |grep BAC \> user.txt)  
cat user.txt |while read line; do  
projet="$racine/$line"  
chgrp user "$projet"  
chgrp user "$projet/ref"  
chmod -R 640 "$projet/ref/ta"  
chmod -R 640 “$projet/ref/te”

#echo “$projet”

done

C’est résolu,merci mes amis

Tafita
