Live data from Hacker News

Why GNU su does not support the `wheel' group (2002)

ftp.gnu.org

91–100 of 150 posts

Re: Why GNU su does not support the `wheel' group (2002)

#91

The etymological history of the group name is interesting: https://en.wikipedia.org/wiki/Wheel_(computing) The term wheel was first applied to computer user privilege levels after the introduction of the TENEX operating system, later distributed under the name TOPS-20 in the 1960s and early 1970s. The term was derived from the slang phrase big wheel, referring to a person with great power or influence. In the 1980s,…

I always understood it as the thing you use to drive the ship.

Re: Why GNU su does not support the `wheel' group (2002)

#92
post #87
post #79

Earlier quoted context omitted.

Only sounds like "irony" if you don't understand problem. The problem is not isolation or lack of it. The problem is that app require complex set of permissions for both users files and other apps. App might want to send notification to notification daemon. But app should not be able to pretend to be another app, whether by name or icon. And good luck trying to stop malicious app from just making same/similar enough…

> You might want to allow graphical editor to open any graphical file, regardless of location. More likely, you want to temporarily give them permission to specific files you indicate. A graphical editor doesn’t have reason to read any file that the user didn’t explicitly picked for editing/viewing. That’s how Mac OS works nowadays (possibly except for the ‘temporarily’; I don’t know the details): applications can on…

You can do this on basically any modern unix by passing file descriptors over a unix socket: the “graphical editor” server would launch as a user that can’t access anything except a socket and then users would open files by pushing an open fd to the editor over its socket.

Re: Why GNU su does not support the `wheel' group (2002)

#93
post #16

Earlier quoted context omitted.

Yes, Unix was designed to protect users from each other but the modern need is to protect applications/invocations from each other. It is unfortunate that Unix wasn't really designed for the modern use case. Basically https://xkcd.com/1200/

The irony behind it is that one could argue that we are using UNIX wrong, because technically each program should run as its own user with its own groups. Which is what apparmor and firejail/sandboxes kind of want to embrace but in practice people just care too less.

I ran a SaaS for a long time before containerisation, and we would create a new Unix uid for each customer, and run the application instance exclusively under that uid. Coupled with a postgres database instance and properly isolated postgres roles, it felt like a reasonable way to isolate customers from each other.

The problem with this approach is that, of course, it really doesn’t scale easily. Eventually you need multi tenant, and eventually we ended just pushing everything into the database, using row level security and tenant IDs. It worked great but felt more fragile (eg, you can disable RLS)

I’m not an OS expert by any means, but I think ultimately the problem is that we’re using one operating system model for two orthogonal use cases.

I feel like need a well-defined client model - “one user with multiple apps” and a well-defined server model - “one app with multiple users”. But it’s not clear to me how the OS can help with the latter, since it’s going to be domain specific. Maybe Postgres’ model is the right answer after all.

Re: Why GNU su does not support the `wheel' group (2002)

#94
post #3

It shows how old is that, and how things changed. Back in the day, it was about multiple OS users on one big machine, maintained by a university or a corporation. Now I'm the only human user of my several machines. I have more than one interactive user account on some of them. I put these accounts to the wheel group, to avoid ever using a root password. (Void Linux has it pre-configured in /etc/sudoers.)

> I have more than one interactive user account on some of them. I put these accounts to the wheel group, to avoid ever using a root password.

Why have multiple different unix users if all have the same power of the root user? They aren't isolated from each other, they aren't less powerful than root. So why not just use the already existing single root account?

Re: Why GNU su does not support the `wheel' group (2002)

#95

A different reason why it's good that it doesn't support wheel: - it makes it smaller, less code which can go wrong - su isn't limited to "set user root" but wheel tends to be - it avoids having to handle many kind of subtle problems with group based permission handling in linux It's just not a bad idea to have a very minimalist program like su and then delegate all more complicated "acting as user" permission handli…

I don't think GNU has ever committed to any kind of minimalist philosophy. Have you seen the number of flags every command has? ls has almost the entire alphabet taken.

From the GNU Fortran manual:

9.5 Case Sensitivity There are 66 useful settings that affect case sensitivity, plus 10 settings that are nearly useless, with the remaining 116 settings being either redundant or useless.”

https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/Case-Sensitivit...

Re: Why GNU su does not support the `wheel' group (2002)

#96
post #26

Earlier quoted context omitted.

The solution is to use https://qubes-os.org . My daily driver, can't recommend it enough.

I tried it for a week. Feels like overkill so I instead went for Fedora Silverblue & have everything in isolated podman containers. Of course, I’m not being targeted by the state so my threat model is much lower.

If you're targeted by state, Qubes on a PC isn't secure enough. It sits at a weird place, where it is stronger than your regular Linux, and showcases interesting ideas, but is quite restrictive in what you can do and doesn't provide any real security guarrantees. It's an open-source small shop project. Xen bugs and kernel bugs are too frequent, big boys know them/buy them/make them/exploit them, surely silently for years.

The idea your data on a PC connected to Internet can be really secured from the most powerful actors is very naive.

Re: Why GNU su does not support the `wheel' group (2002)

#97
post #94
post #3

It shows how old is that, and how things changed. Back in the day, it was about multiple OS users on one big machine, maintained by a university or a corporation. Now I'm the only human user of my several machines. I have more than one interactive user account on some of them. I put these accounts to the wheel group, to avoid ever using a root password. (Void Linux has it pre-configured in /etc/sudoers.)

> I have more than one interactive user account on some of them. I put these accounts to the wheel group, to avoid ever using a root password. Why have multiple different unix users if all have the same power of the root user? They aren't isolated from each other, they aren't less powerful than root. So why not just use the already existing single root account?

[deleted]

Re: Why GNU su does not support the `wheel' group (2002)

#98
post #94
post #3

It shows how old is that, and how things changed. Back in the day, it was about multiple OS users on one big machine, maintained by a university or a corporation. Now I'm the only human user of my several machines. I have more than one interactive user account on some of them. I put these accounts to the wheel group, to avoid ever using a root password. (Void Linux has it pre-configured in /etc/sudoers.)

> I have more than one interactive user account on some of them. I put these accounts to the wheel group, to avoid ever using a root password. Why have multiple different unix users if all have the same power of the root user? They aren't isolated from each other, they aren't less powerful than root. So why not just use the already existing single root account?

Seems like it’d actually decrease security as now there are several different “root” logins that could be compromised.

Though I suppose, with further thought, it’s not significantly worse than having them in sudoers, in that particular respect.

Re: Why GNU su does not support the `wheel' group (2002)

#99
post #94
post #3

It shows how old is that, and how things changed. Back in the day, it was about multiple OS users on one big machine, maintained by a university or a corporation. Now I'm the only human user of my several machines. I have more than one interactive user account on some of them. I put these accounts to the wheel group, to avoid ever using a root password. (Void Linux has it pre-configured in /etc/sudoers.)

> I have more than one interactive user account on some of them. I put these accounts to the wheel group, to avoid ever using a root password. Why have multiple different unix users if all have the same power of the root user? They aren't isolated from each other, they aren't less powerful than root. So why not just use the already existing single root account?

First, some software literally refuses to run as uid 0.

Second, it can still be useful for bookkeeping.

Re: Why GNU su does not support the `wheel' group (2002)

#100
post #73

Does this mean that RMS is ideologically opposed to sudo?

Maybe. You still only have to learn one password under each system. If someone named foobar sympathizes with you and leaks their password, then you login in as foobar and "sudo bash" or whatever. The way RMS envisions is that the root password is shared among many people and one of them shares it with you (there is no way to know who), and then you use your own account to "su" and use the root password.

It's easy to get someone in trouble in either case. If the user foobar starts doing crazy stuff as root, then foobar is in trouble. If you get the root password and start doing crazy stuff, then your username is associated with the troublemaking. (Assume that the logs go to some machine where you don't have access to remove them.) RMS's mechanism shifts the responsibility for your actions onto you, so that someone who knows the root password is more likely to leak it to you.

The best of both worlds is to get the root password, then find a hapless coworker who left their screen unlocked while out to lunch. su with the root password there, cause your chaos, everyone blames lunch guy. (Do look for outside systems; people and cameras can see you using someone's computer. Was always funny to me how many people have tried something like this, only to be nailed by the security cameras.)

Post reply on HN