J'ai recommencé les commandes précédente, je reprends donc apres le
9.
j'ai crée le script :
#!/bin/bash
exec -c /usr/sbin/chroot /home/chroot/$USER /bin/bash
dans /bin/chroot
toto:x:1001:1001:,,,:/home/chroot/toto:/bin/chroot
-rwxr-xr-x 1 root root 66 août 17 09:09 /bin/chroot
toto a bien le script /bin/chroot comme shell, mais j'ai toujours les même code d'erreur.
/usr/sbin/chroot: failed to run command '/bin/bash': No such file or directory
toto@127.0.0.1's password:
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Aug 17 09:16:30 2016 from debflo.home
/usr/sbin/chroot: failed to run command '/bin/bash': No such file or directory
Connection to 127.0.0.1 closed.
J'ai regardé le script sous le tuto :
#!/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
Je n'ai pas trouvé de problème dans le script hormis un mauvais "/" avant $USER, il est plus complet que les commandes précédente.
exec -c /usr/sbin/chroot /home/chroot\$USER /bin/bash
exec -c /usr/sbin/chroot /home/chroot/$USER /bin/bash
Je l'ai donc exécuté :
root@test:~# bash test toto
-- Création du groupe "chroot"
-- Création de l'utilisateur "toto"
-- Son mot de passe :
Entrez le nouveau mot de passe UNIX :
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succès
-- Création de l'arborescence de son Répertoire personnel --
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007ffcc57e6000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007ffe35320000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007ffc3dd05000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007ffdec046000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007ffd8d3be000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007fff580bd000)/toto/lib/'
bash: ligne 1: caractère de fin de fichier (EOF) prématuré lors de la recherche du « ' » correspondant
bash: ligne 2: erreur de syntaxe : fin de fichier prématurée
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007fffb97a5000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007ffd4513f000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007ffd69b3b000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007fff549d9000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007fff8f3c3000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007ffd08bde000)/toto/lib/'
bash: ligne 1: erreur de syntaxe près du symbole inattendu « ( »
bash: ligne 1: `cp linux-vdso.so.1 (0x00007fffcb302000)/toto/lib/'
>> Utilisateur "toto" créée et emprisonné
-- Création du programme /bin/chroot
test: ligne 59: /bin/chroot: Aucun fichier ou dossier de ce type
/usr/sbin/chroot: cannot change root directory to /home/chroot$USER: No such file or directory
Je pense que l'erreur est normal, car il y a une librairie de plus qui n'est pas interprété par le script, donc je ne pense pas que cela n'a pas de rapport avec mon soucis.
Par contre,toujours le message d'erreur.
j'ai relancé les deux commandes du début:
toto:x:1001:1001:Utilisateur en espace restreint:/home/toto/:/bin/chroot
j'ai édité le fichier /etc/passwd pour changer :
toto:x:1001:1001:Utilisateur en espace restreint:/home/toto/:/bin/chroot
en
toto:x:1001:1001:Utilisateur en espace restreint:/home/chroot/toto/:/bin/chroot
mais toujours le même message... je ne sais plus quoi faire là..
Et pour le ssh, idem
toto@127.0.0.1's password:
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
/usr/sbin/chroot: failed to run command '/bin/bash': No such file or directory
Connection to 127.0.0.1 closed.
Merci du temps que tu me consacre au passage.
Dernière modification par Anonyme-13 (17-08-2016 08:57:58)