The OpenNET Project / Index page

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

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

"Как организовать возможность смены пользователем почтового п..."
Сообщение от Margulis emailИскать по авторуВ закладки on 09-Апр-03, 10:10  (MSK)
Насколько я понял, Sendmail создаёт почтовые ящики юзерам, чья учётная запись имеется в системе. И пароль к почте тот, который используется для входа в систему. Так или нет? Это первый вопрос. Вопрос второй: понимая справедливое желание пользователей менять пароль на доступ к почте, как это организовать? Понятно, что это должен быть WEB-интерфейс, поскольку всякие Telnet'ы и SSH'и - штуки, про которые нормальный непродвинутый юзер может даже и не слышать. Наверное, надо использовать PERL. Нельзя ли наставить меня на путь истинный в двух словах (желательно цензурных)? Мож утилита какА есть?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как организовать возможность смены пользователем почтового п..."
Сообщение от shaman Искать по авторуВ закладки on 09-Апр-03, 10:15  (MSK)
>Насколько я понял, Sendmail создаёт почтовые ящики юзерам, чья учётная запись имеется
>в системе. И пароль к почте тот, который используется для входа
>в систему. Так или нет? Это первый вопрос. Вопрос второй: понимая
>справедливое желание пользователей менять пароль на доступ к почте, как это
>организовать? Понятно, что это должен быть WEB-интерфейс, поскольку всякие Telnet'ы и
>SSH'и - штуки, про которые нормальный непродвинутый юзер может даже и
>не слышать. Наверное, надо использовать PERL. Нельзя ли наставить меня на
>путь истинный в двух словах (желательно цензурных)? Мож утилита какА есть?
sendmail _принимает_ почту для всех системных юзеров. А за доступ к этой почте отвечает pop-сервер. И, видимо, некоторые его реализации позволяют менять пароль. Кстати, можно настроить виртуальный хостинг, в котором пользователи и пароли будут храниться в базе данных (например, mysql).


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как организовать возможность смены пользователем почтового п..."
Сообщение от dukie emailИскать по авторуВ закладки on 09-Апр-03, 10:35  (MSK)
openwebmail

Open WebMail - это почтовая система для веб, предназначенная для управления
очень большими почтовыми каталогами наиболее рациональными методами.
Также несколько его особенностей обеспечивают плавный переход пользователей
с Microsoft Outlook на Open WebMail. Open WebMail имеет такие:
множество языков, наборы иконок и стилей, поддержка MIME, виртуальные узлы
и входы в систему, псевдонимы, поддержка PAM, онлайновая смена пароля,
удобные операции с сообщениями и папками, папка черновиков, система поддержки
подтверждений о прочтений, поиск по содержанию, проверка орфографии, автоответ,
фильтрация почты, поддержка POP3 и предпросмотр сообщений

Ну вот например эта весч умеет пароль менять.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Paul emailИскать по авторуВ закладки on 09-Апр-03, 10:42  (MSK)
sendmail не организует почтовые ящики пользователям, как было сказано выше. Для простой и безгеморройной настройки возможности смены пользователем пароля можно поставить комбинацию putty (с ключами запуска) + шеллом пользователю /bin/passwd
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Понт Искать по авторуВ закладки on 09-Апр-03, 15:01  (MSK)
для простой и безгеморройной работы надо поставить LDAP и запихать в него всех усеров и поставить там нужные пароли
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Paul emailИскать по авторуВ закладки on 09-Апр-03, 15:30  (MSK)
Сам-то пробовал? В мартовском номере журнала LAN моя статья с описанием реализации схемы централизованной авторизации и раздачи прав доступа в сервере SQUID посредством Novell NDS, что суть тот же LDAP.

Скока я геморрою отгреб с этой схемой - неописуемо. Скока геморрою с LDAP-реализацией UNIX-авторизации (ее я тоже делал) - говорить не буду, цензура вырежет.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Понт Искать по авторуВ закладки on 09-Апр-03, 18:25  (MSK)
а вы ничего не путаете?

UNIX - авторизация, насколько я понимаю (и в терминологии PAM), это /etc/passwd, /etc/shadow, etc.

а какие претензии к LDAP-у? он только выдаст нужный атрибут по результату поиска, в т.ч. и пароль, и ACL, и все что угодно, согласно схеме. Авторизацию же выполняет либо сама программа, либо PAM. лично я делал на ЛДАПе доступ по ssh через PAM - легко и приятно, аутентификация может быть полностью независимой от аутентификации UNIX

тут вопрос-то в чем - почему нужно в /etc/passwd держать всех пользователей почты только потому, что они - пользователи почты? Этот файл вроде как для других целей, главная - чтобы интерактивно войти в систему и в ней работать. А если сервак накрылся? ЛДАП же может реплицировать базы

конечно, когда у тебя десяток пользователей, ЛДАП, NDS, Active Directory или NIS наверное, не нужны. хотя...

попробуем почитать вашу статью

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Как организовать возможность смены пользователем почтового п..."
Сообщение от SandySandy emailИскать по авторуВ закладки on 10-Апр-03, 04:56  (MSK)
По данному вопросу:
у меня пользователи в базе ldap.
Естественно в файлах /etc/passwd пользователей их нет.
Sendmail их видит как локальных и создает автоматом для них ящики в /var/spool/mail.
Кроме того, sendmail можно настроить что бы и все остальные базы (aliases, access и т.д.) тоже будут храниться в ldap.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Paul emailИскать по авторуВ закладки on 10-Апр-03, 07:54  (MSK)
sendmail сам по себе ничего не создает. Его можно назвать wrapper'ом, потому как на каждый случай он запускает отдельный процесс, именуемый mailer'ом. В случае локальной доставки этот процесс может быть либо mail.local, либо procmail - они-то и создают ящики.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Paul emailИскать по авторуВ закладки on 10-Апр-03, 07:52  (MSK)
я так понял, ты реализацию через pam_ldap делал?

я бы не сказал, что это "легко и приятно". Странно, если у тебя это заработало с полпинка, лично мне приходилось и исходнички поправлять. В pam_nss в частности класс PosixAccount зашит намертво, а в NDS этого класса по умолчанию нету. Конечно, если реализовывать авторизацию на OpenLdap, все куда как более просто. С NDS все по-другому.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Paul emailИскать по авторуВ закладки on 10-Апр-03, 08:03  (MSK)
очепятался pam_nss == nss_ldap
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Как организовать возможность смены пользователем почтового п..."
Сообщение от SandySandy emailИскать по авторуВ закладки on 10-Апр-03, 04:51  (MSK)
И какой же "геморой" при поднятии сервара LDAP для централизованной аутенфикации?

з.ы. У меня два сервера LDAP на разных работах, все поднимается без проблем, если даже делать все по инструкции..

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Paul emailИскать по авторуВ закладки on 10-Апр-03, 07:56  (MSK)
>И какой же "геморой" при поднятии сервара LDAP для централизованной >аутенфикации?

авторизации

>з.ы. У меня два сервера LDAP на разных работах, все поднимается без
>проблем, если даже делать все по инструкции..

Какие LDAP-сервера? NDS?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Paul emailИскать по авторуВ закладки on 10-Апр-03, 08:01  (MSK)
я предложил два метода (вернее я предложил один, а с LDAP идейку предложил другой товарищ)

первый - делать шелл пользователю в виде /bin/passwd (или как он там в разных системах именуется). Дешево и сердито.
второй - организовывать LDAP. Способ красивый, спору нет. Но с изначальной задачей смены пароля ввиду отсутствия мало-мальски функциональных интерфейсов к LDAP. Хотя для задачи смены пароля можно и самому накатать. Дурное дело нехитрое. По уму тут как раз в крупных конторах следовало бы обратить внимание на Novell, ибо у последнего окромя клиента под Win существует еще дофига утилиток, типа ConsoleOne - с приятственным графическим интерфейсом.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Ihor Искать по авторуВ закладки on 10-Апр-03, 10:47  (MSK)
Просто поставь poppassd (http://echelon.pl/pubs/poppassd.html или на www.freshmeat.net) - есть версии, кот. меняют /etc/passwd напрямую и
кот. работают через PAM.
WWW-интерфейс к нему можно взять, например, с http://www.westnet.com/providers/ (см. wwwpass) + неокторые почтовые программы умеют общаться с ним напрямую без всяких дополнительных примочек.
Например, Eudora, для которой изначально это всё и было разработано.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Margulis emailИскать по авторуВ закладки on 11-Апр-03, 18:04  (MSK)
>Просто поставь poppassd...WWW-интерфейс к нему можно взять, например, с http://www.westnet.com/providers/ (см. wwwpass)

Докладываю: poppassd поставил. Попробовал менять пароль через Telnet. Получилось, хотя после УСПЕШНОЙ смены пароля она всё равно ругается, что "Unable change password." В принципе, и фиг с ней.
Начал прикручивать WEB-интерфейс с http://www.westnet.com/providers/ (wwwpass). Тут возникли вопросы. Например, возникло предположение, что эта фенька - для диалапщиков (поскольку присутствует файл с завораживающим названием get_dialup.pl, который README предписывает засунуть in your cgi-bin directory. Кроме того, обратившись к странице change_passwd.html, видим запрос на ввод старого пароля и дважды нового пароля. Про имя пользователя упоминания нет. Значит, предполагается, что я уже сообщал его раньше? Очень похоже на диалапские штучки. Короче, есть смысл биться в этом направлении?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "Как организовать возможность смены пользователем почтового п..."
Сообщение от SandySandy emailИскать по авторуВ закладки on 11-Апр-03, 11:28  (MSK)
У меня стоит openldap сервер. Поднимай не пожалеешь.
Пароли пользователи меняют через самбу ;) сами!
  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Ash Искать по авторуВ закладки on 11-Апр-03, 15:25  (MSK)
>Насколько я понял, Sendmail создаёт почтовые ящики юзерам, чья учётная запись имеется
>в системе. И пароль к почте тот, который используется для входа
>в систему. Так или нет? Это первый вопрос. Вопрос второй: понимая
>справедливое желание пользователей менять пароль на доступ к почте, как это
>организовать? Понятно, что это должен быть WEB-интерфейс, поскольку всякие Telnet'ы и
>SSH'и - штуки, про которые нормальный непродвинутый юзер может даже и
>не слышать. Наверное, надо использовать PERL. Нельзя ли наставить меня на
>путь истинный в двух словах (желательно цензурных)? Мож утилита какА есть?
>
Попробуй passwdd - нормально приворачивается к вебу

  Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "..."
Сообщение от Margulis emailИскать по авторуВ закладки on 11-Апр-03, 16:17  (MSK)
>Попробуй passwdd - нормально приворачивается к вебу

У меня чё-та и WEB не встаёт:

Inetserv# apachectl start
/usr/local/sbin/apachectl start: httpd could not be started
Inetserv#

Вот такая радость...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

19. "..."
Сообщение от Margulis emailИскать по авторуВ закладки on 11-Апр-03, 18:09  (MSK)
Докладываю: poppassd поставил. Попробовал менять пароль через Telnet. Получилось, хотя после УСПЕШНОЙ смены пароля она всё равно ругается, что "Unable change password." В принципе, и фиг с ней.
Начал прикручивать WEB-интерфейс с http://www.westnet.com/providers/ (wwwpass). Тут возникли вопросы. Например, возникло предположение, что эта фенька - для диалапщиков (поскольку присутствует файл с завораживающим названием get_dialup.pl, который README предписывает засунуть in your cgi-bin directory. Кроме того, обратившись к странице change_passwd.html, видим запрос на ввод старого пароля и дважды нового пароля. Про имя пользователя упоминания нет. Значит, предполагается, что я уже сообщал его раньше? Очень похоже на диалапские штучки. Короче, есть смысл биться в этом направлении?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

21. "..."
Сообщение от Ihor Искать по авторуВ закладки on 14-Апр-03, 11:13  (MSK)
Вот ещё PHP скрипт для работы с poppassd. К нему нужно ещё сделать форму,
где пользователь и будет набирать имя пользователя, текущий пароль и новый пароль:
===================================================================
# have a form submit two values to this script by names of curpass --- which is the users current # password and newpass --- which would be the users new pass

<?
$cfgServer    = "localhost";
$cfgPort    = 106;
$cfgTimeOut    = 10;
echo "<br>";
# open a socket first
if(!$cfgTimeOut)
    # without timeout
    $poppass_handle = fsockopen($cfgServer, $cfgPort);
else
    # with timeout
    $poppass_handle = fsockopen($cfgServer, $cfgPort, &$errno, &$errstr, $cfgTimeOut);

if(!$poppass_handle) {
    echo " Connetion to server failed . <br> ";
echo " Failed to Change Password ";
    exit();
}  
else {
# now talking to the server to change password.
fputs($poppass_handle, "user $username \r\n");
$tmpa = fgets($poppass_handle, 50);
fputs($poppass_handle, "pass $curpass \r\n");
$tmpb = fgets($poppass_handle, 50);
fputs($poppass_handle, "newpass $newpass \r\n");
$tmpc = fgets($poppass_handle, 3 );
$tmpd = fgets($poppass_handle, 3 );

#500 is first 3 characters returned by the poppassd
#daemon if current password is incorrect

if ($tmpc == 500)
{
echo "The Current Password you entered is incorrect <br>";
echo "Please go back and change your password again. " ;
}
else
{
echo "Password Changed Sucessfully" ;
}
}
# now done with it close the connection
fclose ($poppass_handle)
?>

  Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Понт Искать по авторуВ закладки on 12-Апр-03, 10:54  (MSK)
Вот простейший код на PHP (без проверки ошибок):

    $li=ldap_connect($ldap_server_name,$ldap_server_port);
    $r=ldap_bind($li,$binddn,$bindpw);
    $dn=$binddn;  // can be any dn as long as $binddn has access to modify
    $buf['userpassword'] = "{CRYPT}".crypt($new_pass);
    ldap_modify($li, $dn, $buf));
    ldap_close($li);

где (параметры post-a или get-a) $binddn - dn пользователя, $bindpw - старый пароль, $new_pass - новый пароль

при желании можно поднять SSL, но чтобы иметь заверенный сертификат, придется хорошо заплатить

  Рекомендовать в FAQ | Cообщить модератору | Наверх

22. "Как организовать возможность смены пользователем почтового п..."
Сообщение от Андрей Искать по авторуВ закладки on 14-Апр-03, 13:04  (MSK)

А может кто-нибудь подскажет как переташить пользователей с их паролями из smbpasswd в LDAP?
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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