Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 04/12/2017, à 17:43

Vronski

Syntaxe de chmod

Bonsoir à tous smile

Cette syntaxe passe sans problème :

chmod -r o=+r+w+X DOSSIER/*

Tout le monde peut lire écrire sur les fichiers de DOSSIER.

Mais comment viser un utilisateur précis ?

chmod [bidule]=+r+w x.txt

Ca ne passe pas. Et via son UID non plus : chmod UID de bidule =+r+w x.txt

Dernière modification par Vronski (Le 04/12/2017, à 17:44)

Hors ligne

#2 Le 04/12/2017, à 17:47

pingouinux

Re : Syntaxe de chmod

Bonjour,
Regarde du côté de setfacl.

Hors ligne

#3 Le 06/12/2017, à 14:10

Vronski

Re : Syntaxe de chmod

Bonjour smile

Donc, les ACL.
Mais, question subsidiaire : si l'on gère les chmod U.G.O en octal :la somme des droits U.G.O est un AND ou somme ? Un ET logique, comme avec des bits en assembleur ?

Hors ligne

#4 Le 06/12/2017, à 14:14

dylight

Re : Syntaxe de chmod

Bonjour,

est-ce que tu peux donner des exemples illustrant ta question ?

Hors ligne

#5 Le 06/12/2017, à 14:43

bruno

Re : Syntaxe de chmod

Bonjour,

Tu as tout intérêt à ne pas utiliser chmod en mode octal. C'est source d'erreurs et c'est moins souple.
En mode octal c'est une somme :
1 exécution (ou droit d'entrée pour un dossier)
2 écriture
4 lecture

chmod 700 équivaut à chmod u+rwx,go-rwx

Hors ligne

#6 Le 06/12/2017, à 15:08

MicP

Re : Syntaxe de chmod

  U       G       O      octal
 rwx     rwx     rwx      UGO   U   G   O
 000     000     000  =>  000  --- --- ---
 000     000     001  =>  001  --- --- --x
 000     000     010  =>  002  --- --- -w-
 000     000     011  =>  003  --- --- -wx
 000     000     100  =>  004  --- --- r--
 000     000     101  =>  005  --- --- r-x
 000     000     110  =>  006  --- --- rw-
 000     000     111  =>  007  --- --- rwx

 111     000     000  =>  700  rwx --- ---
 110     100     100  =>  644  rw- r-- r--
 111     111     111  =>  777  rwx rwx rwx

Dernière modification par MicP (Le 06/12/2017, à 15:10)

Hors ligne

#7 Le 06/12/2017, à 17:14

Vronski

Re : Syntaxe de chmod

Voilà... Vous avez répondu à ma question !
@Micp : je me faisais un tableau sous Calc, mais là, avec le tien, je comprends mieux.
@Bruno : si je n'active pas les ACL,  la syntaxe en question ne passe pas sous Debian 8 :

chmod [bidule]=+r+w x.txt

MAIS il y a peut-être une autre syntaxe ? Parce que là, l'OS n'a aucun moyen de savoir si bidule est un groupe ou un user.

Pour le dossiers contenant des fichiers de root, j'utilise ceci, en root, bien sûr :

chmod -R o=+r+w+X DOSSIER/*

J'ai trouvé ce X majuscule... je ne sais plus où.

Dernière modification par Vronski (Le 06/12/2017, à 17:16)

Hors ligne

#8 Le 06/12/2017, à 18:12

bruno

Re : Syntaxe de chmod

Vronski, tu ne peux pas faire n'importe quoi avec une commande wink Tout est expliqué dans man chmod et aussi : http://www.gnu.org/software/coreutils/m … invocation et les pages suivantes…

chmod agit sur les droits d'accès du propriétaire (u pour user) du groupe (g pour group), du reste du monde (o pour other) et éventuellement sur tout le monde en même temps avec a (all). Si tu as besoin de changer le propriétaire ou le groupe, il faut utiliser chown ou chgrp

Pour information +/-X ne s'applique qu'au dossiers alors que +/-x s'applique à tous les fichiers et dossiers. C'est une distinction très utile et impossible a obtenir en mode octal.

Tu n'as pas forcément besoin des ACL, tout dépend de ce que tu veux faire exactement…
Par exemple si tu a un dossier toto qui appartient à toto et au groupe bisounours avec des droits rwxrwx---

# ls -ld toto
drwxrwx--- 2 toto bisounours 4096 déc.   6 18:10 toto

toto peut bien sûr lire et écrire dans toto, mais tous les membres du groupe bisounours peuvent également le faire. Par contre les autres utilisateurs n"y ont pas accès.

Dernière modification par bruno (Le 06/12/2017, à 18:12)

Hors ligne

#9 Le 06/12/2017, à 18:41

pingouinux

Re : Syntaxe de chmod

bruno #8 a écrit :

Pour information +/-X ne s'applique qu'au dossiers alors que +/-x s'applique à tous les fichiers et dossiers.

Ce n'est pas tout à fait vrai : X s'applique aussi aux fichiers qui ont déjà une permission d'exécution.
Voici un extrait de man chmod :

execute/search only if the file is a directory or already has execute
       permission for some user (X)

Hors ligne

#10 Le 07/12/2017, à 09:59

kholo

Re : Syntaxe de chmod

salut,
avant de jouer avec 777, il faut comprendre les groupes.
par défaut le système crée un groupe pour l'utilisateur.
ça donne des fichiers avec propriétaire : utilisateur ; groupe utilisateur
pour faire des partages, il est bon d'utiliser un groupe dédié
on l'appel partage (par exemple)
puis on ajoute le groupe partage à plusieurs utilisateurs...
viennent les ACL :
on va créer un dossier et ajouter des ACL pour que chaque fichier créer ou déplacé ai le groupe partage
(c'est là où c'est plus compliqué car ça marche en création, mais pas en déplacement on doit donc le signaler en option...)

ACL
pour partager des dossiers ou documents sur un même ordinateur par des utilisateurs différents.
https://forum.ubuntu-fr.org/viewtopic.php?id=1990458
NB la doc sur les ACL

Hors ligne