Salut
Je suis confronté à un petit problème de permission de répertoire que je n'arrive pas à fixer.
J'utilise la fonction système mkdir pour créer un répertoire avec les droits 777 et il ne me les créée qu'avec les droits 755.
Apparemment d'après la doc de mkdir http://pwet.fr/man/linux/appels_systemes/mkdir
Citation :
mkdir crée un nouveau répertoire nommé pathname.
Le paramètre mode spécifie les permissions à appliquer au répertoire. Cette valeur peut être modifiée par le umask du processus : les permissions du répertoire effectivement créé vaudront (mode & ~umask & 0777). Les autres bits de mode du répertoire créé dépendent du système d'exploitation. Pour Linux, voir plus loin.
Le répertoire nouvellement créé aura pour propriétaire l'UID effectif du processus. Si le répertoire au-dessus du nouveau répertoire a son bit Set-GID à 1, ou si le système de fichier est monté avec une sémantique de groupe BSD, le nouveau répertoire héritera de l'appartenance au groupe de son parent. Sinon il appartiendra au groupe correspondant au GID effectif du processus.
Si le répertoire parent a son bit Set-GID à 1, le nouveau répertoire aura aussi son bit Set-GID à 1.
|
le 2ème paramètre de la fonction n'est pas totalement pris en compte , ou plus exactement, il est également dépendant du umask du processus. C'est là que je bloque un peu car je ne sais pas quelle action effectuer pour pouvoir créer un répertoire avec tous les droits.
But : ce répertoire est partagé en NFS ,et comme les users ne sont pas transmis à travers le partage, je ne bénéficie que des droits "others" coté client. J'ai pourtant besoin de pouvoir écrire dans le répertoire il faut donc que je positionne le flag "w" pour "others" coté serveur.
Quelqu'un peut-il m'éclairer ?
Merci
Edit : oublier de préciser . Le programme pourra se trouver sous linux ou sous freebsd.
Message édité par xilebo le 25-10-2010 à 12:08:35