Перейти до

Onuseradd не передает параметры кроме логина


Рекомендованные сообщения

Помогите разобраться, думал что проблема была со старой версией сервера 2.0 сейчас накатился до последней 2.405.9.8 и те же грабли скрипт OnUserAdd не отдает значение пароля, вообще кроме логина ничего не отдает может не то что-то делаю, или это так и должно быть?

вот что в доках на сайте

Скрипты OnUserAdd и OnUserDel исполняются в тот момент, когда администратор через конфигуратор или через WEB-интерфейс добавляет (удаляет) клиента. В них можно написать действия, например по ведению отдельного ЛОГ файла по добавлению или удалению клиентов, или добавление-удаление почтового аккаунта, и т.п. В скрипты передаются следующие параметры:

 

OnUserAdd:

 

* Логин

* Пароль

* Имя тарифа

прошу ткнуть носом или дать пример скрипта OnUserAdd где можно выцепить пароль.

мой пример вот

# Login

login=$1

passwd=$2

 

/usr/local/sbin/htpasswd -b /var/stargazer/users/statpasswd $login $passwd

Ссылка на сообщение
Поделиться на других сайтах
В скрипт передаются следующие параметры (по порядку): 1) логин клиента, 2) IP адрес клиента, 3) количество денег на счету, 4) уникальный целочисленный идентификатор пользователя, 5) список открываемых направлений строкой вида «1100101010» (первое направление – самое левое), где цифра «1» обозначает открытое направление, а «0» - закрытое.

Так написано в документации и так есть на самом деле. Пароль не передается в скрипты.

Можешь брать их из файлов юзера.

Ссылка на сообщение
Поделиться на других сайтах
Так написано в документации и так есть на самом деле. Пароль не передается в скрипты.

Можешь брать их из файлов юзера.

а как же

OnUserAdd:

 

* Логин

* Пароль

* Имя тарифа

http://stg.dp.ua/doc20.php

или мне это снится?

из файлов то понятно, можно и проще из OnUserChange там пасс передается, но нет привязки к номеру передаваемого параметра, зависит от того что меняем.

Ссылка на сообщение
Поделиться на других сайтах

Да это то я знаю, вот только доку не очень проштудировал а ща нашел ответ :) тогда встречный вопрос возможно ли добавить этот функционал? всмысле передавать пасс когда юзера добавляем? Может патч какой состряпать?

Ссылка на сообщение
Поделиться на других сайтах

Мне непонятна ваша проблема. Если вам нужен пароль текущего юзера - так и возьмите его через grep: :)

 

...

flag=`grep 'Password=' /var/stargazer/users/user/conf | cut -d '=' -f2`

...

Ссылка на сообщение
Поделиться на других сайтах

Ну это понятно я просто пытаюсь довести до полного автоматизма в том плане что когда появляется новый юзверь, выполняется onadd и помимо самого аккаунта в биллинге добавляет ему ящик, создает логин пароль на статистику и т.д. просто во второй ветке в onuseradd передавался пароль а тут нет :) вот и получается что нужно мастырить еще скрипты чтобы его при добавлении выковыривать из файла и потом уже добавлять все, а обычно чем больше скриптов и прочего навешано тем больше вероятность ошибки и соответственно сбоя.

Ссылка на сообщение
Поделиться на других сайтах

Вот патч. только не в курсах будет или нет работать (вопрос в том есть ли значение у переменной password на момент исполнения скрипта)

патчить user.cpp

if (access(scriptOnAdd.c_str(), X_OK) == 0)
 {
 strprintf(&scriptOnAddParams,
-			"%s \"%s\"",
+			"%s \"%s\" \"%s\"",
		 scriptOnAdd.c_str(),
-			login.c_str());
+			login.c_str(),
+		   password);

 ScriptExec(scriptOnAddParams);
 }

Ссылка на сообщение
Поделиться на других сайтах

Да так и пришлось выкрутицца, похоже в новой 2.4 ветке переделали механизм добавления, т.е. сначала выполняется onuseradd который создает аккаунт а потом следом onuserchange который забивает все поля.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...