post-checkout mit git

Ich pflege meinen .ssh Ordner mit git. Im Klartext, ich habe mehr Branches für unterschiedliche Szenarien. Der Hintergrund: egal, weil es geht. Dabei habe ich immer das Problem gehabt, dass die Keys nicht die korrekten Zugriffsberechtigungen hatten (0644 auf Dateien). Nach etwas Recherche stellt sich heraus, dass im git Repo, es möglicht ist, Script nach bestimmten Positionen/Stadien automatisch ausführen zu lassen. In meinem Fall ist das post-checkout Script unter $REPODIR/.git/hooks/ spannend. Kurzerhand dort eine Shellscript mit dem Namen angelegt. Ein passenden Find/While Befehl gebaut und schwups, sind die Berechtigung zukünftig korrekt. Hier das Beispiel:

post-checkout
#!/usr/bin/bash
 
#find pubkey and set file.key permissions
find $HOME/.ssh -name '*.pub' -print0  | while IFS= read -r -d '' line; do chmod 600 $HOME/.$(echo $line | cut -f 2 -d ".") || true; done