Perl для системного администрирования


Предотвращение подозрительных действий - часть 4


h2xs

предоставляет пример сценария проверки, который можно изменять. Создадим каталог t (стандартный каталог, назначенный по умолчанию для проверки модуля) и переименуем test.pl в t/cracklib.t. Вот фрагмент кода на Perl, который нужно добавить в конец t /crack-lib.t для выполнения ряда тестов:

 местоположение файлов словарей Sclictpath = "/usr/local/etc/pw_dict";

 проверочные строки и известные для них ответы cracklib %test =

("happy" => "it is too short",

"a" => "it's WAY too short",

"asdtasdf" => "it does not contain enough DIFFERENT characters"

"minicomputer" => "it is based on a dictionary word"

"ftm2tgr3fts" => ""):

 Просматриваем в цикле все ключи из хэша. проверяя, возвращает

 ли cracklib предполагаемые ответа. Если да. то пишем "ок", в

противном случае -- "not ok"

$tcst.iur = 2;

fo^each $pw (кеуз %test){

my (Sresult) = Crackiib::FascistCnecK($pw.Sdictpatn); if ((defined $гез„1:

ana Sresul-f c-q S:est{$p.';)) or (!ae!iriea Sresb.l: ctj StesiiSpw} eq "");' pri''t "0'' ". $':estnui!!++, "

else i

Всего было сделано шесть тестов (пять из хэша %test и проверка загрузки модуля), значит, нужно изменить строку из t/cracklib.t с:

BEGIN {$|=1: print "1. . 1\: ) на:

BEGIN {$|=1: print "1..6\"; }

Теперь можно набрать make test и Makefile и запустить программу проверки, чтобы убедиться, что модуль работает верно.

Разумеется, сценарий проверки очень важен, но наш сценарий вряд ли заслужит уважение, если мы пропустим такой решающий компонент, как документацию. Потратьте время и дополните файлы Cracklib.pm и Changes, заменив заглушки на полезную информацию о модуле. Также неплохо добавить файл README или INSTALL, в котором рассказано, как собрать модуль, где найти нужные компоненты, такие как libcrack, приведены примеры программ и т. д. Об этих новых файлах и переименовании файла test.pl нужно сказать в файле MANIFEST, чтобы не вводить в заблуждение программу компиляции модуля.

Наконец, установите модуль там, где нужно. Используйте вызовы Cracklib: : FascistCheck() везде, где нужно установить или сменить пароли. Если количество плохих паролей в вашей системе уменьшится, «ночной сторож» с удовольствием одобрит вас.




- Начало -  - Назад -  - Вперед -



Книжный магазин