Explanation for newbies: setuid is a special permission bit that makes an executable run with the permissions of its owner rather than the user executing it. This is often used to let a user run a specific program as root without having sudo
access.
If this sounds like a security nightmare, that’s because it is.
In linux, setuid is slowly being phased out by Capabilities. An example of this is the ping
command which used to need setuid in order to create raw sockets, but now just needs the cap_net_raw
capability. More info: https://unix.stackexchange.com/questions/382771/why-does-ping-need-setuid-permission. Nevertheless, many linux distros still ship with setuid executables, for example passwd
from the shadow-utils
package.
Your needs must be different than mine.
I press one button combination and have root without ever entering a password. I press a similar combination and go back. Not sure how this is a pain in the ass.
Yea, it sounds pretty nice actually. I’m considering doing that as well. Makes it obvious when you’re running in a root shell too which is nice. I’d probably still keep sudo around though.
With a programmable keyboard it can just be one button too!
You can modify the keybinds in software too. You would need to change your console keymap (TTY) and your desktop environment keybindings. Programmable keyboard is most likely easier though.
I played around with it and changed both to just use F1 = tty1 and so on, without requiring CTRL+ALT.