Ошибка возникает из-за того, что бинарный файл, который вы пытаетесь вызвать из командной строки, является частью переменной PATH текущего пользователя, но не является частью PATH пользователя root.
Вы можете проверить это, путь к двоичному файлу, к которому вы пытаетесь получить доступ. В моем случае я пытался назвать «bestcap-ng». Итак, я побежал,
$ which bettercap-ng
output: /home/user/work/bin/bettercap
Я проверил, является ли это местоположение частью PATH моего пользователя root.
[d5 ] $ sudo env | grep ^PATHoutput: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Так что sudo не может найти двоичный файл, который я пытаюсь вызвать из командной строки. Следовательно, команда error не найдена.
Вы можете направить sudo на использование PATH текущего пользователя при вызове двоичного файла, как показано ниже.
$ sudo -E env "PATH=$PATH" [command] [arguments]
На самом деле можно сделать псевдоним из этого:
$ alias mysudo='sudo -E env "PATH=$PATH"'
Также можно назвать сам псевдоним sudo, заменив исходное sudo.
Пожалуйста, обратитесь к этому видео для шага ступенчатое решение
Вам нужно установить «Полное имя» - посмотреть пользователей и группы: