Tuesday, January 17, 2012

Configure Kerberos server


Step1
------

vim /etc/krb5.conf

default_relam=STATIONX.EXAMPLE.COM
realm
STATIONX.EXAMPLE.COM
Kdc=192.168.0.5:88
Admin_server=192.168.0.5:749
Appdefault
Validate = true

Step2
-------

vim /var/Kerberos/krb5kdc/kdc.conf

realm
STATIONX.EXAMPLE.COM
Default_principal_flags= +preauth
Uncomment master-key-type

Step3
--------

vim /var/Kerberos/krb5kdc/kadm5.acl

*/admin@STATIONX.EXAMPLE.COM

Step4
----------
kdb5_util create –r STATIONX.EXAMPLE.COM –s

Step5
---------
kadmin.local
addprinc root/admin
addprinc kerby

ktadd –k /var/Kerberos/krb5kdc/kadm5.keytab kadmin/admin
ktadd –k /var/Kerberos/krb5kdc/kadm5.keytab kadmin/changepw



addprinc –randkey host/stationx.example.com
addprinc –randkey host/stationy.example.com

ktadd –k /var/Kerberos/krb5kdc/kadm5.keytab

listprincs

q

Step6
---------

klist –k /var/Kerberos/krb5kdc/kadm5.keytab
klist –k /etc/krb5.keytab

Step7
-------------
restorecon –R –v /etc/krb5*
restorecon –R –v /var/Kerberos/krb5kdc/*


Step8
-----------
/etc/init.d/kadmin restart
/etc/init.d/krb5kdc restart
chkconfig kadmin on
chkconfig krb5kdc on




Kerberos client

Step1
------

authconfig-tui
check nis and spply the creadintials
check Kerberos

Step2
---------
scp stationx:/etc/krb5.conf /etc/krb5.conf

Step3
--------
restorecon –v /etc/krb5.conf

Step4
--------
kadmin –p root/admin
ktadd host/STATIONY.EXAMPLE.COM
listprincs
q

Step5
--------
su – kerby

klist

kinit

klist

ssh stationx

if enter without password then the Kerberos server is configure properly.

Remove Kerberos server

Backup /etc/krb5.conf

Kdb5_util destroy –r STATIONX.EXAMPLE.COM

Find / - name krb5
Find / - name Kerberos

Yum remove krb5-server krb5-server

Log files

/var/log/krb5libs.log
/var/log/krb5kdc.log
/var/log/kadmin.log

Friday, January 13, 2012

Lists of Useful commands in Linux






System information

Command
   

Description

# arch
   

show architecture of machine(1)   [man]

# cal 2007
   

show the timetable of 2007   [man]

# cat /proc/cpuinfo
   

show information CPU info   [man]

# cat /proc/interrupts
   

show interrupts   [man]

# cat /proc/meminfo
   

verify memory use   [man]

# cat /proc/swaps
   

show file(s) swap   [man]

# cat /proc/version
   

show version of the kernel   [man]

# cat /proc/net/dev
   

show network adpters and statistics   [man]

# cat /proc/mounts
   

show mounted file system(s)   [man]

# clock -w
   

save date changes on BIOS   [man]

# date
   

show system date   [man]

# date 041217002007.00
   

set date and time - MonthDayhoursMinutesYear.Seconds   [man]

# dmidecode -q
   

show hardware system components - (SMBIOS / DMI)   [man]

# hdparm -i /dev/hda
   

displays the characteristics of a hard-disk   [man]

# hdparm -tT /dev/sda
   

perform test reading on a hard-disk   [man]

# lspci -tv
   

display PCI devices   [man]

# lsusb -tv
   

show USB devices   [man]

# uname -m
   

show architecture of machine(2)   [man]

# uname -r
   

show used kernel version   [man]

 « TOP «
Shutdown, Restart and Logout of a system

Command
   

Description

# init 0
   

shutdown system(2)   [man]

# logout
   

leaving session   [man]

# reboot
   

reboot(2)   [man]

# shutdown -h now
   

shutdown system(1)   [man]

# shutdown -h 16:30 &
   

planned shutdown of the system   [man]

# shutdown -c
   

cancel a planned shutdown of the system   [man]

# shutdown -r now
   

reboot(1)   [man]

# telinit 0
   

shutdown system(3)   [man]

 « TOP «
Files and Directory

Command
   

Description

# cd /home
   

enter to directory '/ home'   [man]

# cd ..
   

go back one level   [man]

# cd ../..
   

go back two levels   [man]

# cd
   

go to home directory   [man]

# cd ~user1
   

go to home directory   [man]

# cd -
   

go to previous directory   [man]

# cp file1 file2
   

copying a file   [man]

# cp dir/* .
   

copy all files of a directory within the current work directory   [man]

# cp -a /tmp/dir1 .
   

copy a directory within the current work directory   [man]

# cp -a dir1 dir2
   

copy a directory   [man]

# cp file file1
   

outputs the mime type of the file as text   [man]

# iconv -l
   

lists known encodings   [man]

# iconv -f fromEncoding -t toEncoding inputFile > outputFile
   

converting the coding of characters from one format to another   [man]

# find . -maxdepth 1 -name *.jpg -print -exec convert
   

batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)   [man]

# ln -s file1 lnk1
   

create a symbolic link to file or directory   [man]

# ln file1 lnk1
   

create a physical link to file or directory   [man]

# ls
   

view files of directory   [man]

# ls -F
   

view files of directory   [man]

# ls -l
   

show details of files and directory   [man]

# ls -a
   

show hidden files   [man]

# ls *[0-9]*
   

show files and directory containing numbers   [man]

# lstree
   

show files and directories in a tree starting from root(2)   [man]

# mkdir dir1
   

create a directory called 'dir1'   [man]

# mkdir dir1 dir2
   

create two directories simultaneously   [man]

# mkdir -p /tmp/dir1/dir2
   

create a directory tree   [man]

# mv dir1 new_dir
   

rename / move a file or directory   [man]

# pwd
   

show the path of work directory   [man]

# rm -f file1
   

delete file called 'file1'   [man]

# rm -rf dir1
   

remove a directory called 'dir1' and contents recursively   [man]

# rm -rf dir1 dir2
   

remove two directories and their contents recursively   [man]

# rmdir dir1
   

delete directory called 'dir1'   [man]

# touch -t 0712250000 file1
   

modify timestamp of a file or directory - (YYMMDDhhmm)   [man]

# tree
   

show files and directories in a tree starting from root(1)   [man]

 « TOP «
File search

Command
   

Description

# find / -name file1
   

search file and directory into root filesystem from '/'   [man]

# find / -user user1
   

search files and directories belonging to 'user1'   [man]

# find /home/user1 -name \*.bin
   

search files with '. bin' extension within directory '/ home/user1'   [man]

# find /usr/bin -type f -atime +100
   

search binary files are not used in the last 100 days   [man]

# find /usr/bin -type f -mtime -10
   

search files created or changed within 10 days   [man]

# find / -name *.rpm -exec chmod 755 '{}' \;
   

search files with '.rpm' extension and modify permits   [man]

# find / -xdev -name \*.rpm
   

search files with '.rpm' extension ignoring removable partitions as cdrom, pen-drive, etc.…   [man]

# locate \*.ps
   

find files with the '.ps' extension - first run 'updatedb' command   [man]

# whereis halt
   

show location of a binary file, source or man   [man]

# which halt
   

show full path to a binary / executable   [man]

 « TOP «
Mounting a Filesystem

Command
   

Description

# fuser -km /mnt/hda2
   

force umount when the device is busy   [man]

# mount /dev/hda2 /mnt/hda2
   

mount disk called hda2 - verify existence of the directory '/ mnt/hda2'   [man]

# mount /dev/fd0 /mnt/floppy
   

mount a floppy disk   [man]

# mount /dev/cdrom /mnt/cdrom
   

mount a cdrom / dvdrom   [man]

# mount /dev/hdc /mnt/cdrecorder
   

mount a cdrw / dvdrom   [man]

# mount /dev/hdb /mnt/cdrecorder
   

mount a cdrw / dvdrom   [man]

# mount -o loop file.iso /mnt/cdrom
   

mount a file or iso image   [man]

# mount -t vfat /dev/hda5 /mnt/hda5
   

mount a Windows FAT32 file system   [man]

# mount /dev/sda1 /mnt/usbdisk
   

mount a usb pen-drive or flash-drive   [man]

# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
   

mount a windows network share   [man]

# umount /dev/hda2
   

unmount disk called hda2 - exit from mount point '/ mnt/hda2' first   [man]

# umount -n /mnt/hda2
   

run umount without writing the file /etc/mtab - useful when the file is read-only or the hard disk is full   [man]

 « TOP «
Disk Space

Command
   

Description

# df -h
   

show list of partitions mounted   [man]

# dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n
   

show the used space by installed deb packages, sorting by size (debian, ubuntu and alike)   [man]

# du -sh dir1
   

estimate space used by directory 'dir1'   [man]

# du -sk * | sort -rn
   

show size of the files and directories sorted by size   [man]

# ls -lSr |more
   

show size of the files and directories ordered by size   [man]

# rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n
   

show space used by rpm packages installed sorted by size (fedora, redhat and like)   [man]

 « TOP «
Users and Groups

Command
   

Description

# chage -E 2005-12-31 user1
   

set deadline for user password   [man]

# groupadd [group]
   

create a new group   [man]

# groupdel [group]
   

delete a group   [man]

# groupmod -n moon sun
   

rename a group from moon to sun   [man]

# grpck
   

check correct syntax and file format of '/etc/group' and groups existence   [man]

# newgrp - [group]
   

log into a new group to change default group of newly created files   [man]

# passwd
   

change password   [man]

# passwd user1
   

change a user password (only by root)   [man]

# pwck
   

check correct syntax and file format of '/etc/passwd' and users existence   [man]

# useradd -c "User Linux" -g admin -d /home/user1 -s /bin/bash user1
   

create a new user "user1" belongs "admin" group   [man]

# useradd user1
   

create a new user   [man]

# userdel -r user1
   

delete a user ( '-r' eliminates home directory)   [man]

# usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1
   

change user attributes   [man]

 « TOP «
Permits on Files

Command
   

Description

# chgrp group1 file1
   

change group of files   [man]

# chmod ugo+rwx directory1
   

set permissions reading (r), write (w) and (x) access to users owner (u) group (g) and others (o)   [man]

# chmod go-rwx directory1
   

remove permits reading (r), write (w) and (x) access to users group (g) and others (or   [man]

# chmod u+s /bin/file1
   

set SUID bit on a binary file - the user that running that file gets same privileges as owner   [man]

# chmod u-s /bin/file1
   

disable SUID bit on a binary file   [man]

# chmod g+s /home/public
   

set SGID bit on a directory - similar to SUID but for directory   [man]

# chmod g-s /home/public
   

disable SGID bit on a directory   [man]

# chmod o+t /home/public
   

set STIKY bit on a directory - allows files deletion only to legitimate owners   [man]

# chmod o-t /home/public
   

disable STIKY bit on a directory   [man]

# chown user1 file1
   

change owner of a file   [man]

# chown -R user1 directory1
   

change user owner of a directory and all the files and directories contained inside   [man]

# chown user1:group1 file1
   

change user and group ownership of a file   [man]

# find / -perm -u+s
   

view all files on the system with SUID configured   [man]

# ls -lh
   

show permits on files   [man]

# ls /tmp | pr -T5 -W$COLUMNS
   

divide terminal into 5 columns   [man]

 « TOP «
Special Attributes on files

Command
   

Description

# chattr +a file1
   

allows write opening of a file only append mode   [man]

# chattr +c file1
   

allows that a file is compressed / decompressed automatically by the kernel   [man]

# chattr +d file1
   

makes sure that the program ignores Dump the files during backup   [man]

# chattr +i file1
   

makes it an immutable file, which can not be removed, altered, renamed or linked   [man]

# chattr +s file1
   

allows a file to be deleted safely   [man]

# chattr +S file1
   

makes sure that if a file is modified changes are written in synchronous mode as with sync   [man]

# chattr +u file1
   

allows you to recover the contents of a file even if it is canceled   [man]

# lsattr
   

show specials attributes   [man]

 « TOP «
Archives and compressed files

Command
   

Description

# bunzip2 file1.bz2
   

decompress a file called 'file1.bz2'   [man]

# bzip2 file1
   

compress a file called 'file1'   [man]

# gunzip file1.gz
   

decompress a file called 'file1.gz'   [man]

# gzip file1
   

compress a file called 'file1'   [man]

# gzip -9 file1
   

compress with maximum compression   [man]

# rar a file1.rar test_file
   

create an archive rar called 'file1.rar'   [man]

# rar a file1.rar file1 file2 dir1
   

compress 'file1', 'file2' and 'dir1' simultaneously   [man]

# rar x file1.rar
   

decompress rar archive   [man]

# tar -cvf archive.tar file1
   

create a uncompressed tarball   [man]

# tar -cvf archive.tar file1 file2 dir1
   

create an archive containing 'file1', 'file2' and 'dir1'   [man]

# tar -tf archive.tar
   

show contents of an archive   [man]

# tar -xvf archive.tar
   

extract a tarball   [man]

# tar -xvf archive.tar -C /tmp
   

extract a tarball into / tmp   [man]

# tar -cvfj archive.tar.bz2 dir1
   

create a tarball compressed into bzip2   [man]

# tar -xvfj archive.tar.bz2
   

decompress a compressed tar archive in bzip2   [man]

# tar -cvfz archive.tar.gz dir1
   

create a tarball compressed into gzip   [man]

# tar -xvfz archive.tar.gz
   

decompress a compressed tar archive in gzip   [man]

# unrar x file1.rar
   

decompress rar archive   [man]

# unzip file1.zip
   

decompress a zip archive   [man]

# zip file1.zip file1
   

create an archive compressed in zip   [man]

# zip -r file1.zip file1 file2 dir1
   

compress in zip several files and directories simultaneously   [man]

 « TOP «
RPM Packages ( Fedora, Red Hat and like)

Command
   

Description

# rpm -ivh [package.rpm]
   

install a rpm package   [man]

# rpm -ivh --nodeeps [package.rpm]
   

install a rpm package ignoring dependencies requests   [man]

# rpm -U [package.rpm]
   

upgrade a rpm package without changing configuration files   [man]

# rpm -F [package.rpm]
   

upgrade a rpm package only if it is already installed   [man]

# rpm -e [package]
   

remove a rpm package   [man]

# rpm -qa
   

show all rpm packages installed on the system   [man]

# rpm -qa | grep httpd
   

show all rpm packages with the name "httpd"   [man]

# rpm -qi [package]
   

obtain information on a specific package installed   [man]

# rpm -qg "System Environment/Daemons"
   

show rpm packages of a group software   [man]

# rpm -ql [package]
   

show list of files provided by a rpm package installed   [man]

# rpm -qc [package]
   

show list of configuration files provided by a rpm package installed   [man]

# rpm -q [package] --whatrequires
   

show list of dependencies required for a rpm packet   [man]

# rpm -q [package] --whatprovides
   

show capability provided by a rpm package   [man]

# rpm -q [package] --scripts
   

show scripts started during installation / removal   [man]

# rpm -q [package] --changelog
   

show history of revisions of a rpm package   [man]

# rpm -qf /etc/httpd/conf/httpd.conf
   

verify which rpm package belongs to a given file   [man]

# rpm -qp [package.rpm] -l
   

show list of files provided by a rpm package not yet installed   [man]

# rpm --import /media/cdrom/RPM-GPG-KEY
   

import public-key digital signature   [man]

# rpm --checksig [package.rpm]
   

verify the integrity of a rpm package   [man]

# rpm -qa gpg-pubkey
   

verify integrity of all rpm packages installed   [man]

# rpm -V [package]
   

check file size, permissions, type, owner, group, MD5 checksum and last modification   [man]

# rpm -Va
   

check all rpm packages installed on the system - use with caution   [man]

# rpm -Vp [package.rpm]
   

verify a rpm package not yet installed   [man]

# rpm -ivh /usr/src/redhat/RPMS/`arch`/[package.rpm]
   

install a package built from a rpm source   [man]

# rpm2cpio [package.rpm] | cpio --extract --make-directories *bin*
   

extract executable file from a rpm package   [man]

# rpmbuild --rebuild [package.src.rpm]
   

build a rpm package from a rpm source   [man]

 « TOP «
YUM packages tool (Fedora, RedHat and alike)

Command
   

Description

# yum -y install [package]
   

download and install a rpm package   [man]

# yum localinstall [package.rpm]
   

That will install an RPM, and try to resolve all the dependencies for you using your repositories.   [man]

# yum -y update
   

update all rpm packages installed on the system   [man]

# yum update [package]
   

upgrade a rpm package   [man]

# yum remove [package]
   

remove a rpm package   [man]

# yum list
   

list all packages installed on the system   [man]

# yum search [package]
   

find a package on rpm repository   [man]

# yum clean [package]
   

clean up rpm cache erasing downloaded packages   [man]

# yum clean headers
   

remove all files headers that the system uses to resolve dependency   [man]

# yum clean all
   

remove from the cache packages and headers files   [man]

 « TOP «
DEB packages (Debian, Ubuntu and like)

Command
   

Description

# dpkg -i [package.deb]
   

install / upgrade a deb package   [man]

# dpkg -r [package]
   

remove a deb package from the system   [man]

# dpkg -l
   

show all deb packages installed on the system   [man]

# dpkg -l | grep httpd
   

show all deb packages with the name "httpd"   [man]

# dpkg -s [package]
   

obtain information on a specific package installed on system   [man]

# dpkg -L [package]
   

show list of files provided by a package installed on system   [man]

# dpkg --contents [package.deb]
   

show list of files provided by a package not yet installed   [man]

# dpkg -S /bin/ping
   

verify which package belongs to a given file   [man]

 « TOP «
APT packages tool (Debian, Ubuntu and alike)

Command
   

Description

# apt-cache search [package]
   

returns list of packages which corresponds string "searched-packages"   [man]

# apt-cdrom install [package]
   

install / upgrade a deb package from cdrom   [man]

# apt-get install [package]
   

install / upgrade a deb package   [man]

# apt-get update
   

update the package list   [man]

# apt-get upgrade
   

upgrade all of the installed packages   [man]

# apt-get remove [package]
   

remove a deb package from system   [man]

# apt-get check
   

verify correct resolution of dependencies   [man]

# apt-get clean
   

clean up cache from packages downloaded   [man]

 « TOP «
Pacman packages tool (Arch, Frugalware and alike)

Command
   

Description

# pacman -S name
   

Install package 'name' with dependencies   [man]

# pacman -R name
   

Delete package 'name' and all files of it   [man]

 « TOP «
View file content

Command
   

Description

# cat file1
   

view the contents of a file starting from the first row   [man]

# head -2 file1
   

view first two lines of a file   [man]

# less file1
   

similar to 'more' command but which allows backward movement in the file as well as forward movement   [man]

# more file1
   

view content of a file along   [man]

# tac file1
   

view the contents of a file starting from the last line   [man]

# tail -2 file1
   

view last two lines of a file   [man]

# tail -f /var/log/messages
   

view in real time what is added to a file   [man]

 « TOP «
Text Manipulation

Command
   

Description

# cat example.txt | awk 'NR%2==1'
   

remove all even lines from example.txt   [man]

# echo a b c | awk '{print $1}'
   

view the first column of a line   [man]

# echo a b c | awk '{print $1,$3}'
   

view the first and third column of a line   [man]

# cat -n file1
   

number row of a file   [man]

# comm -1 file1 file2
   

compare contents of two files by deleting only unique lines from 'file1'   [man]

# comm -2 file1 file2
   

compare contents of two files by deleting only unique lines from 'file2'   [man]

# comm -3 file1 file2
   

compare contents of two files by deleting only the lines that appear on both files   [man]

# diff file1 file2
   

find differences between two files   [man]

# grep Aug /var/log/messages
   

look up words "Aug" on file '/var/log/messages'   [man]

# grep ^Aug /var/log/messages
   

look up words that begin with "Aug" on file '/var/log/messages'   [man]

# grep [0-9] /var/log/messages
   

select from file '/var/log/messages' all lines that contain numbers   [man]

# grep Aug -R /var/log/*
   

search string "Aug" at directory '/var/log' and below   [man]

# paste file1 file2
   

merging contents of two files for columns   [man]

# paste -d '+' file1 file2
   

merging contents of two files for columns with '+' delimiter on the center   [man]

# sdiff file1 file2
   

find differences between two files and merge interactively alike "diff"   [man]

# sed 's/string1/string2/g' example.txt
   

replace "string1" with "string2" in example.txt   [man]

# sed '/^$/d' example.txt
   

remove all blank lines from example.txt   [man]

# sed '/ *#/d; /^$/d' example.txt
   

remove comments and blank lines from example.txt   [man]

# sed -e '1d' exampe.txt
   

eliminates the first line from file example.txt   [man]

# sed -n '/string1/p'
   

view only lines that contain the word "string1"   [man]

# sed -e 's/ *$//' example.txt
   

remove empty characters at the end of each row   [man]

# sed -e 's/string1//g' example.txt
   

remove only the word "string1" from text and leave intact all   [man]

# sed -n '1,5p' example.txt
   

print from 1th to 5th row of example.txt   [man]

# sed -n '5p;5q' example.txt
   

print row number 5 of example.txt   [man]

# sed -e 's/00*/0/g' example.txt
   

replace more zeros with a single zero   [man]

# sort file1 file2
   

sort contents of two files   [man]

# sort file1 file2 | uniq
   

sort contents of two files omitting lines repeated   [man]

# sort file1 file2 | uniq -u
   

sort contents of two files by viewing only unique line   [man]

# sort file1 file2 | uniq -d
   

sort contents of two files by viewing only duplicate line   [man]

# echo 'word' | tr '[:lower:]' '[:upper:]'
   

convert from lower case in upper case   [man]

 « TOP «
Character set and Format file conversion

Command
   

Description

# dos2unix filedos.txt fileunix.txt
   

convert a text file format from MSDOS to UNIX   [man]

# recode ..HTML < page.txt > page.html
   

convert a text file to html   [man]

# recode -l | more
   

show all available formats conversion   [man]

# unix2dos fileunix.txt filedos.txt
   

convert a text file format from UNIX to MSDOS   [man]

 « TOP «
Filesystem Analysis

Command
   

Description

# badblocks -v /dev/hda1
   

check bad blocks on disk hda1   [man]

# dosfsck /dev/hda1
   

repair / check integrity of dos filesystems on disk hda1   [man]

# e2fsck /dev/hda1
   

repair / check integrity of ext2 filesystem on disk hda1   [man]

# e2fsck -j /dev/hda1
   

repair / check integrity of ext3 filesystem on disk hda1   [man]

# fsck /dev/hda1
   

repair / check integrity of linux filesystem on disk hda1   [man]

# fsck.ext2 /dev/hda1
   

repair / check integrity of ext2 filesystem on disk hda1   [man]

# fsck.ext3 /dev/hda1
   

repair / check integrity of ext3 filesystem on disk hda1   [man]

# fsck.vfat /dev/hda1
   

repair / check integrity of fat filesystem on disk hda1   [man]

# fsck.msdos /dev/hda1
   

repair / check integrity of dos filesystem on disk hda1   [man]

 « TOP «
Format a Filesystem

Command
   

Description

# fdformat -n /dev/fd0
   

format a floppy disk   [man]

# mke2fs /dev/hda1
   

create a filesystem type linux ext2 on hda1 partition   [man]

# mke2fs -j /dev/hda1
   

create a filesystem type linux ext3 (journal) on hda1 partition   [man]

# mkfs /dev/hda1
   

create a filesystem type linux on hda1 partition   [man]

# mkfs -t vfat 32 -F /dev/hda1
   

create a FAT32 filesystem   [man]

# mkswap /dev/hda3
   

create a swap filesystem   [man]

 « TOP «
Filesystem SWAP

Command
   

Description

# mkswap /dev/hda3
   

create a swap filesystem   [man]

# swapon /dev/hda3
   

activating a new swap partition   [man]

# swapon /dev/hda2 /dev/hdb3
   

activate two swap partitions   [man]

 « TOP «
Backup

Command
   

Description

# find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2
   

find all files with '.log' extention and make an bzip archive   [man]

# find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents
   

find and copy all files with '.txt' extention from a directory to another   [man]

# dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
   

make a backup of a local hard disk on remote host via ssh   [man]

# dd if=/dev/sda of=/tmp/file1
   

backup content of the harddrive to a file   [man]

# dd if=/dev/hda of=/dev/fd0 bs=512 count=1
   

make a copy of MBR (Master Boot Record) to floppy   [man]

# dd if=/dev/fd0 of=/dev/hda bs=512 count=1
   

restore MBR from backup copy saved to floppy   [man]

# dump -0aj -f /tmp/home0.bak /home
   

make a full backup of directory '/home'   [man]

# dump -1aj -f /tmp/home0.bak /home
   

make a incremental backup of directory '/home'   [man]

# restore -if /tmp/home0.bak
   

restoring a backup interactively   [man]

# rsync -rogpav --delete /home /tmp
   

synchronization between directories   [man]

# rsync -rogpav -e ssh --delete /home ip_address:/tmp
   

rsync via SSH tunnel   [man]

# rsync -az -e ssh --delete ip_addr:/home/public /home/local
   

synchronize a local directory with a remote directory via ssh and compression   [man]

# rsync -az -e ssh --delete /home/local ip_addr:/home/public
   

synchronize a remote directory with a local directory via ssh and compression   [man]

# tar -Puf backup.tar /home/user
   

make a incremental backup of directory '/home/user'   [man]

# ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'
   

copy content of a directory on remote directory via ssh   [man]

# ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'
   

copy a local directory on remote directory via ssh   [man]

# tar cf - . | (cd /tmp/backup ; tar xf - )
   

local copy preserving permits and links from a directory to another   [man]

 « TOP «
CDROM

Command
   

Description

# cd-paranoia -B
   

rip audio tracks from a CD to wav files   [man]

# cd-paranoia --
   

rip first three audio tracks from a CD to wav files   [man]

# cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
   

clean a rewritable cdrom   [man]

# cdrecord -v dev=/dev/cdrom cd.iso
   

burn an ISO image   [man]

# gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -
   

burn a compressed ISO image   [man]

# cdrecord --scanbus
   

scan bus to identify the channel scsi   [man]

# dd if=/dev/hdc | md5sum
   

perform an md5sum on a device, like a CD   [man]

# mkisofs /dev/cdrom > cd.iso
   

create an iso image of cdrom on disk   [man]

# mkisofs /dev/cdrom | gzip > cd_iso.gz
   

create a compressed iso image of cdrom on disk   [man]

# mkisofs -J -allow-leading-dots -R -V
   

create an iso image of a directory   [man]

# mount -o loop cd.iso /mnt/iso
   

mount an ISO image   [man]

 « TOP «
Networking (LAN / WiFi)

Command
   

Description

# dhclient eth0
   

active interface 'eth0' in dhcp mode   [man]

# ethtool eth0
   

show network statistics of eth0   [man]

# host www.example.com
   

lookup hostname to resolve name to ip address and viceversa   [man]

# hostname
   

show hostname of system   [man]

# ifconfig eth0
   

show configuration of an ethernet network card   [man]

# ifconfig eth0 192.168.1.1 netmask 255.255.255.0
   

configure IP Address   [man]

# ifconfig eth0 promisc
   

configure 'eth0' in promiscuous mode to gather packets (sniffing)   [man]

# ifdown eth0
   

disable an interface 'eth0'   [man]

# ifup eth0
   

activate an interface 'eth0'   [man]

# ip link show
   

show link status of all network interfaces   [man]

# iwconfig eth1
   

show wireless networks   [man]

# iwlist scan
   

wifi scanning to display the wireless connections available   [man]

# mii-tool eth0
   

show link status of 'eth0'   [man]

# netstat -tup
   

show all active network connections and their PID   [man]

# netstat -tupl
   

show all network services listening on the system and their PID   [man]

# netstat -rn
   

show routing table alike "route -n"   [man]

# nslookup www.example.com
   

lookup hostname to resolve name to ip address and viceversa   [man]

# route -n
   

show routing table   [man]

# route add -net 0/0 gw IP_Gateway
   

configure default gateway   [man]

# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
   

configure static route to reach network '192.168.0.0/16'   [man]

# route del 0/0 gw IP_gateway
   

remove static route   [man]

# echo "1" > /proc/sys/net/ipv4/ip_forward
   

activate ip routing   [man]

# tcpdump tcp port 80
   

show all HTTP traffic   [man]

# whois www.example.com
   

lookup on Whois database   [man]

 « TOP «
Microsoft Windows networks (samba)

Command
   

Description

# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
   

mount a windows network share   [man]

# nbtscan ip_addr
   

netbios name resolution   [man]

# nmblookup -A ip_addr
   

netbios name resolution   [man]

# smbclient -L ip_addr/hostname
   

show remote shares of a windows host   [man]

# smbget -Rr smb://ip_addr/share
   

like wget can download files from a host windows via smb   [man]

 « TOP «
IPTABLES (firewall)

Command
   

Description

# iptables -t filter -L
   

show all chains of filtering table   [man]

# iptables -t nat -L
   

show all chains of nat table   [man]

# iptables -t filter -F
   

clear all rules from filtering table   [man]

# iptables -t nat -F
   

clear all rules from table nat   [man]

# iptables -t filter -X
   

delete any chains created by user   [man]

# iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT
   

allow telnet connections to input   [man]

# iptables -t filter -A OUTPUT -p tcp --dport http -j DROP
   

block HTTP connections to output   [man]

# iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT
   

allow POP3 connections to forward chain   [man]

# iptables -t filter -A INPUT -j LOG --log-prefix
   

Logging on input chain   [man]

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
   

configure a PAT (Port Address Traslation) on eth0 masking outbound packets   [man]

# iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22
   

redirect packets addressed to a host to another host   [man]

 « TOP «
Monitoring and debugging

Command
   

Description

# free -m
   

displays status of RAM in megabytes   [man]

# kill -9 process_id
   

force closure of the process and finish it   [man]

# kill -1 process_id
   

force a process to reload configuration   [man]

# last reboot
   

show history reboot   [man]

# lsmod
   

display kernel loaded   [man]

# lsof -p process_id
   

display a list of files opened by processes   [man]

# lsof /home/user1
   

displays a list of open files in a given path system   [man]

# ps -eafw
   

displays linux tasks   [man]

# ps -e -o pid,args --forest
   

displays linux tasks in a hierarchical mode   [man]

# pstree
   

Shows a tree system processes   [man]

# smartctl -A /dev/hda
   

monitoring reliability of a hard-disk through SMART   [man]

# smartctl -i /dev/hda
   

check if SMART is active on a hard-disk   [man]

# strace -c ls >/dev/null
   

display system calls made and received by a process   [man]

# strace -f -e open ls >/dev/null
   

display library calls   [man]

# tail /var/log/dmesg
   

show events inherent to the process of booting kernel   [man]

# tail /var/log/messages
   

show system events   [man]

# top
   

display linux tasks using most cpu   [man]

# watch -n1 'cat /proc/interrupts'
   

display interrupts in real-time   [man]

 « TOP «
Others useful commands

Command
   

Description

# alias hh='history'
   

set an alias for a command - hh = history   [man]

# apropos ...keyword
   

display a list of commands that pertain to keywords of a program , useful when you know what your program does, but you don't know the name of the command   [man]

# chsh
   

change shell command   [man]

# chsh --list-shells
   

nice command to know if you have to remote into another box   [man]

# gpg -c file1
   

encrypt a file with GNU Privacy Guard   [man]

# gpg file1.gpg
   

decrypt a file with GNU Privacy Guard   [man]

# ldd /usr/bin/ssh
   

show shared libraries required by ssh program   [man]

# man ping
   

display the on-line manual pages for example on ping command - use '-k' option to find any related commands   [man]

# mkbootdisk --device /dev/fd0 `uname -r`
   

create a boot floppy   [man]

# wget -r www.example.com
   

download an entire web site   [man]

# wget -c www.example.com/file.iso
   

download a file with the ability to stop the download and resume later   [man]

# echo 'wget -c www.example.com/files.iso' | at 09:00
   

start a download at any given time   [man]

# whatis ...keyword
   

displays description of what a program does   [man]

# who -a
   

show who is logged on, and print: time of last system boot, dead processes, system login processes, active processes spawned by init, current runlevel, last system clock change   [man]