Re: chmod marche pas ... pourquoi?

2005-05-22 Par sujet 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 <[EMAIL PROTECTED]> - Web: 
100% accessible validated (X)HTML - 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 [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: chmod marche pas ... pourquoi?

2005-05-22 Par sujet 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 "%x\n" `stat -L +mode fichier`

ou pour l'avoir en octal:

$ printf "%o\n" `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_IFLNK012   symbolic link
[...]
   S_IRWXU00700 mask for file owner permissions
   S_IRUSR00400 owner has read permission
   S_IWUSR00200 owner has write permission
   S_IXUSR00100 owner has execute permission
   S_IRWXG00070 mask for group permissions
   S_IRGRP00040 group has read permission
   S_IWGRP00020 group has write permission
   S_IXGRP00010 group has execute permission
   S_IRWXO7 mask for permissions for others (not in group)
   S_IROTH4 others have read permission
   S_IWOTH2 others have write permisson
   S_IXOTH1 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 <[EMAIL PROTECTED]> - Web: 
100% accessible validated (X)HTML - 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 [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: chmod marche pas ... pourquoi?

2005-05-22 Par sujet 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 [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: chmod marche pas ... pourquoi?

2005-05-22 Par sujet 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 <[EMAIL PROTECTED]> - Web: 
100% accessible validated (X)HTML - 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 [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: chmod marche pas ... pourquoi?

2005-05-21 Par sujet 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 [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: chmod marche pas ... pourquoi?

2005-05-20 Par sujet =?iso-8859-1?q?Fran=E7ois_TOURDE?=
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 [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: chmod marche pas ... pourquoi?

2005-05-20 Par sujet 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



Re: chmod marche pas ... pourquoi?

2005-05-20 Par sujet 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 [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



chmod marche pas ... pourquoi?

2005-05-20 Par sujet 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 [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]