For years I had been using an ultra simple program to allow root access without a password. It was called root(1) and in spite of a couple of bugs which I'd mainly fixed I generally just liked it. So easy to set up - just put the allowed uid's into
/etc/rooters and off you go.
Well blow me down, I lost the sources. Not on my backups. Not in cvs. What the heck had I done with it? No good googling - 'root' is just too general a name.
So I re-wrote it from scratch and (apologies to the original author), its a darn sight better now (it even evaluates its arguments correctly if they contain spaces, which the old 'root' didn't). I also got it to add
/sbin /usr/sbin and
/usr/local/sbin to 'PATH' while I was at it, and allowed root to run it themselves. So now, it's just awesome!
Why not sudo(1)? I hear you say. Well, this is much simpler to administer and generally less picky. Of course, it's most likely less secure, so if you're vulnerable, bone up on sudo(1).
Here it is. To compile just do this as root:
cc -o root root.c chown root root chmod 4755 root cp root /usr/local/bin # or anywhere you like
Then put your allowed uids (use 'id -u') into
/etc/rooters and then do this as root:
chown root /etc/rooters chmod 600 /etc/rooters
Here's the source: root.c. No I won't post binaries, you really shouldn't trust me that much!