From 74d035facc0c94af8f82830f99823093a7e1a6c9 Mon Sep 17 00:00:00 2001
From: David Beniamine <david.beniamine@tetras-libre.fr>
Date: Tue, 26 Oct 2021 12:09:30 +0200
Subject: [PATCH] Fix permissions all the way up while uploading directories

---
 docker/files/chown.sh | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/docker/files/chown.sh b/docker/files/chown.sh
index e5964b9..41a2087 100755
--- a/docker/files/chown.sh
+++ b/docker/files/chown.sh
@@ -1,3 +1,13 @@
 #!/bin/sh
 
-chown -R 1000:1000 $FILE
+UID=1000
+base_dir="/srv"
+
+chown $UID:$UID "$FILE"
+dir=$(dirname "$FILE")
+# Fix parent directory's ownership until we hit the base_dir or a directory that
+# Already belongs to the user
+while [ "$dir" != "$base_dir" ] && [ $(stat -c %u "$dir") != $UID ]; do
+    chown $UID:$UID "$dir"
+    dir=$(dirname "$dir")
+done
-- 
GitLab