Конфигурация pam_time.so игнорируется, как ее отладить?

493
Georges Dupéron

Я пытаюсь использовать pam_time.soмодуль, чтобы ограничить время, в которое могут использовать некоторые пользователи sudo. Тем не менее, мои изменения конфигурации, кажется, не имеют никакого эффекта. Как я могу отладить эту проблему? Возможно ли для моего дистрибутива изменить местоположение /etc/security/time.conf? pam.d/sudoФайл уже существует, и если я закомментируйте другие строки, я могу увидеть эффект, но time.confфайл не существует нигде в /etc, так что я мог бы быть просто изменив неправильный файл.

Ниже то, что я пытался до сих пор.


Вот содержание /etc/security/time.conf:

sudo;*;*;!Al0830-1700 su;*;*;!Al0830-1700 

А вот содержимое /etc/pam.d/sudoи /etc/pam.d/su(по умолчанию в моем дистрибутиве плюс первая строка для загрузки pam_time.so).

account required pam_time.so debug account required pam_unix.so auth sufficient pam_unix.so likeauth try_first_pass auth required pam_deny.so password requisite pam_unix.so nullok sha512 session required pam_env.so envfile=… session required pam_unix.so 

Когда я пытаюсь использовать sudo /bin/sh, journalctl -fпечатает:

août 09 13:53:15 nixos sudo[7454]: georges : TTY=pts/6 ; PWD=/home/georges ; USER=root ; COMMAND=/bin/sh août 09 13:53:15 nixos sudo[7454]: pam_unix(sudo:session): session opened for user root by (uid=0) 
  • debugВ /etc/pam.d/sudoкажется, не имеет никакого эффекта
  • Некоторые источники в Интернете используют account requisite pam_time.soвместо required, но это не имеет значения для меня
  • pamtester -v sudo root open_sessionне показывает никакой полезной информации (и успешно), но pamtester -v sudo root authenticateотклоняет мой пароль, и journalctlжурнал показывает это, но значения time.confне имеют никакого эффекта:

    août 09 13:56:03 nixos unix_chkpwd[7965]: check pass; user unknown août 09 13:56:03 nixos unix_chkpwd[7965]: password check failed for user (root) 
  • Я попытался удалить auth sufficient pam_unix.so …строку, и доступ к sudo запрещен даже без ввода пароля, поэтому я знаю изменения в /etc/pam.d/sudoработе. однако pam_time.soне может использоваться в качестве authмодуля ( journalctlжурнал жалуется на отсутствующий символ).

  • Я попытался перезагрузить машину, но конфигурация все еще игнорируется.
0

1 ответ на вопрос

0
Stefan

Проблема, вероятно, заключается в двух подстановочных знаках.

sudo;*;*;!Al0830-1700

Согласно справочной странице, его можно использовать только один раз: « Для этих элементов простой подстановочный знак« * »может использоваться только один раз ».

Чтобы обойти это, вы можете использовать что-то вроде:

sudo;*;!root;!Al0830-1700

Это применяет правило к каждому пользователю (кроме root).

Изменить : поцарапать это, это работает в моей системе. Кстати, вы должны проверить стек учетной записи сpamtester -v sudo username acct_mgmt

Итак, вы говорите, что ваш ответ неверен? Blackwood 6 лет назад 0

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