umask
работает, только если он запускается встроенной командой.
Не вызывайте скрипт по имени, а вызовите .script
, чтобы он был выполнен текущим процессом оболочки.
Если вас смущает значение, выводимое как 0022
вместо 022
, то разницы нет, эти значения идентичны.
Попробуйте использовать POSIX umask -S
, чтобы получить более понятный вывод.
Поскольку у вас есть существующий /etc/profile.d
каталог (и, предположительно, соответствующие /etc/profile
или /etc/${SHELL}rc
файлы, исходные файлы в этом каталоге ), я бы рекомендовал разместить /etc/profile.d/3rd-party-app.sh
и/или /etc/profile.d/3rd-party-app.csh
с требуемым кодом. Если вы являетесь упаковщиком стороннего -приложения, вы можете включить эти файлы в упаковку, чтобы они устанавливались, обновлялись и удалялись менеджером пакетов. В противном случае, как пользователь программного обеспечения, размещение этих файлов сделает их неуправляемыми и, следовательно, не будет затронуто обновлениями пакетов ОС.
ОБНОВЛЕНИЕ из OP:
https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_adm_whatistheshell.html
/etc/профиль Не изменяйте этот файл, иначе ваши модификации могут быть уничтожены при следующем обновлении!
/etc/profile.local Используйте этот файл, если вы расширяете /etc/profile
/etc/profile.d/ Содержит общесистемные -файлы конфигурации для определенных программ
.