Eu gostaria de adicionar um novo caminho (/ usr / lib / cyrus / bin neste exemplo) ao $ PATH do root (e ao secure_path do sudo). Eu estou no Debian, a propósito
Primeiro, eu adiciono ao $ PATH do root, usando o /etc/bash.bashrc. Até aí tudo bem, eu fico:
# which cyr_expire
/usr/lib/cyrus/bin/cyr_expire
# cyr<Tab><Tab>
cyradm cyr_dbtool cyrdeliver cyr_deny cyr_df cyrdump cyr_expire cyr_info cyrmaster cyr_sequence cyrus cyr_userseen
O Bash Completion funciona bem.
Em seguida, eu adiciono ao secure_path do sudo, em / etc / sudoers:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/cyrus/bin"
Eu verifico se o novo diretório é bem tratado pelo sudo:
$ sudo which cyr_expire
/usr/lib/cyrus/bin/cyr_expire
Ok, funciona
Mas a conclusão do bash parece não levar em conta esse novo diretório:
$ sudo cyr<Tab><Tab>
cyradm cyrdeliver cyrmaster cyrus
Binários sob / usr / lib / cyrus / bin (por exemplo, cyr_dbtool, cyr_deny, cyr_expire, ...) não são propostos pelo preenchimento Bash quando chamados através do sudo.
O que eu senti falta?
Tags sudo bash path autocomplete