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

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

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

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

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

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

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

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

1 ответ

Решение

Какое имя службы 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,

Другие вопросы по тегам