this post was submitted on 10 Jul 2023
32 points (97.1% liked)

Selfhosted

39435 readers
5 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I want to allow certain trusted users the ability to take down my lemmy instance or reboot it or x, y, z actions in case things go wrong or there is a security incident.

Ideally I would want to have some sort of admin interface that's secure and tested and allow these users to have some sort of login and from there have the ability to execute certain actions that could correspond to a "break glass in case of emergency" scenario.

I've been pointed at https://www.portainer.io/ but they seem to have a steep price for the limited use-case that I would be giving it.

I know about some admin interfaces like webmin, but I don't know which one allow you to create very restricted users or just give users the ability to execute some limited pre-defined commands.

Thank you <3

top 17 comments
sorted by: hot top controversial new old
[–] [email protected] 13 points 1 year ago (1 children)

If what you need to accomplish can be achieved via shell commands, it would be hard to beat OliveTin for this use case.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago)

Thank you! I'll look into it!

Edit: actually that sound exactly like what I had in mind!!

[–] [email protected] 6 points 1 year ago (2 children)

I'd go the SSH + sudo way.

Sudo can be quite finely tuned to only allow specific commands. If you want to lock the SSH session further, look into rbash.

[–] [email protected] 2 points 1 year ago

Thank you! I'll have a look!

[–] bignavy 2 points 1 year ago

This was my first thought.

I do this for a living and it’s literally built into Linux.

Set their permissions carefully, ensure that the permission set does what you want (and not a bunch of stuff you don’t want), and keep on keeping on.

[–] [email protected] 5 points 1 year ago

I was like, “Portainer costs money? When did that happen. I thought it was open source.” Granted it has been awhile since I used it.

You want to check out the Community Edition. Here’s their Github.

[–] [email protected] 4 points 1 year ago (1 children)

Cockpit is quite mature and sponsored by Red Hat. Your users can log in with their normal account on the system which you can lockdown however you want.

[–] [email protected] 2 points 1 year ago

Thank you! I'll look into it!

[–] [email protected] 3 points 1 year ago

I’ve been pointed at https://www.portainer.io/ but they seem to have a steep price for the limited use-case that I would be giving it.

Portainer is totally Free, also, you can get a free Business Edition licence for 3 nodes https://www.portainer.io/take-3

[–] [email protected] 1 points 1 year ago (2 children)

Slightly off topic, but are there not security concerns about opening up a portainer instance to the internet? I run portainer for all of my intranet hosted containers but I have reservations about running either the agent or portainer itself on something external to my lan. It seems like an easy attack vector but maybe I'm just overly worried?

[–] [email protected] 2 points 1 year ago (1 children)

Probably better to provide access to Portainer via a VPN if that's the route they want to go (Tailscale would be perfect for this scenario).

[–] [email protected] 1 points 1 year ago

Ya, I've got a few public services out there and I would love for a better way to manage them. But the fewer ports I open the better. I think there's also portainer edge agent that's more secure for prod environments, but I've yet to look into it much.

[–] [email protected] 1 points 1 year ago

I have reservations about running either the agent or portainer itself on something external to my lan.

I don't feel like it's safe enough personally either, so I just have portainer edge-agent nodes connected to the primary on my intranet through through vpn tunnels. I really, really would prefer not to ever open ports on my local firewall, but being able to monitor and control remote docker hosts is also pretty convenient, so my solution has been decent for me.

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago (2 children)

Possibly, but it would have to be so severely locked down that it makes more sense to have a web interface with a few buttons that do some very basic actions, including making my phone ring or stuff like that.

[–] [email protected] 3 points 1 year ago

That seems almost exactly what the sudoers file is meant for.

If several actions have to happen at once (call the phone first), or need parameters, or need a kill switch, that is what a script with the SETUID bit does.

[–] [email protected] 2 points 1 year ago

I mean.. don't you just make them a user and just give them 777 permissions to the directories you'd allow?

load more comments
view more: next ›