Bash Completion ignora as alterações feitas no secure_path do sudo

1

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?

    
por ChennyStar 17.02.2018 / 16:06

0 respostas