Apache chroot [risolto]

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Apache chroot [risolto]

Messaggio da Dani »

Sto cercando di sistemare apache in una jail seguendo i vari howto che si trovano per la rete...
Ma non vuole avviarsi:

Codice: Seleziona tutto

root[apache]# strace -o log chroot /home/chroot/apache/ /usr/sbin/apachectl -k start
chroot: cannot run command `/usr/sbin/apachectl': No such file or directory
L'output di strace:

Codice: Seleziona tutto

execve("/bin/chroot", ["chroot", "/home/chroot/apache/", "/usr/sbin/apachectl", "-k", "start"], [/* 45 vars */]) = 0
brk(0)                                  = 0x804c000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f0a000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=115631, ...}) = 0
mmap2(NULL, 115631, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7eed000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@_\1\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1528742, ...}) = 0
mmap2(NULL, 1316260, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7dab000
mmap2(0xb7ee7000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13c) = 0xb7ee7000
mmap2(0xb7eea000, 9636, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7eea000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7daa000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7daa6c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7ee7000, 4096, PROT_READ)   = 0
munmap(0xb7eed000, 115631)              = 0
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
brk(0)                                  = 0x804c000
brk(0x806d000)                          = 0x806d000
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2586, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f09000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2586
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7f09000, 4096)                = 0
open("/usr/lib/locale/it_IT/LC_IDENTIFICATION", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=346, ...}) = 0
mmap2(NULL, 346, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f09000
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_MEASUREMENT", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=28, ...}) = 0
mmap2(NULL, 28, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f08000
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_TELEPHONE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f07000
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_ADDRESS", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=132, ...}) = 0
mmap2(NULL, 132, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f06000
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_NAME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=67, ...}) = 0
mmap2(NULL, 67, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f05000
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_PAPER", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=39, ...}) = 0
mmap2(NULL, 39, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f04000
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0
mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f03000
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_MONETARY", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=299, ...}) = 0
mmap2(NULL, 299, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f02000
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_TIME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2423, ...}) = 0
mmap2(NULL, 2423, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f01000
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_NUMERIC", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0
mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f00000
close(3)                                = 0
open("/usr/lib/locale/it_IT/LC_CTYPE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=207720, ...}) = 0
mmap2(NULL, 207720, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d77000
close(3)                                = 0
chroot("/home/chroot/apache/")          = 0
chdir("/")                              = 0
execve("/usr/sbin/apachectl", ["/usr/sbin/apachectl", "-k", "start"], [/* 45 vars */]) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/it_IT/LC_MESSAGES/coreutils.mo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=73552, ...}) = 0
mmap2(NULL, 73552, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7eee000
close(3)                                = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/gconv/gconv-modules", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=54635, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7eed000
read(3, "# GNU libc iconv configuration.\n"..., 4096) = 4096
read(3, "as\tJS//\t\t\tJUS_I.B1.002//\nalias\tY"..., 4096) = 4096
read(3, "e\tINTERNAL\t\tISO-8859-3//\t\tISO885"..., 4096) = 4096
read(3, "as\tISO-IR-199//\t\tISO-8859-14//\na"..., 4096) = 4096
read(3, "to\t\t\tmodule\t\tcost\nalias\tCSEBCDIC"..., 4096) = 4096
read(3, "e\t\tcost\nalias\tCP284//\t\t\tIBM284//"..., 4096) = 4096
read(3, "as\tCP864//\t\t\tIBM864//\nalias\t864/"..., 4096) = 4096
read(3, "dule\tIBM937//\t\tINTERNAL\t\tIBM937\t"..., 4096) = 4096
read(3, "UC-JP//\nalias\tUJIS//\t\t\tEUC-JP//\n"..., 4096) = 4096
read(3, "dule\t\tcost\nalias\tISO-IR-143//\t\tI"..., 4096) = 4096
read(3, "OX//\nmodule\tISO_10367-BOX//\t\tINT"..., 4096) = 4096
read(3, "dule\tINTERNAL\t\tEUC-JISX0213//\t\tE"..., 4096) = 4096
read(3, "odule\tIBM1130//\t\tINTERNAL\t\tIBM11"..., 4096) = 4096
read(3, "804//\t\tIBM16804//\nalias\tCP16804/"..., 4096) = 1387
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7eed000, 4096)                = 0
open("/usr/lib/gconv/ISO8859-1.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\3\0\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=6950, ...}) = 0
mmap2(NULL, 8220, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7d74000
mmap2(0xb7d75000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xb7d75000
close(3)                                = 0
brk(0x808f000)                          = 0x808f000
open("/usr/share/locale/it/LC_MESSAGES/coreutils.mo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=73552, ...}) = 0
mmap2(NULL, 73552, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d62000
close(3)                                = 0
write(2, "chroot: ", 8)                 = 8
write(2, "cannot run command `/usr/sbin/ap"..., 40) = 40
open("/usr/share/locale/it_IT/LC_MESSAGES/libc.mo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=33665, ...}) = 0
mmap2(NULL, 33665, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d59000
close(3)                                = 0
open("/usr/share/locale/it/LC_MESSAGES/libc.mo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=33665, ...}) = 0
mmap2(NULL, 33665, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7d50000
close(3)                                = 0
write(2, ": No such file or directory", 27) = 27
write(2, "\n", 1)                       = 1
close(1)                                = 0
close(2)                                = 0
exit_group(127)                         = ?
Idee ?
Ultima modifica di Dani il dom 16 dic 2007, 6:36, modificato 1 volta in totale.

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: Apache chroot

Messaggio da masalapianta »

Dani ha scritto: Idee ?

Codice: Seleziona tutto

execve("/usr/sbin/apachectl", ["/usr/sbin/apachectl", "-k", "start"], [/* 45 vars */]) = -1 ENOENT (No such file or directory)
notare che la execve() sopra viene usata dopo la chroot()

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Messaggio da Dani »

...Quindi ? :oops:
In /home/chroot ho la sottodirectory usr/sbin con dentro gli eseguibili (httpd e apachectl). Qual è il problema non capisco !

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Messaggio da masalapianta »

Dani ha scritto:...Quindi ? :oops:
In /home/chroot ho la sottodirectory usr/sbin con dentro gli eseguibili (httpd e apachectl). Qual è il problema non capisco !
peccato che tu faccia chroot() in /home/chroot/apache e non in /home/chroot:

Codice: Seleziona tutto

chroot("/home/chroot/apache/")          = 0 

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Messaggio da Dani »

masalapianta ha scritto:
Dani ha scritto:...Quindi ? :oops:
In /home/chroot ho la sottodirectory usr/sbin con dentro gli eseguibili (httpd e apachectl). Qual è il problema non capisco !
peccato che tu faccia chroot() in /home/chroot/apache e non in /home/chroot:

Codice: Seleziona tutto

chroot("/home/chroot/apache/")          = 0 
No scusa e' stato un errore di scrittura:

Codice: Seleziona tutto

root[~]# ls /home/chroot/apache/usr/sbin/
apachectl  httpd
root[~]# chroot /home/chroot/apache/ /usr/sbin/apachectl -k start
chroot: cannot run command `/usr/sbin/apachectl': No such file or directory

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Messaggio da masalapianta »

apachectl e' uno script di shell che richiama /bin/sh, ce l'hai nella jail chroot?

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Messaggio da Dani »

masalapianta ha scritto:apachectl e' uno script di shell che richiama /bin/sh, ce l'hai nella jail chroot?
Si :( e la cosa strana e' che chrootando direttamente non la vede !?

Codice: Seleziona tutto

root[chroot]# pwd;ls apache/bin/ apache/usr/sbin/
/home/chroot
apache/bin/:
bash  sh

apache/usr/sbin/:
apachectl  httpd
root[chroot]# chroot apache/
chroot: cannot run command `/bin/sh': No such file or directory
root[chroot]#

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Messaggio da masalapianta »

/bin/sh di solito e' un link simbolico che punta a bash, assicurati che punti a /bin/bash dopo il chroot, oppure per semplificare la cosa sostituiscilo con una copia di bash

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Messaggio da Dani »

Già provato, niente da fare...
Guarda qui pero'...Ci sono diversi -1 ENOENT, ad esempio:

Codice: Seleziona tutto

open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
Che sia questo il problema ?

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Messaggio da masalapianta »

Dani ha scritto:Già provato, niente da fare...
Guarda qui pero'...Ci sono diversi -1 ENOENT, ad esempio:

Codice: Seleziona tutto

open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
Che sia questo il problema ?
ne dubito, viene usato per archiviare in formato binario i locale del sistema

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Messaggio da Dani »

Ho rifatto tutto daccapo e con piu' calma ed e' andato :-)
Probabilmente il problema era qualche libreria mancante, o magari qualche symlink rotto.
Inoltre non bisogna avviare il server con apachectl dato che questo script lancia binari non presenti nella jail, ma bisogna lanciare direttamente httpd !
Ho avuto qualche altro problemino ma è bastato un cat su error_log per risolvere ;)

ps: non riusciva a lanciare la bash perchè non avevo copiato le librerie da essa richiesta (ldd /bin/bash), in ogni caso l'ho eliminata dalla jail dato che non servirebbe a nulla.

Rispondi