Activer la completion de l'invite de commande

Pour activer la complétion vous devez modifier une clef de la base de registre en suivant la procédure suivante :

  • Cliquez sur le bouton Démarrer et choisissez la commande Exécuter…
  • Dans la fenêtre qui apparaît, tapez Regedit et validez en cliquant sur le bouton OK
  • Dans la fenêtre de l’Éditeur de Base de registres, ouvrez la branche HKEY_CURRENT_USER / Software / Microsoft /

Command Processor

  • Dans la partie droite de l’Éditeur de Base de registres, double-cliquez sur la clé CompletionChar.
  • Affectez à cette clé la valeur 9 correspondant au code ASCII de la touche [Tab]
  • Fermer la fenêtre de l’éditeur de Base de registres et redémarrez Windows

Compresser / Décompresser

Compression

tar

commandecompression
tar -cvf nouvelle_archive.tar /dossier/fichier /dossier/dossier
tar -czvf archive.tar.gz /dossier/fichier /dossier/dossiergz
tar -cjvf archive.tar.bz2 /dossier/fichier /dossier/dossierbz2

Decompression

commandecompression
tar -xvf /dossier/archive.tar
tar -xzvf /dossier/archive.tar.gzgz
tar -xjvf /dossier/archive.tar.bz2bz2
MAN  tar  gz  bz2 

Utilisation d'iptable

Voici un exemple commenté, cela est plus simple que de longue explications 😉

#!/bin/bash

# Vider les tables actuelles
iptables -t filter -F
iptables -t filter -X

# Autoriser SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

# Ne pas casser les connexions établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Monitoring Dedibox
iptables -A INPUT -i eth0 -s 88.191.254.0/24 -p tcp --dport 161 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -s 88.191.254.0/24 -p udp --dport 161 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 88.191.254.0/24 -p tcp --sport 161 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 88.191.254.0/24 -p udp --sport 161 -m state --state ESTABLISHED -j ACCEPT

# Interdire toute connexion entrante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP

# Interdire toute connexion sortante
iptables -t filter -P OUTPUT DROP

# Autoriser les requêtes DNS, FTP, HTTP, NTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# Autoriser ping
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

# HTTP
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT

# FTP
modprobe ip_conntrack_ftp
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# DNS
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

# Mail
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT

# Steamcast
iptables -t filter -A INPUT -p tcp --dport 8000 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8001 -j ACCEPT

# Syn-Flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT

# Spoofing
iptables -N SPOOFED
iptables -A SPOOFED -s 127.0.0.0/8 -j DROP
iptables -A SPOOFED -s 169.254.0.0/12 -j DROP
iptables -A SPOOFED -s 172.16.0.0/12 -j DROP
iptables -A SPOOFED -s 192.168.0.0/16 -j DROP
iptables -A SPOOFED -s 10.0.0.0/8 -j DROP

Transfère de Linux à Linux avec SCP

Cette commande permet de recopier un fichier ou répertoire de manière sécurisée (encryptage) de ou vers une machine distante.

Pour copier un fichier local ’le_fichier’ vers le compte de l’utilisateur “username” sur la machine distante “nom_de_machine.nom_de_domaine”, tapez la commande suivante :

scp le_fichier username@nom_de_machine.nom_de_domaine:

Pour copier le fichier distant ’le_fichier’ situé dans le sous répertoire ‘directory’ d’un compte de l’utilisateur “username” de la machine " nom_de_machine.nom_de_domaine “.

scp username@nom_de_machine.nom_de_domaine:directory/le_fichier

Pour copier le répertoire local ‘directory’ vers le compte de l’utilisateur “username “sur la machine” nom_de_machine.nom_de_domaine” :

[Lire]
scp 

Remonter une partition en lecture/écriture

Dans le cas ou votre /tmp est passé en lecture seul (problème d’acces disque par exemple)

Vous pouvez remonter la partition le lecture/écriture sans la démonter Cela est plus utile pour le / 😉

mount /tmp -o remount,rw

Changer le domaine ou l'adresse mail a l'envoie

Ajoutez dans le fichier de configuration main.cf :

smtp_generic_maps = hash:/etc/postfix/generic

Dans ce fichier, vous y indiquerez ce qui doit être réécrit

@domaine.local       @domaine.net
[email protected]   [email protected]

Postfix utilisera le hash de ce fichier, générez le avec postmap

postmap /etc/postfix/generic

Envoyé les notifications Munin par mail, au Syslog, a un compte Twitter

/etc/munin/munin.conf

Configuration des commandes d’envois :

contact.mail1.command |mail -s "Munin-notification for ${var:group} :: ${var:host}" [email protected]
contact.mail2.command |mail -s "Munin-notification for ${var:group} :: ${var:host}" [email protected]

Pour envoyé les notifications a chaque check au contact " mail1 “:

contact.mail1.always_send warning critical

Envoyé une alerte sur un compte Twitter

Script send2twitter.sh

#!/bin/sh
DATASTDIN=$(tr '[:upper:]' '[:lower:]' < /dev/stdin)
RESULT=`curl -s --basic -u votrelogin:votremotdepasse -d status="$DATASTDIN" http://twitter.com/statuses/update.json`

Le script send2twitter.sh doit avoir les droits d’exécution avec le compte utilisé par Munin.

[Lire]

Script d'init Tomcat

#!/bin/sh
. /etc/init.d/functions

RETVAL=$?
PATH=/usr/local/java/jdk1.6.0_15/bin:$PATH
JAVA_HOME=/usr/local/java/jdk1.6.0_15
JDK_HOME=/usr/local/java/jdk1.6.0_15
CATALINA_HOME=/usr/local/apache-tomcat-6.0.26
export CATALINA_HOME
export PATH
export JAVA_HOME
export JDK_HOME

case "$1" in
 start)
        if [ -f $CATALINA_HOME/bin/startup.sh ];
          then
     echo $"Starting Tomcat"
            /bin/su tomcat $CATALINA_HOME/bin/startup.sh
        fi
 ;;
 stop)
        if [ -f $CATALINA_HOME/bin/shutdown.sh ];
          then
     echo $"Stopping Tomcat"
            /bin/su tomcat $CATALINA_HOME/bin/shutdown.sh
        fi
  ;;
 *)
  echo $"Usage: $0 {start|stop}"
 exit 1
 ;;
esac

exit $RETVAL