IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

POSIX C Discussion :

Droits des sémaphores nommés créés en tant que root


Sujet :

POSIX C

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 22
    Points : 30
    Points
    30
    Par défaut Droits des sémaphores nommés créés en tant que root
    Bonjour,

    Je n'ai pas réussi à créer un sémaphore avec droits d'écriture pour groupe et utilisateur depuis un programme C exécuté en tant que root.

    Ainsi, le bout de code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sem_open ("mutex", O_RDWR | O_CREAT, 00777, 0) ;
    Va bien créer un sémaphore mais avec les droits suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -rwxr-xr-x 1 root root 32 23 juil. 14:59 sem.mutex
    Comme on peut le voir, malgré les droits en 777 le sémaphore n'est pas accessible en écriture pour les utilisateurs du groupe et les autres.

    Ma question est donc pourquoi ? Est-il interdit pour raison de sécurité de faire cela (dans mon cas il s'agit d'écrire un daemon serveur, pouvant communiquer avec des clients par shm / sémaphores) ? Si oui, quelles alternatives puis-je utiliser ?

    Merci d'avance si vous pouvez m'éclairer.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 360
    Points : 23 600
    Points
    23 600
    Par défaut
    Bonjour,

    Parce qu'à l'instar d'open(), sem_open() se soumet à l'umask de ton processus.

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 22
    Points : 30
    Points
    30
    Par défaut
    Très bien merci, j'ai pu résoudre le problème.

    Cependant je m'interroge : est-ce une solution acceptable de changer l'umask d'un processus en root ou est-ce dangereux et ne vaut-mieux t'il pas utiliser un autre moyen de communication ?

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 360
    Points : 23 600
    Points
    23 600
    Par défaut
    Citation Envoyé par Dliw0 Voir le message
    Très bien merci, j'ai pu résoudre le problème.

    Cependant je m'interroge : est-ce une solution acceptable de changer l'umask d'un processus en root ou est-ce dangereux et ne vaut-mieux t'il pas utiliser un autre moyen de communication ?
    En fait, tu n'as pas besoin de changer l'umask du processus pour parvenir à tes fins. En principe, le mieux est de ne pas y toucher du tout et de laisser le tout à la discrétion de l'administrateur. Si tu as nécessairement besoin d'appliquer un mode précis à ces fichiers, tu peux toujours faire un chmod() dessus.

    Tu peux aussi te rabattre sur les sémaphores Sys V originaux, dont les instances existent en mémoire mais ne sont pas visibles à travers le système de fichiers (uniquement via ipcs).

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 22
    Points : 30
    Points
    30
    Par défaut
    Parfait, merci pour les explications.
    Je passe le sujet en résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/10/2007, 21h15
  2. connexion tant que root
    Par PhiberOptik dans le forum Administration système
    Réponses: 6
    Dernier message: 24/06/2007, 15h24
  3. Réponses: 6
    Dernier message: 22/05/2007, 11h45
  4. [Système] Exécuter un script en tant que root
    Par grunk dans le forum Langage
    Réponses: 3
    Dernier message: 09/01/2007, 20h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo