1

Я настроил sudo для пользователя (myuser) следующим образом на "hostname" (содержимое sudoers):

myuser ALL=(suser) NOPASSWD: /path/script*

это работает нормально, поэтому я могу запустить следующее, вошедший локально как myuser на имя хоста, без необходимости пароля:

sudo -u suser /path/script

однако, когда я использую ssh (с установленными ключами, поэтому пароль не требуется) для входа и запуска, выполните следующие действия:

ssh hostname sudo -u suser /path/script 

Я получаю запрос на ввод пароля, и после ввода пароля я получаю:

Sorry, user myuser is not allowed to execute '/path/script' as suser on hostname
,

ОБНОВЛЕНИЕ Проблема решается удалением «*» в конце команды в sudoers. * Был добавлен, чтобы разрешить передачу параметров в скрипт, но на самом деле это не нужно. До сих пор не понимаю, почему * позволяет sudo работать локально, но не поверх ssh. Так что вопрос до сих пор стоит

0