diff options
author | lassulus <lassulus@lassul.us> | 2019-04-18 20:28:06 +0200 |
---|---|---|
committer | lassulus <lassulus@lassul.us> | 2019-04-18 20:28:06 +0200 |
commit | 6c719f03c1a5533b43957d3039b4aed5f5bd8b42 (patch) | |
tree | 43e82adee9da4bde3c726b43224530c5719b12e2 /krebs/3modules | |
parent | adc7ca2dc7ada2e34362a301f7d7898bec2f4991 (diff) | |
parent | c082c8d62be63c7acf31de37c4b87a5b5d8118fa (diff) |
Merge remote-tracking branch 'ni/master'
Diffstat (limited to 'krebs/3modules')
-rw-r--r-- | krebs/3modules/permown.nix | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/krebs/3modules/permown.nix b/krebs/3modules/permown.nix index 0f2ba86c8..63adb2236 100644 --- a/krebs/3modules/permown.nix +++ b/krebs/3modules/permown.nix @@ -65,17 +65,30 @@ with import <stockholm/lib>; find "$ROOT_PATH" -type d -exec chmod "$DIR_MODE" {} + find "$ROOT_PATH" -type f -exec chmod "$FILE_MODE" {} + - inotifywait -mrq -e CREATE --format %w%f "$ROOT_PATH" | + paths=/tmp/paths + rm -f "$paths" + mkfifo "$paths" + + inotifywait -mrq -e CREATE --format %w%f "$ROOT_PATH" > "$paths" & + inotifywaitpid=$! + + trap cleanup EXIT + cleanup() { + kill "$inotifywaitpid" + } + while read -r path; do if test -d "$path"; then + cleanup exec "$0" "$@" fi chown -h "$OWNER_GROUP" "$path" if test -f "$path"; then chmod "$FILE_MODE" "$path" fi - done + done < "$paths" ''; + PrivateTemp = true; Restart = "always"; RestartSec = 10; UMask = plan.umask; |