Muito recentemente (com a versão 2.32-0.2 de util-linux
de 27 Jul 2018) o Debian mudou para uma implementação su
diferente, veja bug 833256 . O "novo" su
é de util-linux
, enquanto o "antigo" estava contido no pacote login
e originado de src:shadow
Citações do util-linux / NEWS.Debian.gz:
The two implementations are very similar but have some minor differences (and there might be more that was not yet noticed ofcourse), e.g.
- new 'su' (with no args, i.e. when preserving the environment) also preserves PATH and IFS, while old su would always reset PATH and IFS even in 'preserve environment' mode.
- su '' (empty user string) used to give root, but now returns an error.
- previously su only had one pam config, but now 'su -' is configured separately in /etc/pam.d/su-l
The first difference is probably the most user visible one. Doing plain 'su' is a really bad idea for many reasons, so using 'su -' is strongly recommended to always get a newly set up environment similar to a normal login. If you want to restore behaviour more similar to the previous one you can add 'ALWAYS_SET_PATH yes' in /etc/login.defs.
A implementação su
usada anteriormente se comportou de maneira diferente em relação a PATH
. Isso também é discutido neste relatório de bug, veja 833256 # 80 . O novo su
preserva PATH
se não invocado com su -
.
Resumindo: o antigo su
do Debian se comportou como su -
, pelo menos em relação a PATH
. Com a nova implementação, você quase sempre deve usar su -
, semelhante a outras distribuições.