Удаленная команда имеет другую umask

ssh user @ host "umask" дает 0174

ssh user @ host , а umask из серверной оболочки дает 0002

Не могли бы вы объясните, как это может случиться?

UPD: На самом деле это был / etc / passwd, переопределивший umask.

2
задан 2 December 2020 в 13:25
1 ответ

Со страницы руководства bash:

При запуске интерактивной оболочки, которая не является оболочкой входа в систему, bash считывает и выполняет команды из ~/.bashrc, если этот файл существует. (...) При вызове в качестве интерактивной оболочки входа или неинтерактивной оболочки с параметром --login она сначала пытается прочитать и выполнить команды из /etc/profile и . ~/.profile, именно в таком порядке.

В вашей первой команде (ssh user@host "umask") это не оболочка входа в систему, во втором случае это так. Поэтому проверьте свой файл ~/.bashrc на наличие команды umask 0002.

3
ответ дан 1 December 2020 в 14:35

Теги

Похожие вопросы