objectif
Générer un fichier sans éditeur, avec des permissions minimales et sans race condition.
code minimal
umask 077
tmp="$(mktemp)"
cat > "$tmp" <<'CONF'
[server]
listen = 127.0.0.1:9000
CONF
mv -f "$tmp" /etc/app.conf
utilisation
# recharger le service après mise à jour
sudo systemctl reload app.service
variante(s) utile(s)
# écrire dans le dossier de l'utilisateur
umask 077; tmp="$(mktemp)"; cat > "$tmp" <<'EOF'
secret=...
EOF
mv -f "$tmp" "$HOME/.app/secret.conf"
notes
umask 077restreint à rw-------.mvsur le même FS garantit l’atomicité.