Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/12/2010, 14h27   #1
Membre habitué
 
Avatar de 3logy
 
Homme nub's
Étudiant
Inscription : août 2007
Messages : 241
Détails du profil
Informations personnelles :
Nom : Homme nub's
Localisation : Allemagne

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : août 2007
Messages : 241
Points : 128
Points : 128
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 :
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
Citation:
/usr/sbin/chroot: cannot change root directory to /home/chroot/$USER: No such file or directory
je suis sur Ubuntu 10.10!!

Merci
3logy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2010, 15h40   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 061
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 061
Points : 4 120
Points : 4 120
Code :
1
2
3
4
cat <<'EOF' > /bin/chroot
#!/bin/bash
exec -c /usr/sbin/chroot /home/chroot/$USER /bin/bash
EOF
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/12/2010, 18h34   #3
Membre habitué
 
Avatar de 3logy
 
Homme nub's
Étudiant
Inscription : août 2007
Messages : 241
Détails du profil
Informations personnelles :
Nom : Homme nub's
Localisation : Allemagne

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : août 2007
Messages : 241
Points : 128
Points : 128
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 :
chroot: failed to run command `/bin/bash': No such file or directory
ou mm encore
Code :
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#
3logy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 03h45   #4
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 061
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 061
Points : 4 120
Points : 4 120
Bonjour,

/lib/ld-linux.so.2 n'a pas été prise en compte par la commande awk
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h54.


 
 
 
 
Partenaires

Hébergement Web