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?
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.
Recursive chmod (or chown) 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.
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.
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.
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.
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.
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.
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.
Some things refuse to run with too broad permissions