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

Sécurité Discussion :

Modification de la routine CHROOT


Sujet :

Sécurité

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de 3logy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2007
    Messages : 280
    Par défaut Modification de la routine CHROOT
    Bonjour / Bonsoir,

    j'ai beaucoup de questions à poser mais je vais me restreindre au minimum :

    1. Qu'est que CHROOT???
    2. Comment peut on modifier la routine CHROOT(par exemple pour presenter l'heure de connection d'un utilisateur lorsque celui ecrit dans un fichier log) ???

    Desole si je pose des questions noobs.

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Par défaut
    1. Qu'est que CHROOT???
    C'est de la mauvaise foi... !!!

    http://fr.wikipedia.org/wiki/Chroot

    2. Comment peut on modifier la routine CHROOT(par exemple pour presenter l'heure de connection d'un utilisateur lorsque celui ecrit dans un fichier log) ???
    Je ne vois pas l'intérêt de modifié la routine de chroot pour ton exemple... chroot ne fait que croire à un progamme une autre partition racine que celle du système.

    Une solution parmis d'autre : Créer un programme. Il aura la charge de vérifié le fichier de log et de lancé le programme que tu veux chrooté.

  3. #3
    Membre éclairé Avatar de 3logy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2007
    Messages : 280
    Par défaut
    Citation Envoyé par Senaku-seishin Voir le message
    C'est de la mauvaise foi... !!!

    http://fr.wikipedia.org/wiki/Chroot
    Non c'est pas de la mauvaise foi!! je t'avoue j'ai lu mais je voulais une explication un peu plus technique et un exemple quoi!!!

    Je ne vois pas l'intérêt de modifié la routine de chroot pour ton exemple... chroot ne fait que croire à un progamme une autre partition racine que celle du système.
    Je ne m'arrete pas a cet exemple... c'est juste le commencement pour comprendre le fonctionnement quoi!!

    Une solution parmis d'autre : Créer un programme. Il aura la charge de vérifié le fichier de log et de lancé le programme que tu veux chrooté.
    As tu un exemple??

    J'ai lu que chroot est un outil GNU faisant partie de coreutils et plus précisément des shellutils.

    Ou est situe le code du chroot dans GNU????

  4. #4
    Membre émérite
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Par défaut
    Quand tu fais appelle à la commande chroot - utilitaire de coreutils -, il va utilisé la bibliothèque standard posix - header unistd.h -. Sous GNU, elle est appellé Glibc

    Glibc va en réalite faire appelle au noyau.

    Si tu veux le code de chroot. Télécharge les sources de linux. Le code se situe dans fs/open.c, ligne 408 dans la version 2.6.36

    Je ne m'arrete pas a cet exemple... c'est juste le commencement pour comprendre le fonctionnement quoi!!
    Sache juste que chroot n'a vocation que à faire croire à un programme une autre racine. Rien d'autre.

    As tu un exemple??
    Je te donne l'exemple en shell, car j'ai un peu la flème de le faire en C. Donc vite fait malfait xD

    Contenue de /mon_chroot/inotify.sh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while inotifywait -e modify MON_FICHIER_A_SURVEILLIER; do # Attand jusqu'a que le fichier soit modifié
           echo "Le fichier est modifié!!" # Quand modifier
    done
    Contenue de /mon_chroot/shell_hack.sh
    /inotify.sh & # En tache de fond, la surveillance du fichier
    /bin/bash # Mon programme à chrooté
    Commande de chroot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chroot /mon_chroot /mon_chroot/shell_hack.sh

  5. #5
    Membre éclairé Avatar de 3logy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2007
    Messages : 280
    Par défaut
    Okay!!
    Merci bien pour ton aide!!

    Bon voila ce que j'aimerais faire : *j'utilise UBUNTU*

    - Creer un Environnement CHROOT appelons le "chrootHome" --> je suis entrain de le faire.
    - Modifier le fichier open.c(la fonction chroot) a tel enseigne que chaque fois qu'un usager chrootet pour le "chrootHome" il ecrit dans un fichier "warning.log" sur le desktop: le nom de l'usager et la date.


    Pour le deuxieme Point! une idee de comment je pourrais le faire??

  6. #6
    Membre émérite
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Par défaut
    - Creer un Environnement CHROOT appelons le "chrootHome" --> je suis entrain de le faire.
    Un script qui peut te simplifier la vie : http://wiki.archlinux.fr/howto/chroot

    Attention : Il ne sert que pour rajouté les library dynamique au chroot!

    Si tu souhaite faire un chroot plus complet, tu as debootstrap : http://wiki.debian.org/fr/Chroot

    - Modifier le fichier open.c(la fonction chroot) a tel enseigne que chaque fois qu'un usager chroot et pour le "chrootHome" il ecrit dans un fichier "warning.log" sur le desktop: le nom de l'usager et la date.
    A mon avis, je pense que c'est totalement débile de faire tourné ce court circuit en mode noyau. C'est casse tête, risque de bug pouvant entré la corruption entier du système, ... Le mode utilisateur est plus pertinant.

    L'idée en plus de modifié la routine... Un module serait moins bête...

    Je suppose que c'est pour l'école, donc tu ne peux y réchappé à cette solution débile.

    Quand on analyse les arguments de la fonction:
    SYSCALL_DEFINE1(chroot, const char __user *, filename)
    Tu remarquera, que il prend un argument intéressant : filename. Je suppose que c'est le nom du répertoire à chrooté

    Cette variable est utlisé par la fonction : user_path_dir(filename, &path);

    Un gros coup de grep nous donne :
    ./fs/open.c: error = user_path_dir(filename, &path);
    ./fs/open.c: error = user_path_dir(filename, &path);
    ./fs/namespace.c: error = user_path_dir(new_root, &new);
    ./fs/namespace.c: error = user_path_dir(put_old, &old);
    ./include/linux/namei.h:#define user_path_dir(name, path)
    Lis ./include/linux/namei.h. Oh mon dieu! C'est un DEFINE!
    #define user_path(name, path) user_path_at(AT_FDCWD, name, LOOKUP_FOLLOW, path)
    Mais tu vas me dire quesque c'est cette fonction user_path_at. On va demandé à Dieu... J'appelle grep! Il nous donne fs/namei.c.

    Quel est l'interet d'allez si loin dans les recherches? Vu se que tu veux faire je te conseil de bien comprendre avant tout VFS - http://fr.wikipedia.org/wiki/Virtual_File_System - avant de commence de programmé. Si tu veux réussir sans te cassé trop de dent.

    Alors mon amis, tu vas faire tout de suite un gros patout à cochoy-jeremy . Pour cette introduction et en français de VFS : http://cochoy-jeremy.developpez.com/...-system-linux/

    Et tu va chérire ce mémo fort util, pour connaitre où se trouve les principals appelle système : http://www.digilife.be/quickreferenc...0Reference.pdf

    Oui, j'avoue c'est ma source à ta première question

    Je te conseil aussi de parcourir ce site http://www.linux.org/docs/

    Après je te laisse le soin de cherché plus d'information sous Google.

    Pour en revenir à notre user_path_dir(filename, &path). Comme tu peux le remarqué path est un pointeur basé sur la strucuture path. Donc commence par trouvé et comprendre le prototype de path. Se qui est le plus intéressant est une sous-structure de path. Après on reparlera

    J'espère avoir était suffisament claire dans mes explications :S. Pour m'excusé, j'ai jamais touché au noyau. Et je ne suis pas informaticien, je ne suis que jardinier x)

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

Discussions similaires

  1. pic 16F84 modif routine sur rb0 en rb1
    Par pasrico dans le forum Autres architectures
    Réponses: 1
    Dernier message: 01/08/2011, 21h55
  2. Modif auto structure (accent, espace) / routine
    Par LostIN dans le forum Access
    Réponses: 16
    Dernier message: 04/07/2006, 10h40
  3. [] Datagrid vide après modification des propriétés
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/09/2002, 16h37
  4. Modification de l'évènement OnClick
    Par MrJéjé dans le forum C++Builder
    Réponses: 9
    Dernier message: 22/08/2002, 12h52
  5. Réponses: 11
    Dernier message: 23/07/2002, 14h33

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