Defaults env_keep += "HGRCPATH" Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"
Essa segunda linha redefine env_keep
. Fique com +=
ou mova a linha =
antes de qualquer linha +=
.
Estou tentando seguir as instruções aqui em "sudo e vários usuários". Acredito que eu consegui modificar /etc/sudoers
corretamente (adicionando Defaults :me env_keep += "HGRCPATH"
no início da seção defaults, mas depois cortando :me
porque o sudo estava me dando erros de análise) porque eu recebo isto:
[me /]$ su
Password:
[root /]$ echo $HGRCPATH
/home/me/.hgrc
No entanto, quando tento realmente usar hg
, tenho problemas:
[me /]$ sudo hg commit -m "Initial check-in."
abort: no username supplied (see "hg help config")
De fato:
[me /]$ sudo hg debugconfig --debug | grep read
read config from: /usr/etc/mercurial/hgrc
read config from: /etc/mercurial/hgrc
read config from: /etc/mercurial/hgrc.d/mergetools.rc
read config from: /root/.hgrc
Por que hg
parece estar ignorando $ HGRCPATH e procurando /root/.hgrc
em vez de /home/me/.hgrc
?
UPDATE
Aqui estão as linhas não comentadas de /etc/sudoers
:
$ sudo cat /etc/sudoers | grep '^[^#]'
Defaults env_keep += "HGRCPATH"
Defaults requiretty
Defaults !visiblepw
Defaults always_set_home
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root ALL=(ALL) ALL
me ALL=(ALL) ALL
Tags sudo configuration mercurial