Thursday, December 2, 2010

Output your microphone to a remote computer’s speaker

dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp

This will output the sound from your microphone port to the ssh target computer’s speaker port. The sound quality is bad, so you will hear a lot of hissing,
but it works.

Email alert on Root Login

This will allow you to be notified instantly via email whenever someone logs into your server as root.

ssh into your server

su to root

sudo -i

or su -

cd to /root

cd /root

edit your .bashrc file

vim .bashrc

add the following to the end of the file

echo 'ALERT - Root Shell Access (YourserverName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d"(" -f2 | cut -d")" -f1`"

Replace YourServerName with the name of your server.

Replace with the email address you want the alerts sent to.

:x to save and exit

logout from your server, close the connection and log back in.

You will receive an email alert of the root login after a few minutes.

Saturday, November 27, 2010

Mutt Tips

searching in mutt

* ~f brucewayne :From: matches "brucewayne"
* ~s party : messages with subject containing "party"
* ~d <2w : messages less than two weeks old. Also: year, month, week, day.
* ~t clarkk : To: matches clarkk (useful for sent-mail folders)
* ~O : old (i.e. unread but not new) messages.
~N is new unread.
~U is unread, i.e. both together.
* ~p : messages addressed to you (useful if your inbox is bombarded with mailing list or system report activity).
* ~p ~U : for messages to you you haven't read yet.
* . : matches everything. In effect, remove the limit.

l limit messages matching
l all show all messages
:set sort=from sort messages by "From"
:set sort=threads sort messages by "Thread"
:set sort=date sort messages by "Date"

mailbox "=cgerada" will show alerts in cgerada mailbox

Friday, November 26, 2010

Bash Cheat Sheet

 !! - Last command (usefull if you forget to run a command as sudo)
 sudo !!  (runs last command as sudo)
 !foo - Run most recent command starting with 'foo...' (ex. !ps, !mysqladmin)
 !foo:p - Print command that !foo would run, and add it as the latest to
 command history
 !$ - Last 'word' of last command ('/path/to/file' in the command 'ls -lAFh
 /path/to/file', '-uroot' in 'mysql -uroot')
 !$:p - Print word that !$ would substitute
 !* - All but first word of last command ('-lAFh /path/to/file' in the command
 'ls -lAFh /path/to/file', '-uroot' in 'mysql -uroot')
 !*:p - Print words that !* would substitute

 ^foo^bar - Replace 'foo' in last command with 'bar', print the result, then
 run. ('mysqladmni -uroot', run '^ni^in', results in 'mysqladmin -uroot')

 {a,b,c} passes words to the command, substituting a, b, and c sequentially
 (`cp file{,.bk}` runs `cp file file.bk`)

 Ctrl + a - Jump to the start of the line
 Ctrl + b - Move back a char
 Ctrl + c - Terminate the command
 Ctrl + d - Delete from under the cursor
 Ctrl + e - Jump to the end of the line
 Ctrl + f - Move forward a char
 Ctrl + k - Delete to EOL
 Ctrl + l - Clear the screen
 Ctrl + r - Search the history backwards
 Ctrl + R - Search the history backwards with multi occurrence
 Ctrl + t - Transpose the current char with the previous
 Ctrl + u - Delete backward from cursor
 Ctrl + w - Delete backward a word
 Ctrl + xx - Move between EOL and current cursor position
 Ctrl + x @ - Show possible hostname completions
 Ctrl + z - Suspend/ Stop the command
 Ctrl + x; Ctrl + e - Edit line into your favorite editor

 Alt + < - Move to the first line in the history  Alt + > - Move to the last line in the history
 Alt + ? - Show current completion list
 Alt + * - Insert all possible completions
 Alt + / - Attempt to complete filename
 Alt + . - Yank last argument to previous command
 Alt + b - Move backward
 Alt + c - Capitalize the word
 Alt + d - Delete word
 Alt + f - Move forward
 Alt + l - Make word lowercase
 Alt + n - Search the history forwards non-incremental
 Alt + p - Search the history backwards non-incremental
 Alt + r - Recall command
 Alt + t - Transpose the current word with the previous
 Alt + u - Make word uppercase
 Alt + back-space - Delete backward from cursor

 (Here "2T" means Press TAB twice)
 $ 2T - All available commands(common)
 $ (string)2T - All available commands starting with (string)
 $ /2T - Entire directory structure including Hidden one
 $ (dir)2T - Only Sub Dirs inside (dir) including Hidden one
 $ *2T - Only Sub Dirs inside without Hidden one
 $ ~2T - All Present Users on system from "/etc/passwd"
 $ $2T - All Sys variables
 $ @2T - Entries from "/etc/hosts"
 $ =2T - Output like ls or dir
 .bash_profile = sourced by login shell,
 .bashrc = sourced by all shells,
 .bash_aliases = should be sourced by .bashrc

Run something:
 for i in a b c; do $i 'hello'; done

Do something on a bunch of files:
 for i in *.rb; do echo $i; done

If syntax:
 if [ -e .ssh ]; then echo "hi"; fi

file check flags:
 -e:  file exists
 -f:  regular file (non directory)
 -d:  directory
 -s:  non-zero file
 -x:  execute permission

Avoid duplicates in your history:
 export HISTIGNORE="&:ls:ls *:[bf]g:exit"

Wednesday, November 10, 2010


smbclient -L servername
will show you all available samba / windows shares

To connect to a windows or samba share type

smbclient \\\\servername\\share -U username

you will be asked for your windows password for the username specified

once connected smbclient works like an FTP client

type help for a list of commands.

Keep in mind, you'll need a leading "\" before spaces (ex: My\ Filename.txt).

or alternatively put your filenames in quotes eg "My Filename.txt"

once connected
to copy directories and subdirectories type

to not be asked (prompted)if you want to replace files. type

smbclient '\\server\share'
    mask ""
    recurse ON
    prompt OFF
    cd 'path\to\remote\dir'
    lcd '~/path/to/download/to/'

    mget *

or, all on one line,

smbclient '\\server\share' -N -c 'prompt OFF;recurse ON;cd 'path\to\directory\';lcd '~/path/to/download/to/';mget *'

Wednesday, November 3, 2010

Setting UP VNC server on a CentOs or Redhat server

To set up VNC properly, so that you have access to the local
default X console of your server as if you are sitting in front
of the physical server.
follow these steps.

On the server, type vncpasswd as root to set a VNC password.
You will use this password when connecting with vncviewer

Edit the file /etc/X11/xorg.conf

In the stanza called Screen, add this line:
Option "passwordFile" "/root/.vnc/passwd"

add in the following lines at the end of the file:

Section "Module"
Load "glx"
Load "dbe"

Load "extmod"

Load "freetype"

Load "type1"

Load "dri"
Load "vnc"

save the file

Allow the ports in the iptables Firewall
by typing the following:


In the "Other ports", add the following range.


Save and close the tool then restart the firewall by typing the following:
service iptables restart or /etc/init.d/iptables restart


chkconfig vncserver on

to have vncserver automatically start when the server next boots up.

Then finally RESTART the server.

Friday, October 29, 2010

recovering from a read only / mount

When the boot process aborts upon failing to find a removed or failed hard disk due to the system not finding the device that your /etc/fstab file references , it asks for a password and gives you the option to drop into maintenance mode , however when in maintenance mode you are unable to edit your /etc/fstab file to fix the problem since your / partition is mounted Read only!

to fix the situation simply type

mount -n -o remount /
will remount the / partition in rw mode and you can now edit /etc/fstab and remove the
line with the faulty disk or wrong entry, and then reboot as normal.

Sunday, August 22, 2010

Encrypt a file whilst in Vim

Encrypt File in Vim
Save and encrypt the current file:
Enter encryption key: ********
Enter same key again: ********
Once you’ve encrypted a file using :X, the next time you open that file, Vim
will prompt for the encryption key.

Tuesday, May 25, 2010

How to Upgrade from Fedora 12 to Fedora 13 (32 bit and 64 bit versions)

Do the following as root.

download latest fedora repos

For 32 bit version type:


or for 64 bit version type:


import gpg-key

rpm --import

or for 64 bit version type:

rpm --import

install rpmlibs dependency. Required to install fedora-release-13

yum install rpm-libs -y

upgrade fedora release

rpm -Uvh fedora-release-13-1.noarch.rpm

upgrade fedora distro

yum upgrade -y

Reboot and Enjoy

Tuesday, January 12, 2010

Compose Key

I often need to type characters that aren’t on the keyboard, like € ½ ÷ © ¥ or ¢.

compose key to the rescue.

pick a key on your keyboard you don’t use much, like [Insert], [CapsLock], or [menu], and make it the “compose key”.

Then to make any character, you just hit the compose key, then type the two obvious keys that, when combined, make up the character.

For example:

* To get €, just type e then =

* To get ©, just type o then c

* To get ® just type o then r

* To get £, just type L then -

* To get ¥, just type Y then =

* ¢ is c then |

* ÷ is - then :

* ½ is 1 then 2

* ¼ is 1 then 4

* ñ is n then ~

By default this function is not assigned to any key. You can tell the X server what key to use for this function with the following command
setxkbmap -option compose:keyname

for example

setxkbmap -option compose:caps

to assign it to the caps-lock key.

or setxkbmap -option compose:rwin

to assign your right "Windows" key
to make it persisistent after a reboot simply insert the command in your
/etc/rc.local file