Как проверить, используют ли процессы файлы в каталоге

Модули PAM могут обеспечить уровень гибкости, который позволит достичь почти именно того, что вы хотите. Основываясь на вашем ответе в комментарии, вы были бы счастливы разрешить su предложить три попытки, прежде чем они потерпят неудачу. Это то, что я предлагаю здесь.

Я настоятельно рекомендую делать резервную копию каждого PAM файла конфигурации, который вы изменяете, и чтобы у вас уже была открыта корневая оболочка, готовая отменить сломанные изменения. После любого изменения в PAM очень важно проверить, можете ли вы войти в систему и получить root-доступ. Если вы ошиблись, вы можете полностью промыть всю систему.

Файлы PAM находятся в /etc/pam.d , и вам потребуется root-доступ для их изменения.

Файл su в Debian 8 содержит одну строку аутентификации и ссылку на включаемый файл common-auth . Собирая их вместе, мы получаем следующее:

auth    sufficient pam_rootok.so

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    requisite                       pam_deny.so

auth    required                        pam_permit.so
auth    optional                        pam_cap.so

Самое интересное - это вызов pam_unix.so , который выполняет аутентификацию по базе данных паролей ( / etc / passwd и / etc / тень ). Компонент [success = N] сообщает PAM , что если модуль возвращает статус успеха, он должен пропустить следующие N модулей.Поэтому, если вы получите успешный возврат от pam_unix.so , конфигурация пропустит модуль отказа pam_deny.so .

Мы можем использовать этот подход для создания еще двух попыток аутентификации, например:

auth    sufficient pam_rootok.so

auth    [success=3 default=ignore]      pam_unix.so nullok_secure
auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    requisite                       pam_deny.so

auth    required                        pam_permit.so
auth    optional                        pam_cap.so

Итак, работа выполнена.


Обратите внимание: если вы используете SAMBA или какую-либо другую схему внешней аутентификации, вам нужно будет немного скорректировать изменения. На одной из моих систем есть такая дополнительная проверка через pam_winbind.so . Это также должно быть воспроизведено, поэтому вы должны перейти от этого:

auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    requisite                       pam_deny.so

к этому:

auth    [success=6 default=ignore]      pam_unix.so nullok_secure
auth    [success=5 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    [success=4 default=ignore]      pam_unix.so nullok_secure
auth    [success=3 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    requisite                       pam_deny.so
1
19.10.2017, 00:37
0 ответов

Теги

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