1

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

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

Конечно, я могу использовать PAM для аутентификации данного пользователя программой, использующей pam_start( "system-auth" ) ; , но как насчет добавления пользователя.

Что если я захочу использовать Active Directory или LDAP не только для доступа к моему серверу Linux, но и для активного добавления с этого сервера Linux (как root) новых пользователей?

Будет ли работать простой useradd jerry ? Откуда он знает, что нужно добавить Джерри в LDAP, а не в /etc /passwd и /etc /shadow?

Лучше всего будет сослаться на статью, которую я мог бы прочитать, а не на мнение «я думаю, что системная аутентификация хороша» или "вам лучше использовать имя службы passwd"

Заранее спасибо! - Грег.

1 ответ1

4

Какое имя службы PAM использует useradd?

Он вообще не использует PAM для поиска службы аутентификации системы. Единственное, для чего используется PAM - это аутентификация пользователя, который вызывает useradd (а не создаваемой учетной записи пользователя). И это происходит только в том случае, если он был скомпилирован с использованием setuid и PAM.

как насчет добавления пользователя

PAM не обращается к управлению пользователями или группами (несмотря на вводящее в заблуждение имя pam_acct_mgmt ), только аутентификация.

Что делать, если я хочу использовать Active Domain

Предполагая, что вы имеете в виду Active Directory, который использует комбинацию LDAP и Kerberos, но PAM не работает с Kerberos.

или LDAP

Вам придется использовать ldapadd или какой-либо другой инструмент, поддерживающий LDAP.

Лучше всего будет ссылка на статью, которую я мог бы прочитать

Я могу дать вам исходный код по крайней мере. Из src/useradd.c вы можете следить за вызовом pw_update , который определен в lib/pwio.c , и увидеть, что глобальный passwd_db настроен с помощью макроса PASSWD_FILE , который по умолчанию в lib/defines.h для /etc/passwd , Существуют похожие пути кода, соединяющие его с /etc/shadow , /etc/group и /etc/gshadow .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .