OVH Cloud OVH Cloud

chmod marche pas ... pourquoi?

8 réponses
Avatar
Debian User
Bonjour,

Ca doit pourtant etre simple:

# ls -al |grep modem
lrwxr-xr-x 1 root dialout modem -> /dev/ttyS0
# chmod 777 /dev/ttyS0
# ls -al |grep modem
lrwxr-xr-x 1 root dialout modem -> /dev/ttyS0

Bon ca n'a pas change les droits n'ont pas changé

Je me suis dit qu'il fallait peut etre changé les droits de la
cible a savoir /dev/ttyS0 je les ai change en 777

# ls -al |grep ttyS0
lrwxr-xr-x 1 root dialout modem -> /dev/ttyS0
crwxrwxrwx 1 uucp dialout ttyS0

# rm /dev/modem
# ln -s /dev/ttyS0 /dev/modem
# ls -al |grep ttyS0
lrwxr-xr-x 1 root root modem -> /dev/ttyS0
crwxrwxrwx 1 uucp dialout ttyS0

Les droits sont toujours les memes sur /dev/modem.


# chmod 777 /dev/modem
solof:/dev# ls -al |grep modem
lrwxr-xr-x 1 root root modem -> /dev/ttyS0

# chmod 777 /dev/modem
solof:/dev# ls -al |grep modem
lrwxr-xr-x 1 root root modem -> /dev/ttyS0


Je comprends pas pourquoi j'arrive pas a changer les
permissions sur un lien

Il y a un truc que j'ai pas compris sur les liens???

Merci



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

8 réponses

Avatar
Cyprien
> Je comprends pas pourquoi j'arrive pas a changer les
permissions sur un lien



Simplement parce que ce n'est pas possible !
Enfin, il me semble !

Cyprien


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Klaus Becker
Le Vendredi 20 Mai 2005 21:08, Cyprien a écrit :
> Je comprends pas pourquoi j'arrive pas a changer les
> permissions sur un lien

Simplement parce que ce n'est pas possible !
Enfin, il me semble !



un lien n'a pas de permission, seulement la cible du lien

Klaus
Avatar
fra-duf-no-spam
Le 12923ième jour après Epoch,
Klaus Becker écrivait:

Le Vendredi 20 Mai 2005 21:08, Cyprien a écrit :
> Je comprends pas pourquoi j'arrive pas a changer les
> permissions sur un lien

Simplement parce que ce n'est pas possible !
Enfin, il me semble !



un lien n'a pas de permission, seulement la cible du lien



Je confirme... extrait du man de ln:

Un lien symbolique est d'un tout autre genre.
[...]
Lorsque l'on accède à un lien symbolique (avec les appels
systèmes open(2) ou stat(2)), le nom du lien symbolique est
remplacé, par le noyau Unix, par une référence au fichier
vers lequel le lien pointe. Toutefois, avec les appels
rm(1) et unlink(2) le lien lui-même est supprimé, et non pas le
fichier visé.

Par contre, là où je suis un peu choqué, c'est quand je vois les
permissions de ses fichiers liens: "lrwxr-xr-x" alors qu'il me semble
qu'en général, c'est "lrwxrwxrwx" ...


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Debian User
> Un lien symbolique est d'un tout autre genre.
[...]
Lorsque l'on accède à un lien symbolique (avec les appels
systèmes open(2) ou stat(2)), le nom du lien symbolique est
remplacé, par le noyau Unix, par une référence au fichier
vers lequel le lien pointe. Toutefois, avec les appels
rm(1) et unlink(2) le lien lui-même est supprimé, et non pas le
fichier visé.



J'avais compris que le lien était remplacé par le fichier cible.

cat /dev/modem = cat /dev/ttyS0 par exemple

Mais par contre qu'en est-il des permissions?

Et effectivement je comprendrais un peu mieux si les permissions du
liens étaient toutes à rwxrwxrwx. Tout le monde pourrait rwx le lien
mais une fois l'appel fait au lien se serait les permissions de la cible
qui entrerait en jeu....


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Vincent Lefevre
On 2005-05-21 10:05:04 +0200, Debian User wrote:
Et effectivement je comprendrais un peu mieux si les permissions du
liens étaient toutes à rwxrwxrwx.



C'est normalement le cas. Éventuellement, le "w" pourrait disparaître
sur une partition en read-only?

Essaie de voir ce que tu obtiens au niveau des appels système...

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Debian User
>
Essaie de voir ce que tu obtiens au niveau des appels système...



Hein? C'est quoi donc? Comment je fais-je?


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Vincent Lefevre
On 2005-05-22 23:59:07 +0200, Debian User wrote:
> Essaie de voir ce que tu obtiens au niveau des appels système...

Hein? C'est quoi donc? Comment je fais-je?



En fait, tu as déjà des front-end. Déjà, "ls -l" te donne ce qu'il
faut, mais on ne sait jamais, il fait peut-être un traitement, et
c'est pour ça qu'il peut être préférable d'obtenir le champ st_mode
(qui donne le type du fichier et les permissions) directement.

Avec le stat de coreutils:

$ stat -c%f fichier

Avec le stat de zsh (module zsh/stat):

$ printf "%xn" `stat -L +mode fichier`

ou pour l'avoir en octal:

$ printf "%on" `stat -L +mode fichier`

Normalement, tu devrais obtenir a1ff (en hexa) ou 120777 (en octal).

La page man stat(2) te donne la signification:

S_IFLNK 0120000 symbolic link
[...]
S_IRWXU 00700 mask for file owner permissions
S_IRUSR 00400 owner has read permission
S_IWUSR 00200 owner has write permission
S_IXUSR 00100 owner has execute permission
S_IRWXG 00070 mask for group permissions
S_IRGRP 00040 group has read permission
S_IWGRP 00020 group has write permission
S_IXGRP 00010 group has execute permission
S_IRWXO 00007 mask for permissions for others (not in group)
S_IROTH 00004 others have read permission
S_IWOTH 00002 others have write permisson
S_IXOTH 00001 others have execute permission

Maintenant, si c'est vraiment incorrect: pour corriger, c'est normal
que tu n'y arrives pas avec chmod. La page man chmod(1) dit:

chmod never changes the permissions of symbolic links; the chmod system
call cannot change their permissions. This is not a problem since the
permissions of symbolic links are never used. However, for each sym-
bolic link listed on the command line, chmod changes the permissions of
the pointed-to file. In contrast, chmod ignores symbolic links encoun-
tered during recursive directory traversals.

En revanche, l'appel système chmod modifie peut-être les permissions
du lien symbolique. Dans ce cas, il faut que tu te fasses un petit
programme C qui le fasse. Mais le plus simple est peut-être de faire
un rm du lien symbolique et de recréer le lien avec "ln -s".

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Vincent Lefevre
On 2005-05-21 01:24:41 +0200, François TOURDE wrote:
Le 12923ième jour après Epoch,
Klaus Becker écrivait:

> Le Vendredi 20 Mai 2005 21:08, Cyprien a écrit :
>> > Je comprends pas pourquoi j'arrive pas a changer les
>> > permissions sur un lien
>>
>> Simplement parce que ce n'est pas possible !
>> Enfin, il me semble !



Avec la commande chmod(1), c'est vrai (cf mon dernier message).
Avec l'appel système, c'est peut-être possible (pas essayé).

> un lien n'a pas de permission, seulement la cible du lien



Au niveau de l'appel système lstat, un lien a des permissions (c'est
normalement 0777, mais que se passe-t-il en cas de corruption du
système de fichier ou de bug du noyau qui les aurait changées?).

Je confirme... extrait du man de ln:

Un lien symbolique est d'un tout autre genre.
[...]
Lorsque l'on accède à un lien symbolique (avec les appels
systèmes open(2) ou stat(2)), le nom du lien symbolique est
remplacé, par le noyau Unix, par une référence au fichier
vers lequel le lien pointe. Toutefois, avec les appels
rm(1) et unlink(2) le lien lui-même est supprimé, et non pas le
fichier visé.



En plus de stat(2), tu as lstat(2), qui fait un stat sur le lien
lui-même et non pas sur le fichier pointé.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact