Petite question sur chmod

Le
Jean Bon (de Parme)
Bonjour

J'ai une petite question.

J'ai un fichier dont je suis le proprio (moi:moi)

moi@P2800:/home/data/$ ls -l -R mon_fichier
-rwxrwxr-x 1 moi moi 813571072 2008-11-22 17:36 Mon_fichier

Si j'essaye de virer le bit executable en utilisant (r+w ; 4+2):
(Le R majuscule dans la ligne suivante c'est pour Recurcif)

chmod 666 * -R

Je me retrouve avec ca en faisant ls -l -R :

-????????? ? ? ? ? ? Mon_fichier

Par contre si je fais sudo ls -l -R

-rw-rw-rw- 1 moi moi 813571072 2008-11-22 17:36 Mon_fichier

Pourquoi suis je obligé d'avoir les droits root pour lire ou changer
les droit d'un fichier dont j'ai juste viré l'attribut executable ?

Desolé de poser une question aussi basique, mais je suis toujours
passé par un GUI pour faire cette manip et maintenant j'aimerai bien
approfondir

Merci de vos lumieres.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Erwan David
Le #18028831
"Jean Bon (de Parme)"
Bonjour

J'ai une petite question.

J'ai un fichier dont je suis le proprio (moi:moi)

:/home/data/$ ls -l -R mon_fichier
-rwxrwxr-x 1 moi moi 813571072 2008-11-22 17:36 Mon_fichier

Si j'essaye de virer le bit executable en utilisant (r+w ; 4+2):
(Le R majuscule dans la ligne suivante c'est pour Recurcif)

chmod 666 * -R

Je me retrouve avec ca en faisant ls -l -R :

-????????? ? ? ? ? ? Mon_fichier

Par contre si je fais sudo ls -l -R

-rw-rw-rw- 1 moi moi 813571072 2008-11-22 17:36 Mon_fichier

Pourquoi suis je obligé d'avoir les droits root pour lire ou changer
les droit d'un fichier dont j'ai juste viré l'attribut executable ?



Parceque tu t'es retiré les droits d'exécution sur le répertoire
contenant le fichier ? Tu as gardé les droits de lectures, donc tu peux
avoir la liste des fichiers. Mais n'ayant pas les droits d'exécutions tu
ne peux rien en faire, ni open() ni stat().

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Jean Bon (de Parme)
Le #18035871
On Tue, 02 Dec 2008 23:53:34 +0100, Erwan David wrote:

Pourquoi suis je obligé d'avoir les droits root pour lire ou changer
les droit d'un fichier dont j'ai juste viré l'attribut executable ?



Parceque tu t'es retiré les droits d'exécution sur le répertoire
contenant le fichier ? Tu as gardé les droits de lectures, donc tu peux
avoir la liste des fichiers. Mais n'ayant pas les droits d'exécutions tu
ne peux rien en faire, ni open() ni stat().



Ben justement je peux pas lire le fichier.
Meme un fichier texte de 1ko avec kate par exemple.

Je dois utiliser sudo alors le le x est retiré a tout le monde.
YBM
Le #18036301
Jean Bon (de Parme) a écrit :
On Tue, 02 Dec 2008 23:53:34 +0100, Erwan David wrote:

Pourquoi suis je obligé d'avoir les droits root pour lire ou changer
les droit d'un fichier dont j'ai juste viré l'attribut executable ?


Parceque tu t'es retiré les droits d'exécution sur le répertoire
contenant le fichier ? Tu as gardé les droits de lectures, donc tu peux
avoir la liste des fichiers. Mais n'ayant pas les droits d'exécutions tu
ne peux rien en faire, ni open() ni stat().



Ben justement je peux pas lire le fichier.
Meme un fichier texte de 1ko avec kate par exemple.

Je dois utiliser sudo alors le le x est retiré a tout le monde.



Qu'est-ce que tu veux permettre et interdire exactement et à qui ?
Jean Bon (de Parme)
Le #18037341
On Wed, 03 Dec 2008 18:40:41 +0100, YBM
Jean Bon (de Parme) a écrit :
On Tue, 02 Dec 2008 23:53:34 +0100, Erwan David wrote:

Pourquoi suis je obligé d'avoir les droits root pour lire ou changer
les droit d'un fichier dont j'ai juste viré l'attribut executable ?


Parceque tu t'es retiré les droits d'exécution sur le répertoire
contenant le fichier ? Tu as gardé les droits de lectures, donc tu peux
avoir la liste des fichiers. Mais n'ayant pas les droits d'exécutions tu
ne peux rien en faire, ni open() ni stat().



Ben justement je peux pas lire le fichier.
Meme un fichier texte de 1ko avec kate par exemple.

Je dois utiliser sudo alors le le x est retiré a tout le monde.



Qu'est-ce que tu veux permettre et interdire exactement et à qui ?



Je veux simplement degager l'attribut "x executable" en ligne de
commande.
Mais si j'applique :

:$chmod 666 *

je ne peux plus y acceder en lecture ecriture sans passer par sudo.
Alors qu'en ca ne pose pas de probleme:
: chmod 777 *

Mais a ce moment là il y a l'attribut executable. Mais c'est pas un
executable, c'est un fichier texte.

Cet attribut apparait lorsque je copie des fichier de CD/DVD vers
ext3.
Erwan David
Le #18037861
"Jean Bon (de Parme)"
On Tue, 02 Dec 2008 23:53:34 +0100, Erwan David wrote:

Pourquoi suis je obligé d'avoir les droits root pour lire ou changer
les droit d'un fichier dont j'ai juste viré l'attribut executable ?



Parceque tu t'es retiré les droits d'exécution sur le répertoire
contenant le fichier ? Tu as gardé les droits de lectures, donc tu peux
avoir la liste des fichiers. Mais n'ayant pas les droits d'exécutions tu
ne peux rien en faire, ni open() ni stat().



Ben justement je peux pas lire le fichier.
Meme un fichier texte de 1ko avec kate par exemple.

Je dois utiliser sudo alors le le x est retiré a tout le monde.



Mais il faut laisser le bit x aux répertoires...

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Michaël
Le #18037851
Jean Bon (de Parme) a jugé bon de nous dire :
[...]
Je veux simplement degager l'attribut "x executable" en ligne de
commande.
Mais si j'applique :

:$chmod 666 *

je ne peux plus y acceder en lecture ecriture sans passer par sudo.
Alors qu'en ca ne pose pas de probleme:
: chmod 777 *

Mais a ce moment là il y a l'attribut executable. Mais c'est pas un
executable, c'est un fichier texte.

Cet attribut apparait lorsque je copie des fichier de CD/DVD vers
ext3.



Je ne suis pas sûr d'avoir bien compris toute la manipulation (quel est
le répertoire courant quand tu lances le chmod, etc.), mais je sais que
si on enlève l'attribut x (exécution) à un dossier, on ne peut plus rien
y exécuter, et même la lecture devient impossible. Je me suis déjà
retrouvé avec des listings en ?????, et c'était à chaque fois parce que
le dossier parent n'était pas « exécutable ».

En ce qui concerne les fichiers copiés depuis des CD, DVD, clés USB,
etc., l'attribution est normale : le système de fichiers de ces supports
ne gère pas les droits. Au moment du montage, ce sont les droits par
défaut qui s'appliquent, dont l'exécution pour tous les fichiers.

Si tu veux enlever tous les attributs x des fichiers, il faut le faire
de manière à préserver les dossiers, et ne lancer le chmod que sur les
fichiers :

$ find . -type f -exec chmod -x "{}" ;

(en se plaçant à la racine de l'arborescence copiée)


--
les seuls qui lisent les FAQs sont ceux qui savent déjà ce qu'il
y a dedans.
-+- AT in: Guide du Cabaliste Usenet - chapitre 4 -+-
Jean Bon (de Parme)
Le #18038631
On Wed, 03 Dec 2008 20:53:58 +0100, Erwan David wrote:

"Jean Bon (de Parme)"
On Tue, 02 Dec 2008 23:53:34 +0100, Erwan David wrote:

Pourquoi suis je obligé d'avoir les droits root pour lire ou changer
les droit d'un fichier dont j'ai juste viré l'attribut executable ?



Parceque tu t'es retiré les droits d'exécution sur le répertoire
contenant le fichier ? Tu as gardé les droits de lectures, donc tu peux
avoir la liste des fichiers. Mais n'ayant pas les droits d'exécutions tu
ne peux rien en faire, ni open() ni stat().



Ben justement je peux pas lire le fichier.
Meme un fichier texte de 1ko avec kate par exemple.

Je dois utiliser sudo alors le le x est retiré a tout le monde.



Mais il faut laisser le bit x aux répertoires...



haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ca a l'air d'etre ca.
Je vais jeter un oeuil...
Jean Bon (de Parme)
Le #18039581
On Wed, 03 Dec 2008 20:53:58 +0100, Erwan David wrote:

"Jean Bon (de Parme)"
On Tue, 02 Dec 2008 23:53:34 +0100, Erwan David wrote:

Pourquoi suis je obligé d'avoir les droits root pour lire ou changer
les droit d'un fichier dont j'ai juste viré l'attribut executable ?



Parceque tu t'es retiré les droits d'exécution sur le répertoire
contenant le fichier ? Tu as gardé les droits de lectures, donc tu peux
avoir la liste des fichiers. Mais n'ayant pas les droits d'exécutions tu
ne peux rien en faire, ni open() ni stat().



Ben justement je peux pas lire le fichier.
Meme un fichier texte de 1ko avec kate par exemple.

Je dois utiliser sudo alors le le x est retiré a tout le monde.



Mais il faut laisser le bit x aux répertoires



Bon c'est plus simple comme ca :

chmod -R -x,a+rwX

-R : recurcif
-x ca desactive l'executable
+X ca active le l'attribut du repertoire
Jean Bon (de Parme)
Le #18039791
On Wed, 03 Dec 2008 20:54:25 +0100, Michaël wrote:


Si tu veux enlever tous les attributs x des fichiers, il faut le faire
de manière à préserver les dossiers, et ne lancer le chmod que sur les
fichiers :

$ find . -type f -exec chmod -x "{}" ;



Bon c'est plus simple comme ca :

chmod -R -x,a+rwX

-R : recurcif
-x ca desactive l'executable
+X ca active le l'attribut du repertoire

Par contre ca peut poser probleme chez certains qui veulent pas
reactiver les repertoires. Mais chez moi ca me derange pas.
Publicité
Poster une réponse
Anonyme