
ssh user@host "umask"
dá 0174
ssh user@host
e o umask do shell do servidor fornece 0002
Você poderia explicar como isso pode acontecer?
UPD: Na verdade, foi /etc/passwd substituindo umask.
Responder1
Na página de manual do bash:
Quando um shell interativo que não é um shell de login é iniciado, o bash lê e executa comandos de
~/.bashrc
, se esse arquivo existir. (...) Quando invocado como um shell de login interativo ou um shell não interativo com a--login
opção, ele primeiro tenta ler e executar comandos de/etc/profile
e~/.profile
, nessa ordem.
No seu primeiro comando ( ssh user@host "umask"
) não é um shell de login; no segundo caso, é. Portanto, verifique ~/.bashrc
se há um comando em seu arquivo umask 0002
.