Подтвердите имя пользователя в Linux, используя PAM
Я знаю, что было много вопросов относительно схем аутентификации с использованием PAM в Linux, и у меня также есть рабочая копия для аутентификации имени пользователя / пароля.
Я хочу знать, можем ли мы проверить только имя пользователя... учитывая, что я даже не создаю пароль при создании этого конкретного пользователя в Linux. Если да, дайте мне знать, как это сделать. Несколько фрагментов кода были бы действительно хороши. Спасибо!
PS Прямо сейчас я аутентифицируюсь, передавая значения через строки (каждый для имени пользователя и пароля)
1 ответ
Это то, что я понял, простой метод, и он может отличаться от чьей-либо логики.
- Возьмите только это "имя пользователя" и попробуйте создать пользователя, используя собственный системный вызов Linux.
- Если создание пользователя прошло успешно -> пользователь никогда не существовал (это решает мою проблему создания пользователя без пароля).
- Если создание пользователя не удается -> пользователь уже существует и не создает. Система вернет это, и вы должны получить возвращаемое значение, чтобы перейти к следующему шагу вашей программы).
Дайте мне знать, если это можно сделать более изысканным.
Вы можете использовать pam_securetty, который проверяет, равен ли идентификатор пользователя 0, если пользователя не существует, - эта проверка завершается неудачно и, следовательно, проверяет имя пользователя. Добавить в /etc/pam.d/login auth require pam_securetty.so