Почему sudo apt install /path/ *.deb выдает отказ в разрешении, тогда как sudo dpkg -i /path/ *.deb работает нормально?

Возможным обходным решением является использование модуля pam _, уже зарегистрированного в . Обычно это используется для входа в систему без пароля, когда вы уже вошли в систему с другого tty, но с некоторой творческой конфигурацией pam ее также можно использовать для различения первого входа в систему (, еще не выполненного входа )и разблокировки. или второй логин (уже зарегистрирован ). Выбор, который он делает, не идеален, но может быть достаточным для ваших нужд.

Одно большое предостережение заключается в том, что модуль не распознает сеансы X, а только сеансы терминала (, потому что он проверяет право собственности на tty-устройство, которого нет у сеансов X, поэтому он ищет /dev/:0, которого нет. существуют ). На практике это означает, что он распознает вас как вошедшего в систему, если у вас есть какой-либо терминал, открытый внутри вашей X-сессии (, а также экран или tmux, работающий в фоновом режиме ).

Я думаю, что что-то вроде следующего может подойти для вашего варианта использования:

# Skip regular password checks when already logged in (i.e. also when
# unlocking). This skips a number of modules from common-auth when
# succesful, so this breaks when extra primary modules are added there,
# but this seems to be the only way (using success=done prevents
# optional post-auth modules from running).
auth [success=2 default=ok] pam_alreadyloggedin.so debug

@include common-auth

auth    required  pam_u2f.so

Возможно, вам придется адаптировать это в зависимости от того, что содержит ваш common-authфайл.

1
24.10.2021, 03:49
1 ответ

Как я понял теперь (благодаря комментариям)sudo aptиспользует _aptпользователя. И отсутствие разрешения на выполнение для родительской папки /media/mintне позволило ему получить доступ к файлам. Обходной путь - добавить разрешение exec, например.

setfacl -m u:_apt:x /media/mint
2
25.10.2021, 03:56

Теги

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