Bonsoir à tous,
Je suis sous Debian Sarge et j'utilise un Apache 2.0 chrooté. Lorsque j'exécute des scripts (php, perl, shell, ...) contenant le mot "localhost", la résolution ne se fait pas, et ils plantent. Que dois-je mettre dans mon chroot dir pour que localhost soit reconnu ? Merci pour votre aide,
# /etc/hosts
Posté par oat4hd . Évalué à 2.
Je pense que cela devrait resoudre les problemes.
[^] # Re: /etc/hosts
Posté par xtalex . Évalué à 1.
[^] # Re: /etc/hosts
Posté par EPROM . Évalué à 1.
auto lo
iface lo inet loopback
puis /etc/init.d/network restart
[^] # Re: /etc/hosts
Posté par xtalex . Évalué à 1.
Merci pour la suggestion.
[^] # Re: /etc/hosts
Posté par oat4hd . Évalué à 1.
Sinon # /sbin/ifconfig lo 127.0.0.1 devrait regler le probleme.
Peut-etre aussi que apache2 ou certains modules ont besoins de /proc.
tu peux le monter dans le chroot avec
# mout -t proc none chroot_path/proc
Au pire tu peux essaye de refaire le chroot completement. Cela arrive qu'on oublie une etape.
Quand tu auras reussi a faire fonctionner le chroot, verifier avec ps (/proc doit etre monte) que tu n'a acces a aucun processus appartenant a www-data (l'uid d'apache) en dehors du chroot, sinon ton chroot ne sert a rien.
Tu peux aussi etudier les possibiltes offertes par grsecurity[1] qui sont assez interessantes.
[1] http://www.grsecurity.org/
[^] # Re: /etc/hosts
Posté par xtalex . Évalué à 1.
[^] # Re: /etc/hosts
Posté par tontonflingueur . Évalué à 1.
Sinon, la bonne approche pour résoudre ce genre de problème, c'est d'utiliser strace, et de repérer les fichiers manquants ...
par exemple.
[^] # Re: /etc/hosts
Posté par xtalex . Évalué à 1.
# more nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
[^] # Re: /etc/hosts
Posté par xtalex . Évalué à 1.
# more nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
[^] # Re: /etc/hosts
Posté par xtalex . Évalué à 2.
strace ping localhost
...
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/tls/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
...
On constate que /lib/tls/libnss_dns.so.2 est manquante dans le chroot :
cp /lib/tls/libnss_dns.so.2 /var/www/lib/tls/libnss_dns.so.2
Le résolution de noms peut alors se faire et le localhost est reconnu.
Encore merci.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.