Мне было интересно, может ли кто-нибудь указать мне правильное направление. Я хочу создать систему входа в систему, которая привлекает пользователей, уже созданных на сервере (с использованием Ubuntu 16.04). Я считаю, что пример системы был бы похож на белочную почту. Спасибо!
1 ответ
Есть много способов сделать это, ни один из них не является универсальным, поэтому я буду говорить в общих чертах о наиболее распространенных сценариях.
Linux обычно хранит пароли в зашифрованном виде в / etc / shadow. Этот файл, обычно доступный для чтения только root, имеет имя пользователя в качестве первого параметра и пароль в качестве второго. Вы можете импортировать имена пользователей и зашифрованные пароли, а затем использовать механизм для проверки расшифрованных паролей. Вы можете использовать вызов PHP «password_verify» после импорта получил хешированный пароль.
Если Squirelmail разрешает вам доступ к серверу, скорее всего, он использует IMAP или POP3. Вы могли бы потенциально (хотя и со снижением скорости) использовать библиотеку POP3 или IMAP, чтобы проверить, может ли пользователь войти в систему, а затем отключить это. Посмотри на https://www.php.net/manual/en/function.imap-open.php
Другой возможностью было бы использовать PAM — это общий интерфейс абстракции между версиями Linux и аутентификацией. Я нашел (неподдерживаемый) модуль PAM PHP, который должен позволить вам аутентифицироваться с помощью PHP — хотя, конечно, вам нужно убедиться, что PAM включен и смириться с неподдерживаемым кодом — взгляните на http://svn.php.net/viewvc/pecl/pam/trunk/README?view=markup
