[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#72398] [PATCH v2] services: Add readymedia-service-type.
From: |
Arun Isaac |
Subject: |
[bug#72398] [PATCH v2] services: Add readymedia-service-type. |
Date: |
Wed, 28 Aug 2024 23:51:16 +0100 |
Hi Bruno,
>> I am with Fabio on this. Many (almost all, maybe?) services use a fixed
>> user account that cannot be configured. And, that's ok.
>
> Without delving into the quantifying, there's at least a few of them
> that offer this feature. (in my experience, I've had to rely on this for a
> few services already so it's not merely a theoretical concern)
>
> Should you ever need to "tweak" a fixed user-account service
> you're going to end up with something like [1] (beginning from line 21,
> rationale given at line 39). Not exactly desirable and although the
> example above pertains to nginx + cgit if I'm not mistaken, a similar
> situation arises in the following (fictional) setup:
>
> /media/NFS/my-media/… (owner: foo, group: bigmedia, #o750)
> /media/jumbodisk/my-media/… (owner: bar, group: bigmedia, #o750)
> /media/something-else/library/… (owner: baz, group: bigmedia, #o750)
>
> and wholesame chown'ing them to "readymedia" wouldn't make sense/be
> a good idea (say, each of the directories is under control by a
> downloader/synchronizing daemon with it's own user-account).
You're right about this problem. It's been discussed here as well:
https://issues.guix.gnu.org/67288 But, like I mention there, I am
worried that adding configurable user and group fields to every service
isn't very composable. Ideally, we'd want to have a separate
"add-user-to-group" service that can modify configured users to have
more groups. Such a solution may be more composable. WDYT?
>> I don't think we should make the least authority wrapper optional
>> either. Making it optional would be too much complexity for little
>> benefit. (…)
>
> I don't think so, it amounts to:
> • a boolean field named least-authority-wrapped? in the configuration
> record-type
> • an if statement, e.g. (if least-authority-wrapped? (least-authority-wrapper
> …) readymedia)
>
> As for the reason of this, consider a setup where the media directories
> contain symlinks to directories outside of it. It can be infeasible to
> duplicate the files or "just move them then", in those cases an escape
> hatch makes sense to be. It's not as secure as the least-authority wrapped
> one but that's a compromise opted in by the user.
Another solution could be to add a "mappings" field that specifies
additional directories to map into the container. I do this in some
services in
guix-forge. https://guix-forge.systemreboot.net/manual/dev/en/#item27237
It's probably not the most elegant solution, but it works without
completely disabling the container. Would this be acceptable to you?
Cheers, and happy hacking!
Arun
- [bug#72398] [PATCH] services: Add readymedia-service-type., Arun Isaac, 2024/08/12
- [bug#72398] [PATCH] services: Add readymedia-service-type., Fabio Natali, 2024/08/18
- [bug#72398] [PATCH v2] services: Add readymedia-service-type., Bruno Victal, 2024/08/19
- [bug#72398] [PATCH v2] services: Add readymedia-service-type., Fabio Natali, 2024/08/22
- [bug#72398] [PATCH v2] services: Add readymedia-service-type., Arun Isaac, 2024/08/22
- [bug#72398] [PATCH v4] services: Add readymedia-service-type., Fabio Natali, 2024/08/23
- [bug#72398] [PATCH v4] services: Add readymedia-service-type., Bruno Victal, 2024/08/23
- [bug#72398] [PATCH v5] services: Add readymedia-service-type., Fabio Natali, 2024/08/26
- [bug#72398] [PATCH v2] services: Add readymedia-service-type., Bruno Victal, 2024/08/23
- [bug#72398] [PATCH v2] services: Add readymedia-service-type.,
Arun Isaac <=
- [bug#72398] [PATCH v2] services: Add readymedia-service-type., Fabio Natali, 2024/08/29
- [bug#72398] [PATCH v2] services: Add readymedia-service-type., Arun Isaac, 2024/08/22