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 :

[SHELL] Chroot automatique


Sujet :

Shell et commandes GNU

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 [SHELL] Chroot automatique
    Salut j'ai vu sur un site francais ce script shell qui cree de maniere automatique un environnement chroot(jail) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    #!/bin/bash
     
    # On vérifie que le nom de l'utilisateur souhaité est bien passé en paramêtre
    if [ "$#" != 1 ];
    then
    echo "Usage : $0 <login>"
    exit 255;
    fi
     
    # Nom d'utilisateur
    LOGIN=$1
    # Groupe attribué à l'utilisateur
    GROUP=chroot
    # Répertoire par défaut des shell chrootés
    REP=/home/chroot
     
    # Utilitaires présents dans /bin
    OUTILB="bash cat chmod chown cp grep gunzip gzip ls mkdir more mv rm tar"
     
    echo "-- Création du groupe \"${GROUP}\""
    groupadd "${GROUP}" > /dev/null 2>&1
     
    echo "-- Création de l'utilisateur \"${LOGIN}\""
    useradd \
    -c "Utilisateur en espace restreint" \
    -d "/home/${LOGIN}/" \
    -g "${GROUP}" \
    -s "/bin/chroot" \
    "${LOGIN}"
     
    echo "-- Son mot de passe : "
    passwd "${LOGIN}" > /dev/null
     
    echo "-- Création de l'arborescence de son Répertoire personnel --"
    mkdir -p $REP/${LOGIN}/bin/ $REP/${LOGIN}/lib/ $REP/${LOGIN}/dev/
     
    # Mise en place des droits sur les répertoires
    cd $REP
    chmod -R 700 ${LOGIN}
     
    # Copie des programmes et de leurs librairies
    for I in $OUTILB;
    do
    cp /bin/$I $REP/${LOGIN}/bin/
    # Pour chaque programme, on recherche les librairies correspondantes.
    # On termine en demandant l'exécution par bash des lignes renvoyées par awk
    ldd /bin/$I | awk -v "LOGIN=$LOGIN" '{ print "cp "$3 $REP"/"LOGIN"/lib/" }' | bash
    done
     
    # Création de l'espace /dev
    mknod $REP/${LOGIN}/dev/null c 1 3 -m 666
    chown -R "${LOGIN}:${GROUP}" $REP/${LOGIN}
     
    # Fin de la création du compte utilisateur.
    echo ">> Utilisateur \"${LOGIN}\" créée et emprisonné"
     
    if [ ! -e /bin/chroot ]; then
    echo "-- Création du programme /bin/chroot"
    cat < /bin/chroot
    #!/bin/bash
    exec -c /usr/sbin/chroot /home/chroot/\$USER /bin/bash
    EOF
    chmod 555 /bin/chroot
    fi

    Malheureusement lors de l'execution j'ai toujours de messages d'erreurs. Etant donne que je m'y connais pas trop en shell! Quelqu'un aurais til une idee ou la faute reside??

    Le Message d'erreur
    /usr/sbin/chroot: cannot change root directory to /home/chroot/$USER: No such file or directory
    je suis sur Ubuntu 10.10!!

    Merci

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 660
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cat <<'EOF' > /bin/chroot
    #!/bin/bash
    exec -c /usr/sbin/chroot /home/chroot/$USER /bin/bash
    EOF
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  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
    merci N_BaH

    ca compile avec quelques erreurs mais c'est bon!! Comment faire le chroot pour changer d'environnement??

    j'ai fait : chroot /home/chroot/monUser /bin/bash

    mais ca ne fonctionne pas, ca me donne une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chroot: failed to run command `/bin/bash': No such file or directory
    ou mm encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    root@localhost:/home# su monUser
    /usr/sbin/chroot: failed to run command `/bin/bash': No such file or directory
    root@localhost:/home#

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 660
    Par défaut
    Bonjour,

    /lib/ld-linux.so.2 n'a pas été prise en compte par la commande awk
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

Discussions similaires

  1. Shell - Compléter automatiquement une fenêtre
    Par devilsnake88 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 22/12/2013, 20h43
  2. [Script] Chroot automatique
    Par ar0w4n4 dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 03/06/2011, 12h36
  3. [Shell]Réponse automatique à Read
    Par Jeremy0201 dans le forum Linux
    Réponses: 5
    Dernier message: 17/08/2008, 15h17
  4. Excecution automatique d'un transfert ftp en shell
    Par Marc_ dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 24/03/2007, 15h19
  5. Réponses: 7
    Dernier message: 30/05/2006, 14h08

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