Chmod Files and Folders Differentially

I am sure you have had situations where all the files and folders in a subdirectory are accidentally changed to the wrong permissions.

Basic permissions of the files on a website, so visitors can interact: 644

== Files can be read but nobody is allowed to write (edit) the files but the owner.

Owner | Group | Others
R W -  | R – -   | R  -  – ====

R=Read, W=Write, X=eXecute

To get the octal permission number (i.e.644) which is additive

R=4, W=2, X=1 (“-” also means zero)

Read more

NMap Noisy Example Output

This post is a complement to an article I wrote for eForensics Magazine, which is coming out in 2014.

NMap Noisy Example Output

# Nmap 6.40 scan initiated Tue Dec 3 22:55:48 2013 as: nmap -T5 -v -A -oN Kali-method-2.txt

Nmap scan report for \24

Nmap scan report for unknownBCC8108BEB97 (

  Read more

EtherApe Example Output

This EtherApe output complements my article in eForensics Magazine which is coming out in 2014

<?xml version=”1.0″?>

<!– traffic data in bytes. last_heard in seconds from dump time –>




<timestamp>2013-12-03 20:44:47 -0500</timestamp>



Read more

Trying Sikuli Test Automation

I tried out a “new to me” test automation framework recently.  I liked it and can see a great value for test automation.  I got to play with it when reviewing Ben Lau’s new book “Instant Sikuli Test Automation”

Instant Sikuli Test Automation

Instant Sikuli Test Automation Book Cover



Virtual Web Servers: Apache2 on Debian

This is a short How-To about setting up multiple domain names, or sub-domains on Debian Squeeze using Apache 2.2
The following is the actual configurations of a working server with 2 subdomains on it.
It throws an error that does not stop it from working.

#=======snippet from apache2.conf

# Include generic snippets of statements
Include conf.d/

#=======Contents of conf.d directory=======================
wolf@SERVER-01:/etc/apache2/conf.d$ ls
charset localized-error-pages other-vhosts-access-log security virtual.conf

#=======Configuration of virtual.conf=======================

wolf@SERVER-01:/etc/apache2/conf.d$ cat virtual.conf
# running virtual hosts
NameVirtualHost *

#======Contents of the sites-available directory============

wolf@SERVER-01:/etc/apache2/sites-available$ ls
default default-ssl legacy

#======Configuration for

wolf@SERVER-01:/etc/apache2/sites-available$ cat default

ServerAdmin wolf.halton@

DocumentRoot /var/www/http/

Options FollowSymLinks
AllowOverride All

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from ::1/128

#========Configuration for
wolf@SERVER-01:/etc/apache2/sites-available$ cat legacy
# This is the settings file for the site

ServerAdmin wolf.halton@

# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /var/www/legacy/htdocs/

# CGI Directory
ScriptAlias /cgi-bin/ /var/www/legacy/cgi-bin/

Options +ExecCGI

# Logfiles
ErrorLog /var/www/legacy/logs/error.log
CustomLog /var/www/legacy/logs/access.log combined

Nagios Plugins 1.4.16 Installation Notes

Even simple things are hard when you have never done them.
There is a pretty good How-to at for installing Nagios, and plugins, generally. I use Debian, so there may be a few minor differences between an Ubuntu install and my installation on Debian. Mostly I wanted to add a few notes about issues I run into when adding a remote server to the nagios family. You have to do a few things that are not in the instructions.
Before you begin, make sure you have a C-language compiler installed as well as ‘make.’
# aptitude install gcc make
also, your ssl_version in Nagios-Plugins will fail if you do not have libssl-dev installed.
# aptitude install libssl-dev
Your make will continue to fail in an unhelpful manner if you do not now re-run your configure command.
[nagios-plugins-src-dir]$ ./configure --with-nagios-user=nagios --with-nagios-group=nagios
Then run make and it will run properly.
[nagios-plugins-src-dir]$ make
Run make install as root.
[nagios-plugins-src-dir]# make install
Change ownership of the nagios-installation directory to nagios.
# chown -R nagios:nagios /usr/local/nagios
The plugins live in the /usr/local/nagios/libexec folder.

Make sure your nagios@nagiosserver can shell into the nagios@remote-server without a pass-phrase or it will not be able to run "command_over_ssl." I am not yet running the NRE as I understand ssl well enough to use it.

Thanks to Dave Bonnell for the libssl-dev suggestion

Make sure you ssh into each remote server as nagios@nagiosserver to get past the "Add this server to known hosts" dialog, otherwise nagios will not be able to send test requests automatically.

Nagios: Monitor Remote Disk Free Space

I was working with Nagios-3.3.1, which I love because it shows me everything I want to know and is easier than Zabbix to set up.

Yes, I had to write a shell script to make the config file-generation faster and less troublesome, but after I got that part done, I really started to see a great system.  Nagios sends emails to me when it has an issue, like being unable to access a given server for a test or if the web server is down.  All of this went up in a relatively simple way.  Not as easy as Pandora FMS but still pretty simple, if you consider command-line configuration files simple to edit. Read more


[This was originally published by Mike Brooks as a wiki entry and I have moved it here - Wolf]

Since the acquisition of certain data is many times critical, the grep utility is a valuable tool for the Linux user. It allows you to search through one or more files to see whether any contain a specified string of characters. This utility does not change the file it searches but simply displays each line that contains the string.

Originally, the name grep was a play on an ed— an original UNIX editor, available on Fedora/RHEL— command: g/re/p. In this command g stands for global, re is a regular expression delimited by slashes, and p means print. Read more

« Older Entries