
ssh user@host "umask"
дает 0174
ssh user@host
и umask из оболочки сервера дает 0002
Не могли бы вы объяснить, как это может произойти?
UPD: На самом деле, это был /etc/passwd, переопределяющий umask.
решение1
Из страницы руководства bash:
При запуске интерактивной оболочки, которая не является оболочкой входа, bash считывает и выполняет команды из
~/.bashrc
, если этот файл существует. (...) При вызове в качестве интерактивной оболочки входа или неинтерактивной оболочки с опцией--login
она сначала пытается считывать и выполнять команды из/etc/profile
и~/.profile
в указанном порядке.
В вашей первой команде ( ssh user@host "umask"
) это не оболочка входа, во втором случае это так. Так что проверьте свой ~/.bashrc
файл на наличие umask 0002
команды.