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

Linux Discussion :

Comment rajouter des attributs à un fichier


Sujet :

Linux

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2004
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comment rajouter des attributs à un fichier
    Bonjour,

    J'ai de bonnes connaissances en informatique mais je n'en sais pas suffisamment en programmation système, aussi je viens poser ma question sur ce forum. Cela fait longtemps que je souhaite savoir si l'on peut rajouter des attributs à un fichier de n'importe quel type (fichier, dossier, etc), et si oui sans alourdir la place utilisée étant donné que ce serait fait en principe au niveau du descripteur. Par exemple, tout fichier comporte un attribut de date de création. De la même manière, je voudrais pouvoir rajouter un attribut perso même s'il ne tient que sur un bit. Comme je n'imagine pas créer un système linux spécial qui tiendrait compte de cette modif , existe-t-il des solutions de secours comme des emplacements réservés non utilisés dans le descripteur, un contournement possible, etc. La raison est que je veux pouvoir associer deux traitements possibles à n'importe quel fichier existant en fonction de la valeur de ce bit (ou plus si place). Idéalement je voudrais m'affranchir de toute plateforme donc la question vaut aussi pour Windows, mais ce n'est pas prioritaire. Je m'interroge sur la faisabilité de la manip, peut-être que d'autres solutions sont envisageables mais je ne vois pas lesquelles.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2014
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 498
    Points : 1 178
    Points
    1 178
    Par défaut
    étant donné que ce serait fait en principe au niveau du descripteur
    Recoder Linux en rajoutant une ligne dans le .h (j'ai oublié le nom du header du descripteur de fichier dans le kernel linux)C'est clair que tu oublie directement l'idée

    Aucun attribut perso que ce soit dans le header du descripteur, de FILE ou de INODE, les fichiers kernels restent pour une utilisation kernel et non utilisateur donc il n'y a aucun emplacement réservé non utilisé.

    Idéalement je voudrais m'affranchir de toute plateforme donc la question vaut aussi pour Windows
    Du coup tu te doute bien que ça ne risque pas de se faire au niveau du descripteur de fichier^^

    C'est quoi exactement le but de la manip? Tu veux classé tes fichiers en 2 catégories mais sur quel critère?

  3. #3
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    les attributs sur les fichiers dépendent directement du système de fichier, côté Linux les FS classiques style Ext{2, 3, 4}, Btrfs etc. supportent y compris des attributs étendus qu'on adresse à travers les commandes du package attr et il est également possible de définir des attributs utilisateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # setfattr -n user.coincoin -v toto fichier
    # getfattr -d fichier
    # file : fichier
    user.coincoin="toto"
    en revanche je sais pas réellement où sont stockées les métadonnées, mais il faut bien stocker quelque part ces données arbitraires, donc ça prend forcément de la place à un endroit ou un autre sur le disque, multiplié par autant de fichiers dont on aura étendu les attributs



    Edit: côté Microsoft, quand on cherche très rapidement ça semble parler d'Alternate Data Streams, au moins sur NTFS, c'est donc peut-être à creuser...
    Edit2: quelque soit le besoin, DVP y pourvoira : https://manumation.developpez.com/articles/windows/ads/

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Avril 2014
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 498
    Points : 1 178
    Points
    1 178
    Par défaut
    Merci pour la précision BufferBob

    en revanche je sais pas réellement où sont stockées les métadonnées
    Visiblement, d'après https://ext4.wiki.kernel.org/index.p...tribute_Values , dans le cas d' Ext4 les attributs étendus sont situés :
    • Ou bien directement dans l'inode à la fin
    • Ou bien dans un block à part et le pointeur *i_acl dans l'inode pointe sur ce bloc


    Edit : Il semblerait que les attributs étendus ne soient pas préservés lors de l'appel à cp ou rsync ça peut être bon à savoir.

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/08/2007, 15h42
  2. comment ajouter des élements À un fichier XML
    Par ryoussef19 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 09/07/2007, 09h14
  3. Réponses: 12
    Dernier message: 04/01/2007, 17h31
  4. [struts][html:link] comment rajouter un attribut id ?
    Par Gromitou dans le forum Struts 1
    Réponses: 8
    Dernier message: 04/04/2006, 18h14
  5. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09

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