ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
Неправильная работа perl скрипта в chroot |

16.03.2008, 13:32
|
|
Участник форума
Регистрация: 07.06.2006
Сообщений: 146
Провел на форуме: 1652093
Репутация:
490
|
|
Неправильная работа perl скрипта в chroot
Хочу запустить perl скрипт (веб сервер) в chroot окружении.
Скопировал bash, perl, его модули и всё нужное для работаы в каталог /home/bunny. Но приложение отказывается работать правильно. Вот мои действия
Код:
$ sudo chroot /home/bunny
bash-3.2# ls
bin dev etc lib root usr
bash-3.2# cd root
bash-3.2# ls
index.html server.pl server.pl~
bash-3.2# cat server.pl
#!/usr/bin/perl
use IO::Socket::INET;
my $port = 8888;
my $ident = 'server';
my $serv = IO::Socket::INET->new(
Proto => 'tcp',
LocalPort => $port,
Listen => SOMAXCONN,
Reuse => 1,
) or die "Can't start server: $!";
print "[Server $0 accepting clients at http://localhot:$port/]\n";
sub sendfile {
my $client = shift;
my $file = shift;
open(FILE, $file);
while (<FILE>) { print $client $_ };
close FILE;
}
while (my $client = $serv->accept()) {
$client->autoflush(1);
my $request = <$client>;
if ($request =~ m|^GET /(.*) HTTP/1.[01]|) {
if ($1 eq 'index.html' or $1 eq '') { sendfile($client, 'index.html'); next }
if (-e $1) {
print $client "HTTP/1.0 200 OK\nServer: $ident\nContent-type: text/html\n\n";
sendfile($client, $1);
} else {
print $client "HTTP/1.0 404 Not Found\nServer: $ident\n";
print $client "Content-type: text/html\n\n";
print $client "file $1 not found\n";
}
} else {
print $client "HTTP/1.0 400 Bad Request\nServer: $ident\n";
print $client "Conten-type: text/html\n\n";
print $client "Bad request\n";
}
close $client;
}bash-3.2# perl server.pl
Can't start server: No such file or directory at server.pl line 7.
bash-3.2#
Без chroot`a всё работает хорошо. Пробовал дописывать в начало скрипта
Код:
chroot('/home/bunny');
но появляется всё та же ошибка
Can't start server: No such file or directory at server.pl line 11.
Почему Perl останавливается на этой строке?
Код:
my $serv = IO::Socket::INET->new(
|
|
|

17.03.2008, 07:34
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
А если IO::Socket::INET->new скормить адрес хоста, к которому коннектиться надо? /etc/hosts в chroot'е имеется?
|
|
|

17.03.2008, 07:48
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
модули перла поставь.
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
BookS: PHP, PERL, MySQL, JavaScript, HTML, ajax, Веб Дизайн
|
M1nK0 |
PHP, PERL, MySQL, JavaScript |
10 |
27.06.2009 21:35 |
|
Запуск Perl скрипта из командной строки
|
Prince_Dark |
Windows |
10 |
20.07.2007 12:37 |
|
Перевод статьи How to break out of a chroot() jail[как выйти из chroot]
|
rent0n |
Авторские статьи |
8 |
13.04.2006 08:15 |
|
Books Perl
|
FRAGNATIC |
PHP, PERL, MySQL, JavaScript |
0 |
11.08.2005 16:58 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|