Ru-Board.club
← Вернуться в раздел «UNIX»

» Поиск файлов во FreeBSD

Автор: 0x7d26a
Дата сообщения: 13.05.2006 20:38
Люди обьясните новичку.
Требуется найти несколько файлов.
Лежат так "/а/вx/с/xxx.yyy"
"вx" названия папок - их несколько тысяч и папки "вх" недоступны для чтения
зато папки "с" можно просматривать.
Может у кого будут какие идеи как их искать?
Автор: kozandr
Дата сообщения: 14.05.2006 09:08
насколько я понимаю - без спец скриптов, содержащих в себе пути до "с" директорий - никак.
потому что прав на листинг "вх" нет, соответственно получить список "с" директорий невозможно.

если структура вх/с статическая, то можно сделать список всех директорий второго уровня

Код: b1/c1
b2/c2
b3/c1
b4/c0
Автор: keyhell
Дата сообщения: 14.05.2006 11:50

Цитата:
Может у кого будут какие идеи как их искать?

1) зачем вам это ?
2) нет прав на чтение - значит их и не должно быть.
Автор: 0x7d26a
Дата сообщения: 17.05.2006 15:16
kozandr
Идею понял и наваял вот такой скрипт:

Код: #!/usr/bin/perl -w
#Coded by 0x7d26a
#Config:
$htdocsdir = "htdocs";
$nscript = "search.pl";
#EndConfig
print "Content-Type: text/html\n\n";
&parse_form;
print <<HCODZ;
<html>
<title>Search in $htdocsdir</title>
<body style="text-align:center">
<br><br><br><br><br><br>
<table cellpadding="2" cellspacing="1" style="border:1 solid #306DA5">
<form method="POST" action=$nscript>
<tr><td colspan=2 style="color:#0f37b9;text-align:center;
background-color:#dddddd;border:1px solid #306DA5">-----==xXx==-----</td></tr>
<tr><td>Path:</td><td><input name="a" size=20 value="$FORM{a}"></td></tr>
<tr><td>File:</td><td><input name="b" size=20 value="$FORM{b}"></td></tr>
<tr><td colspan=2 style="text-align:center"><input type="submit" value=" Search "></td></tr>
<input type="hidden" name="match" value=1>
</form>
HCODZ
if ($FORM{'match'} == 1)
{
$path = $FORM{'a'};
$file = $FORM{'b'};
print "<tr><td colspan=2>Results:</td></tr>\n";
opendir(ED, $path);
foreach $name (sort readdir(ED))
{
$line = "$path/$name";
if(-d $line)
{
$line = "$line/$htdocsdir/$file";
if(-e $line)
{
print "<tr><td colspan=2 style=\"color:#0f37b9\">$line</td></tr>\n";
}
}
}
closedir(ED);
print "</table>\n</body>\n</html>\n";
}
else
{
print "</table>\n</body>\n</html>\n";
}
sub parse_form
{
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9]{2})/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
}

Страницы: 1

Предыдущая тема: Настройка правил на parent-proxy


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.