Можно отредактировать sudoers
файл и набор secure_path
соответствовать Вашему пути. Это документируется в Unix & Linux.
Есть ли переключатель командной строки, которому я могу передать sudo
таким образом, что это использует путь, который я установил? Например:
rick@alien:~$ sudo echo $PATH
/home/rick/bin:/home/rick/.local/bin:/mnt/e/bin:/mnt/e/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
───────────────────────────────────────────────────────────────────────────────
rick@alien:~$ echo $PATH
/home/rick/bin:/home/rick/.local/bin:/mnt/e/bin:/mnt/e/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
───────────────────────────────────────────────────────────────────────────────
rick@alien:~$ sudo which auto-brightness-config
/usr/local/bin/auto-brightness-config
───────────────────────────────────────────────────────────────────────────────
rick@alien:~$ which auto-brightness-config
/mnt/e/usr/local/bin/auto-brightness-config
───────────────────────────────────────────────────────────────────────────────
rick@alien:~$ sudo locate auto-brightness-config
/Desktop/Link to auto-brightness-config
/home/rick/Pictures/display-auto-brightness-config 1.png
/mnt/e/Desktop/Link to auto-brightness-config
/mnt/e/usr/local/bin/.auto-brightness-config
/mnt/e/usr/local/bin/Link to auto-brightness-config
/mnt/e/usr/local/bin/auto-brightness-config
/usr/local/bin/.auto-brightness-config
/usr/local/bin/Link to auto-brightness-config
/usr/local/bin/auto-brightness-config
Когда я выполняю использование sudo
это находит неправильную копию сценария в /usr/local/bin
когда я действительно хочу версию в /mnt/e/usr/local/bin
.
Если я не хочу поддерживать путь в sudoers
файл, там переключатель, которому я могу передать sudo
использовать мой путь для нахождения правильной команды?
Ubuntu по умолчанию уже имеет secure_path
набор:
~ sudo -l
Matching Defaults entries for muru on muru-1604:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User muru may run the following commands on muru-1604:
(ALL : ALL) ALL
Нет никакого параметра командной строки, который может переопределить secure_path
набор 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
environment 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.
Так любой набор exempt_group
в sudoers
и добавьте себя к той группе или освободите себя от sudoers
:
Defaults:rick !secure_path
(rick
по-видимому, быть Вашим именем пользователя.)