Le chroot pour les nuls

Le
David BERCOT
Bonjour,

Tout d'abord, voici mes connaissances en la matière et mon besoin

Jusqu'à aujourd'hui, je n'ai utilisé des environnements chrootÃ=
©s que
deux ou trois fois, pour des tests en milieu fermé. Je n'ai donc pas
creusé la partie "réseau" et ouverture vers l'extérieur.

Maintenant, sur un matériel un peu spécial (un NAS pour ne pas le
nommer) qui tourne sur un Linux spécifique, je voudrais mettre un
Debian chrooté pour installer facilement (via apt) mes applications :
Apache, Postfix/Dovecot, Samba, serveur NFS, etc J'ai donc besoin que
ce Debian communique totalement avec l'extérieur.

J'ai donc créé et installé cet environnement, puis mis un se=
rveur SSH
que j'ai paramétré sur un port spécifique. De mon LAN, j'arr=
ive bien à
me connecter sur ce "Debian".

Mais voici donc mes questions : au niveau réseau, comment est configur=
é
cet environnement chrooté (pas de fichier 'interfaces') ? Si j'appelle
un service qui tourne sur la machine hôte, j'imagine que ce sera
celle-ci qui aura la priorité ? Comment un firewall configuré sur=
mon
environnement chrooté aura un impact sur la machine hôte ? Est-ce=
que
les services que je vais installer sur ce "Debian" (Samba, NFS, Apache)
seront opérationnels au redémarrage de mon NAS ?

Merci d'avance.

David.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20101226170050.6c9f797c@debian-david
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Basile Starynkevitch
Le #22959471
On Sun, 26 Dec 2010 17:00:50 +0100
David BERCOT
Bonjour,

Tout d'abord, voici mes connaissances en la matière et mon besoin...

Jusqu'à aujourd'hui, je n'ai utilisé des environnements chrootés que
deux ou trois fois, pour des tests en milieu fermé. Je n'ai donc pas
creusé la partie "réseau" et ouverture vers l'extérieur.



A ma conaissance, les interfaces réseaux sont communes à
l'environnement chrooté et au système le contenant. En particulier,
parce que les appels systèmes de communication réseau (notamment
accept, connect, listen, ...) ne passent pas par le système de
fichiers. Contrairement à sa réputation (ou à Plan9 ou Hurd qui eux o nt
poussé "au bout" cette idée), tout n'est pas fichiers sous Linux. En
particulier, pas l'interface réseau.

Donc les ports et services sont communs (donc partagés) à
l'environnement chrooté et au système hôte. Par exemple, un service w eb
qui tourne sous le chroot sera commun au système hôte, et un service
DNS sur le système hôte sera visible du chroot.


Maintenant, sur un matériel un peu spécial (un NAS pour ne pas le
nommer) qui tourne sur un Linux spécifique, je voudrais mettre un
Debian chrooté pour installer facilement (via apt) mes applications :
Apache, Postfix/Dovecot, Samba, serveur NFS, etc... J'ai donc besoin que
ce Debian communique totalement avec l'extérieur.




Pourquoi ne pas installer un Debian honnête sur ce NAS? C'est peut-être
un peu risqué (j'ignore les détails des chargeurs -équivalent de BIOS-
sur un Linux/ARM!) mais ça devrait être naturel. Il faut se documenter
précisément!

Bonnes fêtes et bonne année à tous!

PS. Dans le même genre d'idée, je me demande si je pourrais faire
tourner une application codée en C ou C++ sur mon téléphone Sony
Ericcson Xperia X10 sous Android 1.6 (n'ayant pas Windows, je ne sais
pas le mettre à jour en Android 2.1). En théorie, ça serait possible.
(Mais en pratique, j'ai peur de perdre mon téléphone pour l'usage
principal que j'en fait: téléphoner!).

--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
mouss
Le #22959611
Le 26/12/2010 17:00, David BERCOT a écrit :
Bonjour,

Tout d'abord, voici mes connaissances en la matière et mon besoin...

Jusqu'à aujourd'hui, je n'ai utilisé des environnements chrootés que
deux ou trois fois, pour des tests en milieu fermé. Je n'ai donc pas
creusé la partie "réseau" et ouverture vers l'extérieur.

Maintenant, sur un matériel un peu spécial (un NAS pour ne pas le
nommer) qui tourne sur un Linux spécifique, je voudrais mettre un
Debian chrooté pour installer facilement (via apt) mes applications :
Apache, Postfix/Dovecot, Samba, serveur NFS, etc... J'ai donc besoin que
ce Debian communique totalement avec l'extérieur.




la "norme" est d'utiliser des chroots différents pour les différentes
applications: 1 pour apache, 1 pour postfix, 1 pour dovecot, ...

Bien sûr, il faut régler le problème des accès entre applis. ainsi, si
postfix utilise une authentification dovecot, il faut que dovecot puisse
créér sa socket chez postfix, ... etc.

Tout ça va faire du boulot! "mount -t bind" (utilisé avec précaution)
peut aider.

il faut se demander si la virtualisation (xen par exemple) n'est pas de
mise ici...

J'ai donc créé et installé cet environnement, puis mis un serveur SSH
que j'ai paramétré sur un port spécifique. De mon LAN, j'arrive bien à
me connecter sur ce "Debian".

Mais voici donc mes questions : au niveau réseau, comment est configuré
cet environnement chrooté (pas de fichier 'interfaces') ? Si j'appelle
un service qui tourne sur la machine hôte, j'imagine que ce sera
celle-ci qui aura la priorité ? Comment un firewall configuré sur mon
environnement chrooté aura un impact sur la machine hôte ? Est-ce que
les services que je vais installer sur ce "Debian" (Samba, NFS, Apache)
seront opérationnels au redémarrage de mon NAS ?





un chroot n'a aucun effet sur les communications entre processus (que ce
soit via réseau, mémoire partagée, ...) sauf si ces communications
utilisent le système de fichier (socket unix par exemple). un chroot
modifie simplement la "position" du répertoire '/' (le process voit un
'/' qui n'est pas la racine du système de fichiers).



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
David BERCOT
Le #22959651
Le Sun, 26 Dec 2010 18:12:24 +0100,
mouss
un chroot n'a aucun effet sur les communications entre processus (que
ce soit via réseau, mémoire partagée, ...) sauf si ces com munications
utilisent le système de fichier (socket unix par exemple). un chroot
modifie simplement la "position" du répertoire '/' (le process voit un
'/' qui n'est pas la racine du système de fichiers).



OK. Avec vos deux mails (celui-ci et celui de Basile), j'y vois un peu
plus clair...
Ca devrait donc être assez facile. Maintenant, je n'ai plus qu'à
paramétrer tout ça pour démarrer automatiquement lors du d émarrage du
NAS.

Merci et bonne soirée.

David.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Basile Starynkevitch
Le #22959641
On Sun, 26 Dec 2010 18:32:24 +0100
David BERCOT

OK. Avec vos deux mails (celui-ci et celui de Basile), j'y vois un peu
plus clair...
Ca devrait donc être assez facile. Maintenant, je n'ai plus qu'à
paramétrer tout ça pour démarrer automatiquement lors du démarra ge du
NAS.



Il est probable que certaines arborescences doivent être communes au
chroot et au système hôte. Un montage bind (qui est un peu un lien
symbolique pour les montages) pourrait être nécessaire

Si par exemple on lance le chroot dans /debian il pourrait être
nécessaire de mettre dans le /etc/fstab du système hôte

/proc /debian/proc none bind 0 0
/dev /debian/dev none bind 0 0

--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
François Boisson
Le #22967171
Le Sun, 26 Dec 2010 18:42:29 +0100
Basile Starynkevitch
Il est probable que certaines arborescences doivent être communes au
chroot et au système hôte. Un montage bind (qui est un peu un lien
symbolique pour les montages) pourrait être nécessaire

Si par exemple on lance le chroot dans /debian il pourrait être
nécessaire de mettre dans le /etc/fstab du système hôte

/proc /debian/proc none bind 0 0
/dev /debian/dev none bind 0 0




Voilà typiquement les répliques de répertoires que je met pour avoir un chroot
transparent

/home /var/squeeze/home none bind 0 0
/tmp /var/squeeze/tmp none bind 0 0
proc /var/squeeze/proc proc defaults 0 0
/var/run /var/squeeze/var/run none bind 0 0
/dev /var/squeeze/dev none bind 0 0

/home et proc sont évidents. /dev permet aux chroots de connaitre les
périphériques. /tmp et /var/run permettent d'utiliser les douilles UNIX (cups,
Xorg, etc) des processus non chrootés.

Je suggère la lecture de

http://www.debian-fr.org/installation-chroot-32-bits-transparent-t14673.html

François Boisson

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Pascal Ognibene
Le #22967211
--001636831cda4e777104988e5ba2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Le 26 décembre 2010 17:24, Basile Starynkevitch écrit :

On Sun, 26 Dec 2010 17:00:50 +0100




...



PS. Dans le même genre d'idée, je me demande si je pourrais fai re
tourner une application codée en C ou C++ sur mon téléphon e Sony
Ericcson Xperia X10 sous Android 1.6 (n'ayant pas Windows, je ne sais
pas le mettre à jour en Android 2.1). En théorie, ça serai t possible.
(Mais en pratique, j'ai peur de perdre mon téléphone pour l'usa ge
principal que j'en fait: téléphoner!).




Oui, c'est possible. Il te faudra pour cela utiliser le NDK ( native
Development Kit) disponible sur le site de Google Android.
Et probablement faire aussi un peu de Java, car en Android 1.6 le cycle de
vie de l'application est obligatoirement géré à partir de ja va (le main() si
tu veux), avec des appels JNI pour les parties C/C++. A partir d'android 2. 3
uniquement on peut gérer l'intégralité d'une application en C/C++.

Pascal

--001636831cda4e777104988e5ba2
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div class="im"></div>
<br>
PS. Dans le même genre d&#39;idée, je me demande si je pourrais f aire<br>
tourner une application codée en C ou C++ sur mon téléphone Sony<br>
Ericcson Xperia X10 sous Android 1.6 (n&#39;ayant pas Windows, je ne sais<b r>
pas le mettre à jour en Android 2.1). En théorie, ça serait possible.<br>
(Mais en pratique, j&#39;ai peur de perdre mon téléphone pour l&# 39;usage<br>
principal que j&#39;en fait: téléphoner!). <br>Pascal </div></div>

--001636831cda4e777104988e5ba2--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/AANLkTi=8Yp7L794tGLw6rsyX0SEMDr3Nj+
mouss
Le #22968331
Le 29/12/2010 16:27, François Boisson a écrit :
Le Sun, 26 Dec 2010 18:42:29 +0100
Basile Starynkevitch
Il est probable que certaines arborescences doivent être communes au
chroot et au système hôte. Un montage bind (qui est un peu un lien
symbolique pour les montages) pourrait être nécessaire

Si par exemple on lance le chroot dans /debian il pourrait être
nécessaire de mettre dans le /etc/fstab du système hôte

/proc /debian/proc none bind 0 0
/dev /debian/dev none bind 0 0




Voilà typiquement les répliques de répertoires que je met pour avoir un chroot
transparent

/home /var/squeeze/home none bind 0 0
/tmp /var/squeeze/tmp none bind 0 0
proc /var/squeeze/proc proc defaults 0 0
/var/run /var/squeeze/var/run none bind 0 0
/dev /var/squeeze/dev none bind 0 0

/home et proc sont évidents. /dev permet aux chroots de connaitre les
périphériques.



monter /dev dans le chroot me gène un pneu...
ça donne accès aux devices tels que /dev/sda1, ...

/tmp et /var/run permettent d'utiliser les douilles UNIX (cups,
Xorg, etc) des processus non chrootés.



là encore, je dirais que ça dépend. postfix, dovecot, apache, samba, ...
n'ont pas besoin de partager le /tmp et /var/run du système.

Je suggère la lecture de

http://www.debian-fr.org/installation-chroot-32-bits-transparent-t14673.html

François Boisson




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Publicité
Poster une réponse
Anonyme