Débutant C++ sous Gentoo, prob avec droits mkdir [Résolu]

Débutant C++ sous Gentoo, prob avec droits mkdir [Résolu] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 06-09-2007 à 22:51:59    

Bonjour, je débute en C++ et je me fait quelques exercices par rapport a ce que je peux apprendre ici ou là sur le net...
 
J'ai un petit soucis je n'arrive pas a créer de dossiers avec les bon droits, comme j'utilise ce code:
 
mkdir("/home/troublefete/test",777);
 
j'ai pas les droits 777  :??:  
 
si je créé ce dossier via Konsole et que je tape chmod 777, j'ai pas du tout la même chose qu'avec ce code
 
En fait le résultat de ce code c'est:
 
Pour Utilisateur: juste le droit de Lecture
Pour Groupe: juste le droit d'entrer
Pour Autres: juste le droit d'entrer
 
de plus "Sticky" est activer ce qui n'est pas le cas d'un dossier créé avec cette même commande mkdir mais dans Konsole.
 
quelqu'un saurait d'où ça vient et comment créer des répertoires en C++ avec le même résultat que si c'était créé avec la commande mkdir sans argument dans Konsole ?
 
Merci d'avance  :jap:


Message édité par trouble_fete le 07-09-2007 à 01:25:10
Reply

Marsh Posté le 06-09-2007 à 22:51:59   

Reply

Marsh Posté le 06-09-2007 à 22:57:19    

Tiré de man 2 mkdir
 

Citation :

NOTES
       Under  Linux apart from the permission bits, only the S_ISVTX mode bit is honored. That is, under Linux
       the created directory actually gets mode (mode & ~umask & 01777).  See also stat(2).


 
 
consultes la valeur de umask  (un umask suffit pour ça, normalement) pour voir si ça correspond à ce que tu remarques comme comportement


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 06-09-2007 à 23:05:22    

Ah non c'est bon Zzozo ;) en fait c'est en faisant quelques recherches supplémentaires que je viens de me rendre compte que les droits ne s'écrivent pas toujours sous la forme des 3 chiffres, parfois il faut rajouter un 0 devant et là c'était le cas:
 

Citation :

mkdir("/home/troublefete/test",0777);


 
C'est tout con mais fallait-il encore trouver la bonne info  :D  
 
Merci quand même Zzozo  :jap:

Reply

Marsh Posté le 06-09-2007 à 23:12:52    

Zut, j'avais complètement zappé l'histoire de l'octal.
 
Décidément, je vieillis  [:doriangray]


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 06-09-2007 à 23:54:37    

Spa grave je t'aime quand même c'est l'intention (d'aider) qui compte  :hello:

Reply

Marsh Posté le 07-09-2007 à 09:16:28    

trouble_fete, tu comprends que le 0 n'est pas juste un 0 mais un indicateur comme quoi le nombre qui suit est en octal ? 0777 ce n'est pas 777, mais 511.

Reply

Marsh Posté le 07-09-2007 à 13:05:24    

Ah ah merci matafan je n'avais pas compris les subtilitées de l'octal ! en tout cas les droits du dossiers sont quand même identiques a ceux des dossiers présent dans mon /home, c'est le principal pour cette exéprience mais je vais me renseigner sur les correspondances octal/"normal"
merci !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed