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