pam_cracklib сообщает о неверном пароле правильно, но pam_unix модуль ВСЕ ЕЩЕ изменяет пароль

Мы недавно оценили SonicWall 240 и SonicWall 2400 для этого точно того же самого сценария.

Мы решили пойти для этих 2400 по нескольким причинам:

  1. Это является монтируемым в стойку, который делает управление просто что крошечный бит легче
  2. Это - пропускная способность, существенно выше, чем 240
  3. Дело не в этом намного больше expensive1:
     
    (Основной) NSA 2400 - 3 550$
    (Обработка отказа) NSA 2400 - 1 750$
    Лицензия HA - 650$ 2 400 общих количеств: 5 950$
     
    (Основной) NSA 240 - 1 750$
    (Обработка отказа) NSA 240-900$
    Лицензия HA - 500$
    240 Общих количеств: 3 150$

  4. С ростом 500 пользователям Терминального сервера Вы будете ценить увеличенную производительность и скорость процессора 2400 - espcially, если Вы соберетесь использовать функцию DPI.

  5. Тот, если большие вещи, отсутствующие во всем из 24xx, диапазон является LAGG. Мы надеялись использовать обработку отказа порта, а также HA (для защиты от глупых ошибок), но та функция только, кажется, доступна на 5xxx ряд или выше. Дополнительный, 25 VLAN могли бы быть проблемой для Вас, возможно, нет. Мы имеем приблизительно 10 VLAN в нашей сети в данный момент и немного обеспокоены пределом VLAN.

1This оценка от моей местной валюты, RRP. Не используйте его для сравнения любой оценки, Вы могли бы получить, особенно, если Ваш находится в $USD, поскольку они будут существенно ниже

3
задан 23 January 2014 в 21:41
1 ответ

Это потому, что sudo запускает ваши команды от имени пользователя root.

Если вы отметите man pam_cracklib , вы увидите следующее

   enforce_for_root
       The module will return error on failed check also if the user
       changing the password is root. This option is off by default which
       means that just the message about the failed check is printed but
       root can change the password anyway. Note that root is not asked
       for an old password so the checks that compare the old and new
       password are not performed.

Итак, вам нужно изменить свой pam_cracklib.so строка, чтобы сказать

password requisite   pam_cracklib.so debug retry=3 minlen=14 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root

Посмотрев на исходный код pam_cracklib.so, он выполняет следующее в строке 804 (во всяком случае, в Fedora 20)

  if (getuid() || options.enforce_for_root || (flags & PAM_CHANGE_EXPIRED_AUTHTOK))

Таким образом, он проверяет реальный UID вызывающего и применяет изменения или нет, в зависимости от от того, равен ли реальный UID 0.

Итак, вы должны просто иметь возможность установить свой двоичный файл и убедиться, что он принадлежит root, тогда он сможет изменить пароль и принудительно применить решение cracklib. setuid'ing ваших двоичных файлов устанавливает только эффективный uid равным 0, а не реальный.

3
ответ дан 3 December 2019 в 06:35

Теги

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