Назад | Перейти на главную страницу

Управление пользователями SSH с помощью серверной части MySQL

есть ли возможность использовать базу данных (mysql) для управления учетными данными SSH вместо / etc / passwd?

Я знаю, что могу использовать ldap, но мне нужно только простое управление пользователями, а ldap кажется немного мощным для этой работы.

Да. Аутентификация Linux основана на подключаемых модулях аутентификации (PAM), которые позволяют легко переключаться с одного сервера аутентификации на другой. Просто установите и настройте модуль PAM MySQL с соответствующей базой данных пользователей в MySQL.

Предварительно скомпилированные пакеты доступны в EPEL архив для RHEL / CentOS as pam_mysql и pam-mysql пакет должен быть доступен в Debian / Ubuntu.

Хотя PAM-MySQL может управлять учетными данными для входа, это неполное решение, поскольку он обрабатывает только часть аутентификации. Он не создает учетную запись пользователя в системе. Например:

Другими словами, PAM-MySQL заменяет /etc/shadow, не для /etc/passwd. Вам нужно будет либо создать /etc/passwd вход и запись MySQL для каждого пользователя или дополнить PAM-MySQL NSS MySQL.

LDAP действительно является лучшим инструментом для этой работы, так как вы сможете централизовать информацию об учетной записи пользователя в одном месте. Я не верю, что он слишком силен. Скорее, это своего рода база данных, специально разработанная для управления учетными записями пользователей, поэтому лучше всего будет просто использовать LDAP как стандартное решение, а не взламывать нестандартную систему с MySQL. Либо OpenLDAP, либо 389 Directory Server были бы более подходящей пользовательской базой данных, чем MySQL. (Оба они могут быть настроены для использования серверной части SQL, если вы настаиваете.)