diff options
| author | 2025-10-19 11:40:00 +0200 | |
|---|---|---|
| committer | 2025-10-19 11:40:00 +0200 | |
| commit | d9fc214c094bdb4ae4f7a855a1cc61134a5b519e (patch) | |
| tree | f74329a215ed6e86bb21cd055623e3705f92a3ce | |
| parent | 40fa1d2fbd1e5feb9e0f8228288c9fb5e031932d (diff) | |
Finally works with permission checks
| -rw-r--r-- | docker-compose.yml | 2 | ||||
| -rwxr-xr-x | init | 2 | ||||
| -rwxr-xr-x | run | 4 | ||||
| -rw-r--r-- | sudo-git | 2 |
4 files changed, 6 insertions, 4 deletions
diff --git a/docker-compose.yml b/docker-compose.yml index 6327962..2ccd530 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: - "--users" - pass,yolo - "--repos" - - pass:pass + - pass:pass,yolo:yolo volumes: - ./keys:/var/keys - ./repos:/srv/repos @@ -35,7 +35,7 @@ for repoConfig in (string split ',' $_flag_r) # write user as allowed into permission file for user in $parsedConfig[2..] - echo "$repo:$user" >> /srv/repos/permissions + echo "$repoDir:$user" >> /srv/repos/permissions end # setup repo dir @@ -2,7 +2,9 @@ # echo check for permissions set -l USER (whoami) -#cat /srv/repos/permission | grep -E "^ +set matcher (string match -r -g "^.*'(.*)'\$" "$argv") +cat /srv/repos/permissions | grep -q -E "^$matcher[1]:$USER" +or exit 1; # run command /usr/bin/sudo -u git /usr/bin/git-shell -c "$argv" @@ -1,2 +1,2 @@ Defaults:pass !requiretty -pass ALL=(git) NOPASSWD: /usr/bin/git-shell +ALL ALL=(git) NOPASSWD: /usr/bin/git-shell |
