Пользовательские модули PAM и соображения безопасности

В openssl руководстве (openssl страница справочника), поиск RSA, и Вы будете видеть, что команда для шифрования RSA rsautl. Затем читайте rsautl страница справочника для наблюдения ее синтаксиса.

echo 'Hi Alice! Please bring malacpörkölt for dinner!' |
openssl rsautl -encrypt -pubin -inkey alice.pub >message.encrypted

Дополнительная схема значения по умолчанию является исходным PKCS#1 v1.5 (все еще используемый во многих procotols); openssl также поддерживает OAEP (теперь рекомендуемый) и необработанное шифрование (только полезный при особых обстоятельствах).

Обратите внимание, что использование openssl непосредственно является главным образом осуществлением. На практике Вы использовали бы инструмент, такой как gpg (который использует RSA, но не непосредственно зашифровать сообщение).

8
20.06.2011, 01:39
1 ответ

Когда Вы призываете в Linux-PAM к некоторой процедуре аутентификации, всегда существует один и только один стек, который выполняется.

Определение стека ищется в этих местах; первая успешная попытка определяет, какой файл читается:

  1. файл в /etc/pam.d названный в честь приложения "сервисное название" (например, sshd или gdm), или

  2. файл /etc/pam.d/other если никакой определенный для сервиса файл не существует, или

  3. файл /etc/pam.conf если каталог /etc/pam.d не существует.

См. документацию для функции pam_start для деталей.

Общее -* файлы являются конвенцией, сопровождаемой многими дистрибутивами Linux, но не получают мандат самим программным обеспечением PAM. Они обычно включаются другими файлами PAM посредством @include операторы; например, /etc/pam.d/other файл на Debian имеет следующее содержание:

# We fall back to the system default in /etc/pam.d/common-*
@include common-auth
@include common-account
@include common-password
@include common-session

То же @include операторы могут использоваться определенным для сервиса файлом также, и - действительно они находятся в конфигурации по умолчанию на Debian. Обратите внимание, что это - вопрос конфигурации: системный администратор свободен изменить файл в /etc/pam.d не включать любого распространенного -* файлы вообще!

Поэтому: если Ваш модуль PAM характерен для Вашего приложения, создайте специализированный сервисный файл и назовите модуль оттуда. Автоматически не добавляйте модуль к файлу PAM других сервисов, ни к нейтрализации others файл, поскольку это может повредить другие приложения, установленные в системе. Управление программным стеком PAM является задачей для системного администратора, не для разработчиков приложений.

7
27.01.2020, 20:12
  • 1
    Это действительно разрешило материал для меня. Некоторые дистрибутивы используют общее -* файлы как резервное копирование для определенных для сервиса файлов конфигурации? Когда я поместил свой модуль в общего автора, он был выполнен, работая sudo. –  beatgammit 20.06.2011, 05:51
  • 2
    @tjameson, я обновил ответ с большим количеством деталей об общем -*, файлы –  Riccardo Murri 20.06.2011, 15:29
  • 3
    Хорошо, Спасибо!! Теперь я понимаю все это. Я думал, что, возможно, мое распределение имело пользовательскую сборку процедуры нейтрализации в к их версии PAM или чего-то. Спасибо за разрешение этого. –  beatgammit 20.06.2011, 22:01

Теги

Похожие вопросы