Pokud potřebujeme provést změnu hodnoty umask pro konkrétní službu v Systemd, vytvoříme si pro ni vlastní service file. V tomto souboru provedeme include
defaultního service souboru a následně v sekci Service
nastavíme proměnnou UMask
.
vim /etc/systemd/system/httpd.service .include /lib/systemd/system/httpd.service [Service] UMask = 0002
Aby se projevily naše úpravy, nesmíme zapomenout provést reload unit souborů příkazem systemctl daemon-reload
.
Úspěšnost našeho nastavení lze u běžícího procesu služby ověřit pomocí GNU debugeru. Spustíme debugger s parametrem PID zkoumaného procesu. Následně zavoláme systémovou funkci umask, jejíž návratovou hodnotou bude aktuální hodnota umask. Vzhledem k tomu, že jsme při této operaci provedli její změnu, vrátíme ji stejným způsobem zpět.
gdb --pid=24665 (gdb) call umask(0) $1 = 2 (gdb) call umask(2) $2 = 0 quit