Нотифаер О скором TimeExpire + GraceRemaing+e_mail Notify

Обсуждение технических вопросов по продуктам Novell

Нотифаер О скором TimeExpire + GraceRemaing+e_mail Notify

Сообщение skoltogyan » 17 июн 2005, 23:13

Предлагается скрипт на PERL, который рассылает по почте уведомления о том что:
1. Осталось x дней до даты, когда надо будет менять пароль
(т.е. подходит время passwordexpirationtime)
Например за 6 дней, при каждом запуске скрипта, начнет будет рассылать уведомления.
Текст уведомления - можно править самому

2.Насильно вписывает ВРЕМЯ (не дату) на 7 утра (приминительно к поясу Донецка).
Т.е. если было password expirationtime: 20050618165445
(18-го Июня в 16:54:45),
то будет переведено в: 20050618040000
(18-го Июня в 07:00:00),

3. Если loginGraceRemaining < loginGrace
(например, пользователю разрешено 6 попыток войти не меняя пароль, а осталось уже только 5 попыток, то такому пользователю будет отослано уведомлени.

Отсылаются уведомления, если в дереве прописано какой у пользователя e_mail.

Скрипт расположен тут.
Извините, что коментарии на корявом англиском - для cooltools готовил .

Как использовать:
Можно в crontab или в sheduleJob (https://server:8009) вписать запуск раз в денб скрипта sys:\system\pwdntfy.ncf с содержанием;
perl sys:\perl\scripts\pwdntfy.pl --noscreen --autodestroy


В самом скрипте прописать свои
IP адреса сервера своего с LDAP,
IP адрес SMTP сервера вашего
e_mail от имени которого отправка
место, где будет распологаться лог-файл
контекст, откуда и вниз искать
пользователь с парвами RWна указаные в скрипте атрибуты и его контекст.

пробывал его и использую на NW6.5SP3.
Немного изменив (в части местарасположения логов), можно стартовать и не с NW. Нарпример из Линукс.

Скрипт расположен тут:
ftp://ftp1.ami.ua/novell/pwdntfy.pl
skoltogyan
 
Сообщения: 2047
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Сообщение Ковалев Артем » 20 июн 2005, 10:45

Спасибо, посмотрю.
берем картину мироздания и тупо смотрим - что к чему...
Аватара пользователя
Ковалев Артем
 
Сообщения: 924
Зарегистрирован: 29 мар 2004, 11:44
Откуда: Москва

Re: Нотифаер О скором TimeExpire + GraceRemaing+e_mail Notif

Сообщение Михаил Григорьев » 20 июн 2005, 12:02

skoltogyan писал(а):Предлагается скрипт на PERL, который рассылает по почте уведомления о том что:...


Думаю умеснее это на главной странице сайта опубликовать, так и вероятность затеряться ниже и всегда под руками... :)
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Larico » 20 июн 2005, 15:45

Вещь интересная. Нужная.
В перл я, к сожалению, вообще ни бум-бум, а следовательно сразу возникли вопросы: 1. где и что менять под нашу сеть?!
2. Как протестировать а работает-ли?

Вот например
$HOST = '*.*.*.*';
$PORT = 389;
$SSL_PORT = 636;
$PASSWD = 'ldapproxyuserpassword';
$BASEDN = "ou=org1,o=company";
$ADMIN= "cn=usera,o=company";
Первые три строки понятны, а дальше?
Что такое - $BASEDN?
$PASSWD - это пароль админа из $ADMIN или еще какой-то?

Следующий кусок:
sub send_mail {
# send mail to the specific address with attantion
# $_[0] = e_mail Recipient
# $_[1] = Date Expiration
# $_[2] = How many days befor End
# $passadmin - e_mail FROM WHICH will bi send mail
$passadmin="useraa\@firma.ua";
# *.*.*.* - IP address SMTP server
$smtp=Net::SMTP->new('*.*.*.*');
$mail = "useraa\@firma.ua";
$smtp->mail($passadmin);

Почему $passadmin это e_mail? Это же вроде пароль судя по названию!?
Что за строчка $mail = "useraa\@firma.ua"?
Что в ней писать?

Короче, не сочтите за привередливость, но был бы признателен за описание куда и что писать в скрипте. То есть не хватает элементарного ридми.

Ну и как-то хочется файлика типа test_mail.pl, где прописав в полях типа $smtp=Net::SMTP->new('*.*.*.*'); свои значения можно было бы проверить работоспособность скрипта.
CNA 6 Certified;
Salesperson 2004
Аватара пользователя
Larico
 
Сообщения: 974
Зарегистрирован: 13 май 2003, 13:57
Откуда: Матрице все равно .....

Сообщение skoltogyan » 20 июн 2005, 16:46

Андрей - глняул на первую страницу и непонял куда там писать. : (
-----

>Что такое - $BASEDN?
это контекст, от которого и ниже будет всетись поиск.


>$PASSWD - это пароль админа из $ADMIN или еще какой-то?
Да $PASSWD это пароль пользователя $ADMIN

>Почему $passadmin это e_mail? Это же вроде пароль судя по названию!?
все верно указано.
в строке над приведено объяснение, что это АДРЕС
от которого будет вестись рассылка.
Иными словами - при получении письма в качестве адреса отправителя будеь указан этот адрес.

>Что за строчка $mail = "useraa\@firma.ua"?
>Что в ней писать?
Пишите тот-же, что и в $passadmin

>Короче, не сочтите за привередливость, но был бы признателен за описание >куда и что писать в скрипте. То есть не хватает элементарного ридми.
Написал исходя из своего видения. В тексте привел пометки.
Попробуйте. Незарабоатет или неразберетесь - спросите.

Коллеги, не шпЫняйте за недостаток документирования : )
skoltogyan
 
Сообщения: 2047
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Сообщение Andrey Karyagin » 20 июн 2005, 17:11

Примерно то же самое было опубликовано недавно на языке Java:
http://www.novell.com/coolsolutions/tools/14772.html
Andrey Karyagin
 
Сообщения: 204
Зарегистрирован: 06 авг 2002, 15:56
Откуда: United Card Service

Вы правы

Сообщение skoltogyan » 21 июн 2005, 10:22

И это, на JAV-е написаное, на моей Nw6.5 незаработало.
с W2KProof - заработало но коряво и с неруусикм текстом.

Мне показалось проще написать так, как нужно мне и на Perl (так мне проще).

Собственно так и написал при посылке скрипта на cooltools.
Можете прочитать:
http://www.novell.com/coolsolutions/tools/15268.html
skoltogyan
 
Сообщения: 2047
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Сообщение Larico » 21 июн 2005, 11:58

Итого. Что касается скрипта на перл.
:arrow: Насколько я понял нужно заменить на свои следующие строки:
$HOST = '*.*.*.*';
$PORT = 389;
$SSL_PORT = 636;
$PASSWD = 'ldapproxyuserpassword';
$BASEDN = "ou=org1,o=company";
$ADMIN= "cn=usera,o=company";

$log_dir="sysdata:\\results\\pwdntfy";
$log_file="$log_dir//pwdntfy.log";

$passadmin="useraa\@firma.ua";
$smtp=Net::SMTP->new('*.*.*.*');
$mail = "useraa\@firma.ua";

$passadmin="useraa\@firma.ua";
$smtp=Net::SMTP->new('*.*.*.*');
$mail = "useraa\@firma.ua";
Правильно? Сергей, я все указал?

Не совсем правда понятно со строками:
$log_dir="sysdata:\\results\\pwdntfy";
$log_file="$log_dir//pwdntfy.log";

1. Почему разные слеши - / и \?
2. Почему скрипт сам не создает файлик pwdntfy.log? Ругается и не работает при его отсутствии!

:arrow: В итоге правда все равно не работает. Пишет ошибку Confidentiality required at sys:\perl\scripts\pwdntfy.pl line 81.
Повторюсь - в перле я ни бум-бум, так что ошибка для меня остается полной загадкой.

:arrow: Скрипт на языке Java у меня тоже не заработал :( Прямо не судьба какая-то. Точнее он работает, но сообщения идут только админу, да и те с пустым логом.

Зато понравились опции кому отсылать сообщения: админу=да/нет, пользователю=да/нет. Хочется видеть то же самое в перловом скрипте - очень удобно для тестов.
CNA 6 Certified;
Salesperson 2004
Аватара пользователя
Larico
 
Сообщения: 974
Зарегистрирован: 13 май 2003, 13:57
Откуда: Матрице все равно .....

так

Сообщение skoltogyan » 21 июн 2005, 13:33

1. откройте текстовым редактором файл и посотрите - какая строка 81-ая.
или
2. замените в файле ВАш пароль на QWERTY и пришлите файл мне на адрес:
skoltogyan@mail.ru
отвечу.
skoltogyan
 
Сообщения: 2047
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк

Сообщение capricious » 23 сен 2005, 12:18

под NETWARE 5.1 SP7 EDIR 8.7.3.4 часто абендится

будем апгррейдить libc
Аватара пользователя
capricious
 
Сообщения: 393
Зарегистрирован: 21 апр 2003, 14:36
Откуда: Moscow

так

Сообщение skoltogyan » 23 сен 2005, 12:29

отлаживалось на
nw6.5SP3
сейчас NW6.5sP4
skoltogyan
 
Сообщения: 2047
Зарегистрирован: 12 июл 2002, 19:39
Откуда: Украина, Донецк


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6