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

Shell et commandes GNU Discussion :

Problème de compréhension permission fichiers.


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Par défaut Problème de compréhension permission fichiers.
    Bonjour à tous,

    Je suis en train de coder un petit soft en programmation système.
    Dans un de mes programmes, je rend un fichier texte uniquement disponible en lecture en faisant comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chmod("path.txt", 00444)
    Et je teste la réussite et tout avec un if.

    Ensuite, je veux savoir quelles sont les permissions de ce fichier dans un autre programme, j'utilise donc le champ st_mode de stat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("Mode du fichier txt : %lo\n", (unsigned long) sb.st_mode);
    Qui me renvoie :
    Pourquoi ?
    Même en utilisant abondamment les man, je ne parviens pas à trouve d'ou vient ce 1 ?

    Quelqu'un pourrait-il m'éclairer la dessus ?

    Merci d'avance à ceux qui prendront le temps de me répondre

    EDIT : J'ai fini par trouver. Histoire de decimal/octal etc ...

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par Mornor Voir le message
    Même en utilisant abondamment les man, je ne parviens pas à trouve d'ou vient ce 1 ?
    Ce 1 indique qu'il s'agit d'un fichier "normal". Voir stat.h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define __S_IFREG 0100000 /* Regular file.  */
    EDIT : J'ai fini par trouver. Histoire de decimal/octal etc ...
    Ah bon ??

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 851
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Mornor Voir le message
    Ensuite, je veux savoir quelles sont les permissions de ce fichier dans un autre programme, j'utilise donc le champ st_mode de stat...Qui me renvoie :
    Pourquoi ?

    Quelqu'un pourrait-il m'éclairer la dessus ?
    Salut
    Les droits d'un fichier sont codés sur 12 bits (9 bits pour les rwxrwxrwx + 3 bits pour les sst).
    Sur les 16 bits d'un int, il reste donc 4 bits de disponibles. Ces 4 bits servent à coder le type de fichier (fichier régulier, dossier, pipe, socket, bloc, caractère, lien symbolique).
    Si tu veux afficher correctement le champ st_mode, il faut alors le masquer
    • soit par S_IFMT pour faire abstraction des droits
    • soit par ~S_IFMT pour faire abstraction du type


    Citation Envoyé par Mornor Voir le message
    Même en utilisant abondamment les man, je ne parviens pas à trouve d'ou vient ce 1 ?
    Ben t'as mal lu
    Citation Envoyé par Mornor Voir le message
    EDIT : J'ai fini par trouver. Histoire de decimal/octal etc ...
    Euh non même pas.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Problème de permission fichier
    Par bractar dans le forum Administration système
    Réponses: 6
    Dernier message: 16/11/2013, 13h25
  2. [Unix] problème avec des permissions sur un fichier
    Par bulbo dans le forum Administration système
    Réponses: 3
    Dernier message: 20/02/2008, 15h04
  3. onclipevent (problème de compréhension)
    Par stephane eyskens dans le forum Flash
    Réponses: 8
    Dernier message: 24/09/2003, 15h09
  4. Problème de compréhension des ensembles
    Par Cornell dans le forum Langage
    Réponses: 6
    Dernier message: 07/02/2003, 22h07
  5. [langage] Problème de taille de fichier à mettre dans
    Par And_the_problem_is dans le forum Langage
    Réponses: 10
    Dernier message: 13/08/2002, 09h41

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