this post was submitted on 21 Nov 2023
689 points (97.6% liked)
Linux
48008 readers
843 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Yup, this will pretty much destroy your system.
Actually curious how though - I mean won't it just let all programs/users access everything? Or do some system stuff rely on permissions for certain behavior?
SSH will definitely break, I've had this issue before. If your private key in the .ssh dir is too open, ssh won't let you use it.
Theoretically yes, but yes, in that order.
I've worked with Linux for decades at this point and I'm still not 100% sure exactly what breaks; it's a mistake you make once, if at all, and you'll only get a little way into even trying to figure out how to fix things before you throw your hands up in disgust and reinstall / restore the OS (or whatever subdir was affected).
If I was to hazard a guess, it's the kernel itself that balks, but there are other, almost as fundamental things (lib*.so files and the like) that may also be deliberately fussy.
I think it's systemd not the kernel. If only Linux had "repair permissions" like vintage MacOS.
You don't typically have permissions "become defective" or need them to be "repaired" in a Linux system. Nearly all system files, with their permissions, are included in packages. Everything else should be considered user data.
If you logged in as root and did something dumb, you could attempt to fix the permissions by reinstating packages.
Recursive
chmod
(orchown
) has been breaking things since before systemd was a thing, so even if systemd is now responsible for stopping things from working, it can't have been that previously, especially at the time I might have done something silly.As for repairing permissions only, I suppose it would be possible, assuming the system still works (or can somehow be encouraged to do so) to copy only the permissions (or at least infer them) from a backup or something rather than the whole files.
Probably init before that then. I don't think the kernel cares unless explicitly told to care, I've seen some embedded Linux with interesting permissions.
I actually don't know how many programs do this, but several check that file permissions are correct or refuse to work. Sudo and ash are 2 of them. I could see /etc/shadow being readable and writable by everyone being a problem too, but I don't know.