Focus on Software
Mailing lists are something that strike fear into the hearts of mail administrators everywhere. But mailing lists are essential. They are also fun, funny, frustrating, time-consuming and a whole list of other adjectives (particularly when no one on the mailing list can help you with your particular question). But the best thing that I found from some of the lists that I have subscribed to is that they are educational. I don't have much time for lists, and I lament sometimes when I have to /dev/null several days, worth of mail without so much as reading the titles (thank goodness for filters, hate to miss mail from my readers). As long as the list you are on isn't drowning in trolls or hate mongers (or those who flame newbies mercilessly) you are probably picking up tips all the time. Myself, I'm often reminded just how confusing this stuff called Linux is to novice administrators. So don't sell mailing lists short. Several years ago, my participation on a mailing list landed me an offer to write a book. They have also landed me several contracts. So pick your mailing list carefully, write well and have fun. Just remember that the other members of the list only know you by your posts.
I wonder how many people have ever used the UNIX mail command. Personally, I love the command. But it has some drawbacks, not the least of which is that it only looks at the mailbox on the local host. That is okay if you use NFS to mount your mail server, but if you POP your incoming mail off a server on the Internet, the UNIX mail command is not so hot. Perl Mail (pemail) will read your mail off a remote server. Perl Mail also shows how many messages you have, and a list returns the message number and the size of the message (which is nice if you don't want to download a monster message). The list does not return a line. Once the developer adds pemail, a subject line and maybe even sender line, this will be a killer app (at least for command-line mavens). Requires: Perl and the Perl modules Mail::POP3Client, MIME::Lite, Term::ReadKey.
Want to keep an eye on the weather? phpweather reads the METAR data from NOAA and displays it in your browser. You can choose from a short display (the raw METAR itself) or a generated human-readable page (rather than meteorological gobbledygook). The only problem this suffers is with non-standard METARs. If you access US or most European station data, this should not pose a problem, but some countries do not return properly formatted data. I guess the National Oceanographic and Atmospheric Administration (NOAA) figures badly configured data is better than no data, but it sure makes parsing the stuff painful. Requires: Web browser with PHP and MySQL support.
I am a firm believer in encryption. I encrypt most Internet-bound traffic and I even encrypt stuff on my system. (Whoever said, “Running Linux means never having to delete your love letters” knew what they were talking about). Anyway, I find it easy for little things (like the large number of servers I maintain) to get their respective OpenSSH versions out of sync. Now with scanSSH I can run a scan and find out quickly if my servers are up-to-date or I've missed something on one of them. ScanSSH helps me with all the services I run, not just SSH. Requires: glibc.
If you have experience, administering .htpasswd files is no big deal. Just use htpasswd. And if you can't remember where you put the file, the locate command will find it. If anyone other than you needs to administer a large list, it might not be so easy for them. Do you get tired of going over with people (for the hundred and twenty-first time) the incantation for htpasswd? Then stick this little utility on your web server, give them access (perhaps via a different .htpasswd file) and let them handle it. Provide a link on their desktop and (just perhaps) you won't hear from them every five minutes—at least not about the .htpasswd file. Requires: Web server w/PHP.
If you have a bunch of photos (jpeg, gif, png, psp and other formats) and you want to publish them on the Web, phpPhotoAlbum will help you. The only thing lacking is a way to see a thumbnail of a picture before you look at the whole enchilada. Probably not a big deal on those less than 100K pix, but for the really big ones, a thumbnail might work better. If you have ever set up a PHP app before, phpPhotoAlbum is easy to set up. Requires: Web server w/PHP compiled in web browser and pictures.
SING stands for Send ICMP Nasty Garbage. With SING you can do much more than ping. You can ping (send an ICMP echo request) if you want, but you can do a lot more. I started using it to test some netfilter settings, and the accompanying man page is extremely complete and explains SING very well. SING also supports creating big ping packets (note that this is not the recommended way to find your vulnerable systems) as well as performing source routing and source rewriting. In fact, there is not much that you can't rewrite in the ICMP header with this tool. Requires: libnsl, libresolv, glibc and af_packet.
The nettop is one that goes directly in to the must-have category for all network administrators. You can run it on nearly any system, even a RAM or CPU challenged system and get a good idea of network traffic. Columns show percent of packets, total number of packets, percent of throughput, total throughput, avg packet size and packet type. Rows are color-coded by traffic type. For example, purple is ipv4 and arp; green is ipv4 broken down into udp, tcp, and icmp; and blue shows protocols like http, ssh, POP3, etc. At the top of the screen you can see the current system time and date, and how long nettop has been running. In my opinion this program only lacks one thing—a way to dump information to a file at regular intervals. Requires: libslang, libpthread, libdl, libm, glibc.
PHP DB Form Creator: http://sourceforge.net/projects/phpdbform/
This utility looks like a good start on a simple, good-looking forms interface to a MySQL database. The basic concept appears sound and setting up and creating forms is fairly simple. While it is not intuitively obvious (or even explained), it is possible to link tables. However, it does not yet appear possible to handle one too many situations, and reports are still listed as a TODO item. This utility is still very Alpha, so these more advanced features may come with development. Requires: Web server w/ PHP and MySQL support, MySQL, and a web browser.
Until next month.