The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Ошибка при компиляции cracklib для SAMBA"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Ошибка при компиляции cracklib для SAMBA"  
Сообщение от deniza (ok) on 08-Ноя-08, 12:50 
Есть задача проверять пароль на наличие стандартных фраз и сложность при вводе его пользователем с авторизцией в SAMBA. Делать это обязательно, так как юзеры крайне бестолковые и могут вводить самые чудные пароли типа 1234; аааа.  

Пытаюсь откомпелировать crackcheck для проверки сложности пароля из директории с примерами самбы /usr/local/share/examples/samba/auth/crackcheck. Директория содержит после установки самбы два файла Makefile и crackcheck.c.
Потребовалось создать скрипт генерации библиотеки для проверки пароля и заголовочного файл для crack.h для компиляции утилиты crackcheck.
Информацию по этому вопросу использовал samba.org а также статью http://www.linuxfromscratch.org/hints/downloads/files/OLD/pa...

Порядок действий был таков:

1. Откомпилировал пакет cracklib во  freebsd.
2. Создал скрипт для создания словаря проверки пароля create_cracklib_dict.sh (используя словарь пакета cracklib).
--------------------------------------------
#!/bin/sh
if [ -z "$*" ]; then
    echo "Usage:"
    echo "  $0 wordlist ..."
    echo
    echo "This script takes one or more word list files as arguments"
    echo "and converts them into cracklib dictionaries for use"
    echo "by password checking programs. The results are placed in"
    echo "/usr/local/libdata/cracklib_dict.*"
    echo
    echo "Example:"
    echo "$0 /usr/share/dict/words"
else
    /usr/local/bin/mkdict $* | /usr/local/bin/packer /usr/local/libdata/cracklib_dict
fi
---------------------------------------------
3. Получились: файл содержащий словарь "cracklb_dict.pwd" и вспом. файлы "cracklb_dict.hwm""cracklb_dict.pwi" в директории /usr/local/libdata/.
4. Создал файл "crack.h", поместил в каталог с Makefile и crackcheck.c.
---------------------------------------------
#ifndef CRACKLIB_H
#define CRACKLIB_H
/* Pass this function a password (pw) and a path to the
* dictionaries (/usr/lib/cracklib_dict should be specified)
* and it will either return a NULL string, meaning that the
* password is good, or a pointer to a string that explains the
* problem with the password.
* You must link with -lcrack
*/
extern char *FascistCheck(char *pw, char *dictpath);
#endif
---------------------------------------------
5. В файле crackcheck.c указал define "crack.h" в двойные ковычки, чтобы искался в тойже директории, а не в системной. Файл при компиляции находится.
6. Для компиляции такая команда в директории:
#cd /usr/local/share/examples/samba/auth/crackcheck
#make DICTPATH=/usr/local/libdata/cracklib_dict SRCDICTS=/usr/share/dict/words install

7. Компиляция утилиты crackcheck, которую, в свою очередь, будет испльзовать САМБА при проверке пароля, вываливается с такой ошибкой:

gcc -O2 -I -c crackcheck.c
crackcheck.c: In function 'main':
crackcheck.c:132 warning: assignment discards qualifrom pointer target type
/var/tmp//ccURpSIn.o(.text+0x318): In function 'main':
: undefined reference to 'FascistCheck'
*** Error code 1

Stop in /usr/local/share/examples/samba/auth/crackcheck

Результатом компиляции должен получиться файлик libcrack.a до него дело не доходит...

Вопрос такой: если кто-то делал проверку пароля таким образом, помогите советом. Возможно есть другие пути проверки паролей, а я иду неверным? Все идеи на эту тему будут полезны.

Заранее спасибо за ответы.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Ошибка при компиляции cracklib для SAMBA"  
Сообщение от deniza (??) on 09-Ноя-08, 16:01 
Неужели ни кто не реализовывал автоматическую проверку пароля на сложность? Укого был опыт, отзовитесь!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Ошибка при компиляции cracklib для SAMBA"  
Сообщение от deniza (??) on 10-Ноя-08, 17:12 
Поправил Makefile и хорошо откомпилировалось
# C compiler
#CC=cc
CC=gcc

# Uncomment the following to add symbols to the code for debugging
#DEBUG=-g -Wall

# Optimization for the compiler
#OPTIMIZE=
OPTIMIZE=-O2

CFLAGS= $(DEBUG) $(OPTIMIZE) -I .

OBJS = crackcheck.o
LIBS = -lcrack
LIBDIR= -L/usr/local/lib

crackcheck: $(OBJS)
$(CC) $(CFLAGS) $(LIBS) -o crackcheck $(OBJS)

clean:
rm -f core *.o crackcheck

install: crackcheck
install -m 555 crackcheck $(PREFIX)/sbin/crackcheck

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру