Установка инструментов и другой командной строки использования в Ubuntu 18.04 с sudo работает отлично. пример: sudo apt install ...
работы отлично. Рабочие инструменты и программы через командную строку как sudo не работают вообще. При запущении тех же программ и инструментов, поскольку обычный пользователь работает отлично. Пример: start gtkwave
поскольку обычный пользователь заставляет gtkwave GUI открыться. Запустите gtkwave как sudo, просит пароль и затем заканчивается в: sudo: gtkwave: command not found
.
Я должен сказать, что некоторые инструменты вызвали на командную строку как sudo работа безупречно, например, я могу запустить Atom с командной строки как обычный пользователь и как sudo.
Это, возможно, потому что инструменты/программы, не работающие как sudo, не установлены в общих папках Linux как /bin
или /usr/bin
но как программы под /opt
(они добавляются к пути, и необходимые среды установили)?
У кого-либо есть какая-либо идея, почему это происходит?
По умолчанию, sudo
поиски программ с помощью его собственного secure_path
это определяется в /etc/sudoers
файл. От man sudoers
:
secure_path Path used for every command run from sudo. If you don't trust the people running sudo to have a sane PATH environ‐ ment variable you may want to use this. Another use is if you want to have the “root path” be separate from the “user path”. Users in the group specified by the exempt_group option are not affected by secure_path. This option is not set by default.
Обратите внимание на это несмотря на последнюю строку там, Ubuntu по умолчанию /etc/sudoers
действительно устанавливает его:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
так ни один пользователь вызова PATH
ни корень PATH
произведет, расположены ли программы при использовании sudo
.
Если Вы действительно хотите программы в местоположениях такой как /opt
быть исполняемым файлом через sudo
, Вы должны будете также
используйте полный путь, например. sudo /opt/somepath/bin/prog
измените sudoers secure_path
для включения местоположений, - если Вы решаете сделать это, используйте sudo visudo
поймать любые синтаксические ошибки (еще Вы рискуете блокировать себя из sudo
в целом).
Однако необходимо ли, вероятно, читать, Почему пользователи никогда не должны использовать нормальный sudo для запущения графических приложений? перед продолжением.