Live data from Hacker News

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

ftp.gnu.org

81–90 of 150 posts

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

#81

Earlier quoted context omitted.

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

Qubes is one of those things that, I think, everyone knows is better but it seems just far enough away to not want to change. How big of a change is it? If you are, say, a Linux terminal native can you just pick up and run?

Mostly yes. Your applications run in a standard Linux environment and if you pop up a terminal, hey, it's your favorite distro and it works.

There's some learning curve for features which exist for valid reasons, especially around communicating between domains. For instance, copy-and-paste between qubes requires extra steps. Plugging in a USB keyboard or mouse doesn't just work - you have to authorize it first (just click the OK button using a PS/2 mouse, or laptop's touchpad). You have to learn how to move files between qubes. USB drives, cameras, and microphones aren't globally available to all applications - you have to attach them to a qube first. You can install software using apt-get inside a qube, but it won't persist across reboots - you have to update the OS template.

I want those extra steps and complications - they are features, not a bugs! The first few days you'll be looking things up in the FAQ. After that it's pretty easy.

There are a few sore points that don't go away. You don't get GPU acceleration in your web browser, so rendering is slower. Gaming is not an option. Your application qubes live behind a firewall qube, so things that require network broadcast like Chromecast won't work. Those are fine for me but not for everyone.

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

#82
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.

Maybe on the server/desktop side of things. In embedded Linux the "user per app" scheme is very useful and is embraced.

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

#83

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…

You’re talking about tools and systems that just did not exist when the idea to have su check wheel membership came about.

It was a different world, and having some basic speed bumps like not allowing random user accounts to su to root was useful at the time.

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

#85
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, the term was imported into Unix culture due to the migration of operating system developers and users from TENEX/TOPS-20 to Unix.

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

#87
post #79

Earlier quoted context omitted.

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.

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 only open files that the user selected in the system file open dialog. That runs in a separate process and opens up an app’s sandbox to allow access to the file the user selected.

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

#88
post #51
post #9

There are little (to no?) situations where su has a good reason to check wheel. You either have the password, or you don't have it. But not something in-between. Outside of any ideology, in a scenario where you use su to become root, it's a very odd choice to link the wheel group to su; because if you know the password to the "root" user, and you have physical or remote access to the computer, you can likely just log…

sudo does completely obselete su, yes. (sudo su is redundant, you can just sudo -su)

incorrect, they serve different purposes. If sudo isn't installed then you don't require security updates for sudo...

If you do have sudo you can be very restrictive on who can run what.

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

#90
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.)

corp users still share some machines.

actually if you think about it, lots of machines you OWN nowadays don't give you root access.

For example you can't get access at the actual filesystem on your iphone without a jailbreak.

Post reply on HN