Я пытаюсь использовать модуль 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
жалуется недостающим символ).- Я попытался перезагрузить машину, но конфигурация все еще игнорируется.