Ethan McCallum Archive

Programming Linux 2.6
Kernel 2.6 is finally here, and it touts several enhancements over the 2.4 series. The press has highlighted changes relevant to systems architects and managers, but there's plenty in 2.6 for application developers, too.
Changing a Program’s Identity
If you've worked with Linux for some time, you've probably used a set-user ID (or setuid) program to temporarily gain permissions different from your normal access rights. Unlike typical programs that run with your permissions, a setuid program runs with the permissions of that program's owner. For example, if you launch a program that's setuid and owned by root, that program runs as though root had executed it, temporarily granting you the same (full) access privileges as the superuser.
Writing a Trace System
Unix is traditionally very text-oriented: configuration files are plain ASCII, commands are issued via the shell, tools provide feedback via stdout, and daemons and other system services record status in logs.
Software Packaging with RPM
If you're running RedHat or a Linux distribution based on RedHat, chances are you've had occassion to use RPMs. RPMs and Red Hat's accompanying package management system (and other systems like it) greatly simplify the task of maintaining the software on a system. With RPMs, installs, upgrades, and even downgrades are quick and easy.