dimanche 14 octobre 2012

Afficher les clients connectés - windows server 2008

Deux possibilités pour afficher les clients connectés sous windows server 2008.

1 - ouvrir une invite de commande en tant qu’administrateur, puis entrer la commande net session.

2 - Ouvrir la boite de dialogue gestion de l’ordinateur (dans le menu Outils d’administration), puis dérouler le menu Dossiers partagés/Sessions.

Les sessions actives apparaissent alors avec, entre autre, le nom de l’utilisateur, l’ordinateur utilisé, le nombre de fichier ouvert, la durée de la connexion en cours et le temps d’inactivité.

mercredi 10 octobre 2012

Gestion des priorités des dépôts avec yum

Lorsque l’on installe des dépôts non officiel, il peut être intéressant de gérer des priorités entre les dépôts. Ainsi, les paquets se mettent à jour à partir d’un seul dépôt, ce qui évitera des conflits de version entraînant une instabilité du système.

Chaque dépôt se voit attribuer une priorité (de 1 à 99). Le dépôt qui le nombre le plus bas est prioritaire sur les autres.

Installation:


Pour gérer les priorités avec l’utilisataire yum, nous devons installer un plugin qui a pour nom sous centos/redhat 5 yum-priorities (yum-plugin-priorities avec centos 6)..

mardi 9 octobre 2012

Configuration dépot redhat EPEL

Pour installer les dépots EPEL sur une redhat ou centos, on télécharge tout d’abord ces dépots en fonction de la version de la distribution (5 ou 6) puis on installe les dépots.


[root@redhat ~]# wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

[root@redhat ~]# rpm -ivh epel-release-5-4.noarch.rpm
attention: epel-release-5-4.noarch.rpm: Entête V3 DSA signature: NOKEY, key ID 217521f6
Préparation...              ########################################### [100%]
  1:epel-release           ########################################### [100%]
[root@redhat ~]# 



Vérification de la présence des nouveaux dépots:

[root@redhat ~]# ls /etc/yum.repos.d/
CentOS-Base.repo       CentOS-Media.repo  epel.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo  epel-testing.repo
[root@redhat ~]#

lundi 24 septembre 2012

Différence entre deux fichiers sous Windows

Sous windows, la commande FC compare deux fichiers et affiche les différences. 

Exemple d'utilisation

Dans l'exemple, on compare deux fichiers texte et on redirige la sortie de la commande vers le ficher fichier-sortie.txt ( les lignes sont numérotées - commande /N).

C:\Users\bob\Desktop>FC /L /N fichier1.txt fichier2.txt > fichier-sortie.txt

Options disponibles pour la commande FC


C:\Users\bob\Desktop>help fc
Compare deux fichiers ou ensembles de fichiers et affiche les différences
entre eux.


FC [/A] [/C] [/L] [/LBn] [/N][/OFF[LINE]][/T] [/U] [/W] [/nnnn]
   [lect1:][chemin1]fichier1 [lect2:][chemin2]fichier2
FC /B [lect1:][chemin1]fichier1 [lect2:][chemin2]fichier2

  /A         Affiche la 1ère et dernière ligne de chaque ensemble de
             différences.
  /B         Effectue une comparaison binaire.
  /C         Ignore la casse.
  /L         Compare les fichiers en tant que texte ASCII.
  /LBn       Définit le nombre maximal de différences consécutives comme égal
             au nombre de lignes spécifié.
  /N         Affiche les numéros de ligne pour une comparaison ASCII.
  /OFF[LINE] Ne pas ignorer les fichiers dont l'attribut hors connexion a été
             réglé.
  /T         Ne convertit pas les tabulations en espaces.
  /U         Compare les fichiers en tant que fichiers texte UNICODE.
  /W         Comprime les blancs (tabulations et espaces) pour la comparaison.
  /nnnn      Spécifie le nombre de lignes consécutives qui doivent
             correspondre après une différence.
  [lect1:][chemin1]fichier1
             Spécifie le premier fichier ou ensemble de fichiers à comparer.
  [lect2:][chemin2]fichier2
             Spécifie le second fichier ou ensemble de fichiers à comparer.


C:\Users\bob\Desktop>


dimanche 26 août 2012

mercredi 15 août 2012

Switch Cisco: récupération d'un IOS

Si l'IOS est corrompu:

switch: flash_init
switch: load_helper
switch: copy xmodem: flash:c3750-ipbase.122-55.SE5.bin

puis dans hyperterminal Transfert/send et pointer sur le nouvel IOS.

Switch Cisco: formatage mémoire flash

Démarrer en mode rommon, puis:

 switch: format flash:
Are you sure you want to format "flash:" (all data will be lost) (y/n)?y
flashfs[0]: 0 files, 1 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 15998976 flashfs[0]: Bytes used: 1024
flashfs[0]: Bytes available: 15997952
flashfs[0]:
flashfs fsck took 8 seconds.
Filesystem "flash:"
formatted

 switch: dir flash:

 Directory of flash:/
15997952 bytes available (1024 bytes used)
 switch:

mardi 14 août 2012

Supprimer les anciens noyaux sous ubuntu

Au fur et à mesure des mises à jour, les anciens noyaux de la distribution s'accumulent.
Ils prennent de la place sur le disque dur et apparaissent au démarrage de l'ordinateur.

La suppression des paquets linux-image supprime le noyau du système et met à jour le fichier de configuration de démarrage grub.

jeudi 17 mai 2012

Afficher le contenu d'un certificat x509 avec openssl

Linux# openssl x509 -in certificat.pem -noout -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            fd:22:b6:88:ff:78:43:aa        Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=FR, ST=exemple, O=masociete.Fr, CN=A-certif/emailAddress=bob@test.fr
        Validity
            Not Before: Nov 22 02:12:51 2010 GMT
            Not After : Nov 17 02:12:51 2020 GMT

samedi 12 mai 2012

Installation linux : divers sécurité

Suppression du montage automatique de partition NFS

# chkconfig autofs off


Désactiver le montage des systèmes qui ne sont pas utilisés

Dans le fichier /etc/modprobe.d/dist.conf
install cramfs /bin/true
install freevxfs /bin/true
install jffs2 /bin/true
install hfs /bin/true
install hfsplus /bin/true
install squashfs /bin/true
install udf /bin/true


Recherche des fichiers ayant le bit suid/sgid activé

 # find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -print


Fichier n'ayant pas d'utilisateur ou de groupe valide

# find / -xdev \( -nouser -o -nogroup \) -print


Limiter l'accès au compte root avec la commande su

Les utilisateurs devront appartenir au groupe wheel

[root@localhost modprobe.d]# grep ^wheel /etc/group
wheel:x:10:root
[root@localhost modprobe.d]#

Décommentez la ligne du fichier /etc/pam.d/su

[root@localhost modprobe.d]# more /etc/pam.d/su
#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
auth           required        pam_wheel.so use_uid



Créer un groupe et rattacher tous les comptes "humain" à ce groupe.

Celà facilitera la mise en place de règle d'accès pour tous les comptes humains.

mardi 8 mai 2012

Installation linux : option fichier fstab

Dans le fichier /etc/fstab

Ajout de l'option nodev à toutes les partitions ext2,ext3,ext4 sauf à / 

Cette option interdit de monter un matériel sur la partition en question.
La partition racine contient le répertoire /dev, elle doit donc être autorisée à monter des matériels.


Ajout des options noexec, nodev, nosuid au média amovible comme les cdrom ou les disquettes.
Ces options empêchent l'exécution de code (noexec) ou suppression des droits suid sur les fichiers des médias concernés.


Ajout des options noexec, nodev, nosuid pour les partitions contenant les fichiers temporaires (/tmp, /dev/shm)

dimanche 6 mai 2012

Vérifier l'intégrité des paquets sur une linux redhat

La commande suivante vérifie l'intégrité des paquets installés par rapport aux métadonnées disponibles dans la base RPM.

[root@centos aide]# rpm -qVa
....L....  c /etc/pam.d/fingerprint-auth
....L....  c /etc/pam.d/password-auth
....L....  c /etc/pam.d/smartcard-auth
....L....  c /etc/pam.d/system-auth
[root@centos aide]#

Pour exclure les fichiers de configuration de l'affichage:

[root@centos aide]# rpm -qVa | awk '$2!="c" {print $0}'
[root@centos aide]#

mercredi 2 mai 2012

Configuration IP dynamique - redhat centos

Commande pour modifier la configuration IP de façon dynamique pour une redhat / centos 
La configuration sera supprimée au prochain démarrage. Pour rendre cette configuration statique, il faut enregistrer celle ci dans les fichiers de la distribution.

Adresse IP et masque de réseau
# /sbin/ifconfig eth0 192.168.226.5 netmask 255.255.255.0

Passerelle par défaut
# /sbin/route add default gw 192.168.226.1

jeudi 19 avril 2012

Linux commande find


Rechercher un fichier dans toute l'arborescence


root@boo:~# find / -name fic -print
/home/clem/fic
root@boo:~#

lundi 16 avril 2012

Commande vi


Passage en mode insertion
a : insertion après le caractère courant
i: insertion du texte avant le caractère courant
o : insertion de texte après la ligne
Pour enregistrer et/ou quitter



:w : enregistre le fichier
:wq ou x : enregistre le fichier et ferme celui-ci
:q! : ferme sans sauvegarder les modifications
:q : ferme quand il n'y a pas eu de modifications

dimanche 15 avril 2012

Redirection vers un proxy http sous linux/freebsd


Avec le shell bash:

linux#export HTTP_PROXY='http://192.168.2.5:3128'


Avec le shell C (csh):

freebsd# setenv HTTP_PROXY http://192.168.2.5:3128

Pour activer ces paramètres au démarrage de la machine, il faut les placer dans un des fichiers scripts de démarrage.

Utilisation basique de netcat ou nc


Pour ouvrir un port (dans l'exemple le port 2222)

# nc -l 2222


Pour se connecter à ce port à partir d'un autre poste (192.168.100.2 est l'IP de la machine serveur):

# nc 192.168.100.2 2222

jeudi 12 avril 2012

Linux - affichage cpu, mémoires et partitions


A partir de /proc:

CPU:
root@boo:~# cat /proc/cpuinfo
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 15
model name    : Intel(R) Core(TM)2 CPU          6300  @ 1.86GHz
stepping    : 6
cpu MHz        : 1596.000
cache size    : 2048 KB
physical id    : 0

mercredi 11 avril 2012

linux utilisation de la mémoire


Commande free

bob@eee-pc:~$ free
 total       used       free     shared    buffers     cached
Mem:       1017968     913468     104500          0     156988     464400
-/+ buffers/cache:     292080     725888
Swap:       979924          0     979924

Commande top

mardi 10 avril 2012

Linux commande umask


La commande umask affiche la valeur du masque utilisé pour le calcul des droits sur un fichier ou un répertoire sous linux.
Par défaut, les fichiers sont créés avec les droits 666 (rw-rw-rw-), les répertoires sont créés avec les droits 777 (rwxrwxrwx).
A la création d'un fichier le masque est appliqué sur les droits par défaut.
Pour connaitre la valeur du masque:

bob@eee-pc:~$ umask
0022
bob@eee-pc:~$

dimanche 8 avril 2012

Commande grep ou


Afficher les fichiers ou dossier qui se terminent par .conf ou .d

[root@centos etc]# ls /etc/ | grep -E '(.conf|.d)$'


VPN : théorie


- Authentification des données (on est sur de discuter avec le bon interlocuteur)
- Confidentialité (un tiers ne doit pas pouvoir lire les informations)
- Intégrité des données (les données ne doivent pas pouvoir être falsifiées ou altérées)
- Anti-rejeu (les paquets ne penvent être rejoués)

mardi 3 avril 2012

Utilisation page de manuel Linux


Affichage des différentes pages de manuel qui contiennent le mot passwd

[bob@centos ~]$ man -k passwd

jeudi 29 mars 2012

Commande awk


Affichage des deux premières colonnes

[bob@centos ~]$ ps aux | awk '{ print $1,$2 }'
USER PID
root 1
root 2
root 3
root 4
root 5
root 6

mardi 27 mars 2012

Commande débogage script shell


Affiche la commande avant le résultat (commande set -x)

[bob@centos ~]$ cat script.sh
#!/bin/bash

set -x
pwd
set +x
pwd


[bob@centos ~]$ ./script.sh
+ pwd
/home/bob
+ set +x
/home/bob
[bob@centos ~]$

dimanche 25 mars 2012

Calcul avec le shell


En fonction du shell

[bob@centos ~]$ ((var=12+1))
[bob@centos ~]$ echo $var
13
[bob@centos ~]$ var1=$(expr 12 + 1)
[bob@centos ~]$ echo $var1
13
[bob@centos ~]$

Pour une multiplication

[bob@centos ~]$ var1=$(expr 12 \* 2)
[bob@centos ~]$ echo $var1
24
[bob@centos ~]$ ((var=12*21))
[bob@centos ~]$ echo $var
252
[bob@centos ~]$

vendredi 23 mars 2012

Linux commande test


Test sur un fichier, puis un répertoire avec affichage de la valeur de retour de la commande ($?)

root@boo:~# test -f fr-Paris ; echo $?
0
root@boo:~# test -f Images ; echo $?
1
root@boo:~#


Ou bien:

root@boo:~# [ -d Images ]
root@boo:~# echo $?
0
root@boo:~# [ -f Images ]
root@boo:~# echo $?
1
root@boo:~#


Les options:

-f : test d'un fichier
-d: test d'un répertoire
-r: autorisation en lecture
-w: autorisation en écriture
-x : autorisation en exécution
-e: le fichier existe
-s : le fichier n'est pas vide
-a : et
-o : ou
! : non

test sur les nombres:
-eq : égal
-ne: différent
-gt: supérieur
-lt: inférieur
-le: inférieur ou égal
-ge: supérieur ou égal

test sur les chaines:
-z: variable vide
-n: variable non vide
chaine=chaine: oui si les chaines sont identiques
chaine!=chaine: oui si les chaines sont différentes

jeudi 22 mars 2012

shell : commande set


Le script affiche la date puis décompose l'heure (voir le role de la variable IFS).

[bob@centos ~]$ cat sc-date
#!/bin/bash
# decomposition de la date avec la commande set
set $(date)

#  on affiche l'ensemble puis uniquement deux paramètres
echo -e "$*\n"
echo "Le mois est $2 et l'heure est: $4"

IFS=:
set $4
echo "l'heure est $1, les minutes sont: $2 et les secondes: $3"


[bob@centos ~]$
[bob@centos ~]$ ./sc-date
jeu. mars 15 10:32:05 CET 2012

Le mois est mars et l'heure est: 10:32:05
l'heure est 10, les minutes sont: 32 et les secondes: 05
[bob@centos ~]$

mardi 20 mars 2012

Variable des arguments d'un script


Le script suivant affiche quelque variable:

[bob@centos ~]$ cat sc-var-shell
#!/bin/bash

echo "Affichage du nom du script: $0"
echo "Affichage du nombre d'argument: $#"
echo "Affichage du numero de processus du script: $$"
echo "Affichage de la liste des arguments: $*"
echo "Affichage du premier argument: $1"
echo "Affichage du deuxieme argument: $2"
echo "Affichage du troisieme argument: $3"
[bob@centos ~]$


Exécution du script:

[bob@centos ~]$ ./sc-var-shell arg1 arg2 arg3 arg4
Affichage du nom du script: ./sc-shell
Affichage du nombre d'argument: 4
Affichage du numero de processus du script: 3140
Affichage de la liste des arguments: arg1 arg2 arg3 arg4
Affichage du premier argument: arg1
Affichage du deuxieme argument: arg2
Affichage du troisieme argument: arg3
[bob@centos ~]$

lundi 19 mars 2012

Script de connexion linux


Fichiers exécutés à la connexion d'un utilisateur:
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
A la déconnexion:
~./bash_logout
A l'ouverture d'un shell
~/.bashrc

mardi 13 mars 2012

Affichage du shell, historique, option du shell


Afficher les shells disponibles

[bob@centos ~]$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
[bob@centos ~]$
[bob@centos ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
[bob@centos ~]$



Afficher le shell de connexion

-sh-3.2$ ps
  PID TTY          TIME CMD
 3167 pts/0    00:00:00 sh
 3189 pts/0    00:00:00 ps

Ou bien

-sh-3.2$ echo $SHELL
/bin/sh
-sh-3.2$


Changer son shell


-sh-3.2$ chsh --h
Usage: chsh [ -s shell ] [ --list-shells ] [ --help ] [ --version ]
       [ nom-usager ]
-sh-3.2$ chsh -s /bin/bash
Modification du shell pour bob.
Mot de passe :
Shell a changé.
-sh-3.2$

Il faut ensuite se reconnecter.


Connaitre le type d'une commande (interne ou externe)

[bob@centos ~]$ type echo
echo is a shell builtin
[bob@centos ~]$
[bob@centos ~]$ type grep
grep is /bin/grep


Affichage des variables du shell

[bob@centos ~]$ set
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="2" [2]="25" [3]="1" [4]="release" [5]="i686-redhat-linux-gnu")
BASH_VERSION='3.2.25(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
EUID=500
GROUPS=()
G_BROKEN_FILENAMES=1
HISTFILE=/home/bob/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
...


Affichage des variables exportées du shell

[bob@centos ~]$ env
HOSTNAME=centos.domaine.fr
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_TTY=/dev/pts/0
USER=bob
...


Affichage des options du shell

[bob@centos ~]$ set -o
allexport       off
braceexpand     on
emacs           on
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
...


Activation / désactivation d'une option

[root@centos bob]# set -o | grep emacs
emacs           on
[root@centos bob]# set +o emacs
[root@centos bob]# set -o | grep emacs
emacs           off
[root@centos bob]# set -o emacs
[root@centos bob]# set -o | grep emacs
emacs           on
[root@centos bob]#


Affichage du prompt du style -utilisateur@nom machine réperoire actuel:

[root@centos bob]# echo $PS1
[\u@\h \W]\$


Raccourci pour la commande history

Affichage puis exécution de la dernière commande

[bob@centos home]$ ls /etc | tail -2
yum.conf
yum.repos.d
[bob@centos home]$!!

ls /etc | tail -2
yum.conf
yum.repos.d


Rappel de la commande ayant le numéro 203 dans l'historique

[bob@centos home]$ history | tail -5
  206  pwd
  207  history
  208  ls /etc | tail -2
  209  ls
  210  history | tail -5
[bob@centos home]$ !208
ls /etc | tail -2
yum.conf
yum.repos.d
[bob@centos home]$


Rappel de la dernière commande en substituant des caractères

[bob@centos home]$ ls /etc | tail -2
yum.conf
yum.repos.d
[bob@centos home]$ !!:s^etc^home
ls /home | tail -2
bob
[bob@centos home]$


Affiche la commande sans l'exécuter

[bob@centos home]$ !!:p
ls /home | tail -2
[bob@centos home]$

Linux commande wc


Pour compter concernant un fichier :
-l : nombre de lignes
-c : nombre d'octets
-w : nombre de mots
-m : nombre de caractère
 root@boo:~# wc fr-Paris
   8  65 355 fr-Paris
root@boo:~# wc -l fr-Paris
 8 fr-Paris
root@boo:~# wc -w fr-Paris
 65 fr-Paris
root@boo:~# wc -m fr-Paris
 355 fr-Paris
root@boo:~#

lundi 12 mars 2012

Suppression du cache DNS sous Windows

La commande pour supprimer le cache DNS (à exécuter le cas échéant en mode administrateur) est:

 Microsoft Windows [version 6.0.6002] Copyright (c) 2006 Microsoft Corporation. Tous droits réservés.
 C:\Windows\system32>ipconfig /flushdns
 Configuration IP de Windows Cache de résolution DNS vidé.
 C:\Windows\system32>

dimanche 11 mars 2012

Mémo Javascript


Ajout au balise meta:
<meta http-equiv="Content-Script-Type" content="text.javascript" />

Balise d'insertion dans le code:
<script> le code </script>
Ou bien
<script type="text/javascript">
//<![CDATA[
code cdata dans le code xhtml
//]]>
</script>

Si le code est dans un fichier spécifique:
<script src="nom_fichier.js"></script>

Le code est placé dans le fichier directement (sans balise)
Ecrire un texte:
document.write("le texte");

Déclaration d'une fonction:
function nomdelefonction(){
document.write("affiche le texte");
}

Appel de le fonction:
nomdelafonction();

Quelques évènements:
onclick
onfocus
onload
onunload
onmouseover
onmouseout
onsubmit


Coût ospf - interfaces Giga et 10G - cisco


Le lien utilisé sera celui qui aura le coût le plus bas.
la référence de calcul utilise des liens à 100Mbit/s.
Avec des interfaces giga ou 10 giga, il faut ajouter la commande suivante à la configuration ospf:
Giga:
auto-cost reference-bandwidth 1000
10Giga
auto-cost reference-bandwidth 10000

vendredi 9 mars 2012

Linux - occupation du disque


Occupation du disque (h : format humain):
chloe@boo:~$ df -h
Sys. de fichiers            Taille  Uti. Disp. Uti% Monté sur
/dev/sda2              15G  623M   14G   5% /
none                 1000M  752K  999M   1% /dev
none                 1006M  320K 1006M   1% /dev/shm
none                 1006M  372K 1006M   1% /var/run
none                 1006M     0 1006M   0% /var/lock
/dev/sda7              87G   70G   13G  85% /home
/dev/sda5              15G  5,1G  8,7G  37% /usr
/dev/sda6              16G   13G  1,6G  90% /var
clhoe@boo:~$
Occupation du disque par arborescence (option: m: MégaOctet, k: KiloOctet)
chloe@boo:/usr$ du -m
Uniquement le total pour un répertoire (dans l'exemple sur "games")
chloe@boo:/usr$ du -ks games/
2504    games/

dimanche 4 mars 2012

Commande sed, cut et sort


sed

Remplacement:
#sed -e "s/a-remplacer/nouveau/" nomdufichier

Remplacer toutes les occurences:
#sed -e "s/a-remplacer/nouveau/g" nomdufichier

Afficher une ligne particulière en utilisant son numéro (dans l'exemple la ligne 355)
# sed -n 355p nomdufichier.txt

Supprimer les lignes vides
# sed -e '/^$/d' NomFichier


Supprime les lignes du fichier fic qui commence par #
$ sed -e '/^#/d' fic

Affiche les lignes du fichier fic qui commence par #
$ sed -e '/^#/p' fic

Afficher les dix premières lignes du fichier passwd
[bob@centos ~]$ sed -n '1,10 p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
[bob@centos ~]$



cut
Affiche uniquement certaine colonne d'un fichier.
#cut -cNuméro-de-colonne fichier

Peut également afficher des champs (option -f). Le caractère de séparation (par défaut la tabulation) est modifié via l'option -d.

Exemple:
clem@eee-pc:~$ cut -d: -f1 /etc/passwd
root
daemon
bin
sys
sync
Affiche le nombre de groupes uniques utilisés dans /etc/passwd
[bob@centos ~]$ cut -d: -f4 /etc/passwd | sort -n | uniq | wc -l
29
[bob@centos ~]$

sort

Permet de faire des tris sur une colonne ou un champ.

Exemple:
clem@eee-pc:~$ cut -d: -f1 /etc/passwd | sort
avahi
avahi-autoipd
backup
bin
clamav

Tri par uid dans le fichier passwd
-n: tri numérique
-t: séparateur de champ
-k: le numéro du champ

[bob@centos ~]$ sort -n -t: -k3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

Bonus: uniq supprime les doublons.

vendredi 2 mars 2012

Monter un cdrom sous linux


Créer le point de montage
[root@linux /]# mkdir /mnt/cdrom
Puis monter le cdrom
[root@linux /]# mount -t iso9660 /dev/cdrom /mnt/cdrom
Pour démonter
[root@linux /]# umount /mnt/cdrom
Pour vérifier les partitions montées
[root@linux /]# mount
Pour info: le fichier /etc/fstab contient les partitions montées au démarrage du système.

jeudi 1 mars 2012

Expression régulière perl - javascript

abc a n'importe quel endroit de la chaine
^abc au début de la chaine
abc$ a la fin de la chaine
abc* ab suivit de 0 ou de un ou plusieurs c
abc+ ab puis un ou plusieurs c
abc? ab puis un 0 ou un c
.abc un caractère puis abc
.+abc plusieurs caractère puis abc
\btest\b trouve le mot "test"
\Btest\B la chaine test à l'intérieur d'un mot
a|b a ou b
[abc] a ou b ou c
[a-z] n'importe quel caractère de a à z
[0-9] n'importe quel chiffre de 0 à 9
a{3} le caractère a 3 fois
a{3,} a au moins 3 fois
a{3,5} a entre 3 et 5 fois
 
\s espace vide (retour chariot, saut de ligne, espace, ...
\n saut de ligne
\r retour charriot
\d les caractères numériques

mardi 28 février 2012

Installation de packet filter pour freebsd


La documentation complète est ici: http://www.openbsd.org/faq/pf/.
Ajout de pf au noyau
freebsd# vi NOYEAU
#packet filter
device          pf
device          pflog
device          pfsync

options         ALTQ
options         ALTQ_CBQ
options         ALTQ_RED
options         ALTQ_RIO
options         ALTQ_HFSC
options         ALTQ_PRIQ
Puis on installe le nouveau noyau (voir Configurer le noyau de freebsd).
Ajout de pf au démarrage
freebsd# vi /etc/rc.conf
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""
Les règles sont dans /etc/pf.conf et le fichier de log est dans /var/log/pflog
Quelques commandes utiles
Activation
freebsd# pfctl -e
Désactivation
freebsd# pfctl -d
Affichage des règles en cours
freebsd# pfctl -sr
Charger les règles à partir d'un fichier
freebsd# pfctl -f /etc/pf.conf
Afficher les logs à partir de l'interface par défaut pflog0
freebsd# tcpdump -n -e -ttt -i pflog0
Afficher les logs contenu dans le fichier pflog
freebsd# tcpdump -n -e -ttt -r /var/log/pflog

dimanche 26 février 2012

Switch Cisco: suppression d'un répertoire

Commande pour supprimer un fichier dans la flash d'un switch Cisco:

 switch-2960#delete flash:vlan.dat
Delete filename [vlan.dat]?
Delete flash:vlan.dat? [confirm]


 Commande pour supprimer un répertoire sans confirmation:

 switch-2960#delete /recursive /force flash:crashinfo 

Vérification - affichage du contenu de la flash:

 switch-2960#dir
Directory of flash:/
 4 -rwx 1048 Mar 1 1993 01:05:16 +01:00 multiple-fs
 9 drwx 128 Dec 30 2010 01:28:01 +01:00  c2960-ipbasek9-mz.122-55.SE1
 15998976 bytes total (3915264 bytes free)

jeudi 23 février 2012

Configuration d'un accès ssh - serveur linux


Cette configuration a été testée sur un serveur Linux debian.

Installation du paquet openssh-server:
debian:~# apt-get install openssh-server
Reading package lists... Done
Désactivation de l'autorisation de l'utilisateur root de se connecter, puis on autorise uniquement la connexion de l'utilisateur admin:


debian:~# vi /etc/ssh/sshd_config # Authentication:
LoginGraceTime 120 PermitRootLogin no
StrictModes yes.

AllowUsers admin

Prise en compte de la modification: on redémarre openssh-server


debian:~# /etc/init.d/sshd restart
Restarting OpenBSD Secure Shell server: sshd.
debian:~#
On vérifie l'activation de openssh:


debian:~# ps ax | grep sshd
17178 ?        Ss     0:00 sshd: root@pts/0
17218 ?        Ss     0:00 /usr/sbin/sshd
17250 pts/0    S+     0:00 grep sshd
debian:~#
Vérification du port d'écoute:


debian:~# netstat -ntl
Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
debian:~#

mardi 21 février 2012

Affichage de la table de routage ipv4 ou ipv6 sous debian

Pour ipv4:

marmotte#/bin/netstat -r

marmotte#ip route


 Pour ipv6:

marmotte#/sbin/ip -6 route

marmotte#/sbin/ip -6 route dev [interface]

 marmotte#/sbin/route -A inet6

marmotte#/sbin/route --inet6

lundi 20 février 2012

Configuration snmp - linux debian


Installation:
debian:/# apt-get install snmpd
Configuration du fichier snmpd.conf
debian:/# vi /etc/snmp/snmpd.conf
#On ajoute la ligne suivant pour l'écoute sur l'interface réseau (dans l'exemple 192.168.300.15)
agentAddress udp:192.168.300.15:161
#On modifie la communauté par défaut et on ajoute l'adresse du réseau
#de supervision ainsi que le sec.name souhaité
#(readonly à la place de paranoid pour avoir toute la mib)
#       sec.name  source          community
com2sec readonly  192.168.400.0/24        macom
#On vérifie le reste (dans notre cas, snmp en lecture seule et en version 2c
#               sec.model  sec.name
group MyROGroup v2c        readonly
#On autorise toute les mibs
#           incl/excl subtree                          mask
view all    included  .1                               80
#Enfin, la configuration du groupe
#                context sec.model sec.level match  read   write  notif
access MyROGroup ""      any       noauth    exact  all    none   none
On redémarre le service snmpd:
debian:/# /etc/init.d/snmpd restart
Il reste à vérifier par un snmpwalk à partir du serveur de supervision:
supervision:/# snmpwalk -v 2c -c macom 192.168.300.15

Installation d'un serveur asterisk


Installation en 2 minutes:
Architecture cible
Ci-dessous, l'architecture visée pour les tests:
ASTERISK ET IPBX
Installation du serveur AsteriskNOW

AsteriskNOW est un serveur basé sur une distribution Linux CentOS packagé et donc prêt à l'emploi.
Je vous rappelle l'URL du site d'asterisk.
Configuration:
Pour la configuration, deux fichiers nous intéressent:
sip.conf : c'est le fichier de configuration des clients sip qui accède au serveur.
extension.conf ou bien extension.ael : c'est le dial plan encore appelé plan de numérotation. Il donne les droits pour tel ou tel utilisateur d'appeler son oncle en Amérique ou sa tante en Suisse (ou pas si les numéros ne sont pas dans le plan de num ...)
Important: Suite au modification, il faut redémarrer l'application.
Voici la commande:
[root@localhost ~]# /etc/init.d/asterisk restart
Stopping safe_asterisk:                                    [  OK  ]
Shutting down asterisk:                                    [  OK  ]
Starting asterisk:                                         [  OK  ]
[root@localhost ~]#
Bien, ajoutons d'abord un client.
[root@localhost ~]# vi /etc/asterisk/sip.conf
Nous sommes dans le fichier sip.conf et nous ajoutons l'utilisatrice emma.
[emma]
type=friend
host=dynamic
defaultuser=emma
secret=mdpcompliqué
directmedia=no
context=telephone
Et puisque nous y sommes, ajoutons également l'IPBX ou la passerelle SIP qui va  être relié au serveur de test.
[gwsip]
type=peer
host=gwsip.mondomaine.fr
context=from-gwsip
Maintenant, allons voir du coté du plan de numérotation avec le fichier extension.ael (on aurait pu aussi prendre extension.conf).
Nous créons deux contextes. Le premier est le contexte telephone. Il n'y a qu'un seul numéro associé à ce contexte: c'est le numéro configuré sur notre IPBX en prod: 8001.
Le deuxième contexte est associé à notre trunk sip et renvoi vers l'utilisateur clema lorsque son numéro (1234) est composé.
context telephone {
8001 => {
 Dial(SIP/${EXTEN}@gwsip);
 Hangup();
 };

context from-gwsip {
1234 => {
 Dial(SIP/clema);
 Hangup();
 };
Nous redémarrons le service asterisk et c'est terminé.
Il reste peut être à configurer le téléphone de test associé à emma.
On utilisera par exemple le softphone Ekiga disponible sur le site Ekiga.
Configuration du softphone Ekiga
Suite à l'installation, on ajoute l'utilisateur emma. Le softphone va alors s'enregistrer auprès de l'IPBX déclaré (192.168.2.21 dans l'exemple).

Configuration du trunk SIP coté IPBX
Il reste maintenant à configurer l'IPBX vers le numéro de test 1234.

jeudi 16 février 2012

Mise à jour des ports avec cvsup en mode commande - Freebsd


Concerne la version FreeBSD-current release pour la mise à jour des sources.
Le port utilisé par cvsup est: 5999.
L'installation s'effectue en utilisant le port /usr/ports/net/cvsup-without-gui/
Puis make, make install
Ensuite, copier les fichiers /usr/share/examples/cvsup/standard-supfile et /usr/share/examples/cvsupports-supfile à un endroit à ta convenance.
Ajouter le serveur de mise à jour dans la  configuration pour les deux fichiers:
freebsd# vi /usr/local/etc/cvsup/standard-supfile
# IMPORTANT: Change the next line to use one of the CVSup mirror sites
# listed at http://www.freebsd.org/doc/handbook/mirrors.html.
*default host=cvsup2.fr.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_8_1
*default delete use-rel-suffix
Puis exécuter cvsup pour les fichiers:
freebsd# /usr/local/bin/cvsup -g -L 2 /usr/local/etc/cvsup/ports-supfile
freebsd# /usr/local/bin/cvsup -g -L 2 /usr/local/etc/cvsup/standard-supfile
Pour plus d'information et pour avoir la liste des serveurs de mise à jour:
http://www.freebsd.org/doc/fr/books/handbook/cvsup.html

mardi 7 février 2012

Vider un fichier sous linux


Testé avec le shell csh
linux# echo -n > lefichier.log

Utilisation du scanner de port nmap


Installation sous linux debian

root@pct#apt-get install nmap


Scan de port avec connexion TCP

root@pct#/usr/bin/nmap -sT @IP


Scan de port avec envoi de paquet SYN uniquement

root@pct#/usr/bin/nmap -sS @IP


Autres options de scan à l'aide de flags TCP (pour essayer de passer un éventuel pare-feu) : -sF, -sX, -sN
Scan de port UDP

root@pct#/usr/bin/nmap -Su @IP


Scan d'un port (dans l'exemple le port 80)

root@pct#/usr/bin/nmap -p 80 @IP


Scan d'un réseau (dans l'exemple le réseau 192.168.100.0/24)

root@pct#/usr/bin/nmap 192.168.100.0/24


Découverte de machine
root@pct# nmap -sP 192.168.1.0/24

Découverte du système d'exploitation d'une machine

root@pct#/usr/bin/nmap -O @IP


Autres options

-n : désactive la résolution de nom
-v : voir -vv mode bavard
-6 : scan d'adresse IPv6
-o fichier : enregistre le résultat dans un fichier

vendredi 3 février 2012

Table de correspondance - masque de sous réseau

Voici la correspondance entre les différentes notations des sous réseaux principalement utilisés et le nombre de machine adressable par sous-réseau.

Notation CIDR masque nombre d'hôtes binaire
/30 255.255.255.252 2 11111111.11111111.11111111.11111100
/29 255.255.255.248 6 11111111.11111111.11111111.11111000
/28 255.255.255.240 14 11111111.11111111.11111111.11110000
/27 255.255.255.224 30 11111111.11111111.11111111.11100000
/26 255.255.255.192 62 11111111.11111111.11111111.11000000
/25 255.255.255.128 126 11111111.11111111.11111111.10000000
/24 255.255.255.0 254 11111111.11111111.11111111.0000000
/23 255.255.254.0 510 11111111.11111111.11111110.00000000
/22 255.255.252.0 1022 11111111.11111111.11111100.00000000
/21 255.255.248.0 2046 11111111.11111111.11111000.00000000
/20 255.255.240.0 4094 11111111.11111111.11110000.00000000
/16 255.255.0.0 65534 11111111.11111111.00000000.00000000
/8 255.0.0.0 16777214 11111111.0000000.00000000.00000000

vendredi 27 janvier 2012

Configuration réseau linux redhat


Emplacement des scripts pour les interfaces réseaux

/etc/sysconfig/network-scripts




Nom du fichier pour la conf de l'interface eth0

/etc/sysconfig/network-scripts/ifcfg-eth0




Exemple de configuration

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.100.0
NETMASK=255.255.255.0
IPADDR=192.168.100.20
USERCTL=no
HWADDR=00:16:7e:12:49:5f




Emplacement et nom du fichier pour la configuration de la route par défaut

/etc/sysconfig/network




Exemple de configuration

NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=mondomaine.fr
GATEWAY=192.168.100.1




Configuration des DNS dans /etc/resolv.conf

search mondomaine.fr
nameserver 192.168.2.3
nameserver 192.168.4.5




Activation de la configuration

redhat#service network restart

lundi 23 janvier 2012

Adresse Mac par port sur un switch - mibs SNMP


Ce mémo s'appuie sur un document disponible sur le site cisco et utilise les mibs bridge-mib et if-mib.
Les commandes ont été testées sur un switch Cisco.

La communauté est Public et le numéro IP du switch est 192.168.100.1.

1 - On récupère les différents vlans présents sur le switch:
#snmpwalk -v2c -c Public 192.168.100.1 .1.3.6.1.4.1.9.9.46.1.3.1.1.2

La sortie est du type: SNMPv2-SMI::enterprises.9.9.46.1.3.1.1.2.1.510 = INTEGER: 1


2 - Pour chaque vlan, on récupère les adresses mac traitées par le switch associées aux ports du vlan . Dans l'exemple ci-dessous, on remarquera le numéro de vlan qui suit le nom de communauté SNMP.
#snmpwalk -v2c -c Public@510 192.168.100.1 .1.3.6.1.2.1.17.4.3.1.1

La sortie est du type: SNMPv2-SMI::mib-2.17.4.3.1.1.0.21.199.67.152.109 = Hex-STRING: 00 16 C6 43 00 6D


3 - On récupère le numéro des ports "bridge" correspondant aux numéros des ports du vlan.
#snmpwalk -v2c -c Public@510 192.168.100.1 .1.3.6.1.2.1.17.4.3.1.2

la sortie est du type: oid.numero_de_port = SNMPv2-SMI::mib-2.17.4.3.1.2.0.21.198.67.152.109 = INTEGER: 1


4 - On récupère l'association des numéros des ports "bridge" avec les ID des ports du switch.
#snmpwalk -v2c -c Public@510 192.168.100.1 .1.3.6.1.2.1.17.1.4.1.2

La sortie est du type: SNMPv2-SMI::mib-2.17.1.4.1.2.1 = INTEGER: 10001


5 - On récupère l'association de l'ID du port du switch et le nom du port.
#snmpwalk -v2c -c Public@510 192.168.100.1 .1.3.6.1.2.1.31.1.1.1.1

La sortie est du type: IF-MIB::ifName.10001 = STRING: Fa0/1


6 - Il reste à associer les informations obtenues.

samedi 21 janvier 2012

Comment vérifier une empreinte md5 ou sha


Commande pour vérifier l'intégrité du fichier mini.iso

Avec l'algorithme md5:

linux@clem:~/Desktop$ /usr/bin/md5sum mini.iso
 1f497d52bb97c03810d3e87d8ecf5d94  mini.iso




Avec l'algorithme sha-1:

linux@clem:~/Desktop$ /usr/bin/sha1sum mini.iso
 8469402b2214794edff7b459db1e93418fb39b69  mini.iso

Pour stocker l'empreinte dans un fichier:
 linux@clem:~/Desktop$ /usr/bin/md5sum mini.iso > nom_du_fichier

vendredi 20 janvier 2012

Rercherche avancée dans google


Les options de recherche peuvent être combinées.

Les opérateurs sont:
* : permet de remplacer plusieurs caractère
"expression littérale" : permet de rechercher l'ensemble d'une chaine de caractère
OR ou bien | : opérateur ou
NOT ou - : négation, exclut un résultat de la recherche

Recherche dans le titre des pages
intitle:

Recherche dans le corps de la page
intext:

Recherche de type de fichier particulier (pdf, jpeg, ..)
filetype:

Recherche des pages ou apparait un lien précis
link:

Recherche d'une extension particulière (pdf, doc, xls, ...)


ext:

Recherche dans l'URL


inurl:
Recherche à la racine d'un serveur


intitle:"Index Of"
Recherche sur un site


site:

mardi 17 janvier 2012

Queques commandes ipv6 sous windows


Affichage des adresses IP
netsh interface ipv6 show address

affichage de la table de routage
netsh interface ipv6 show route


affichage des serveurs dns
netsh interface ipv6 show dns


Adresse IP sur l'interface "réseau local 2"
netsh interface ipv6 add address
"connexion au réseau local 2"  2001:xxx:3200:5210::2


route par défaut
netsh interface ipv6 add route ::/0
"connexion au réseau local 2" nexthop= 2001:xxx:3200:5210::1 publish=yes


Pour supprimer la route par défaut
netsh interface ipv6 delete route ::/0
"connexion au réseau local 2"

dimanche 15 janvier 2012

Utilisation commande dig


Voici quelques exemples d'utilisation de la commande dig. Cette commande permet de tester la résolution de nom.

Résolution simple:

# dig www.free.fr
;; ANSWER SECTION:
 www.free.fr.        77611    IN    A    212.27.48.10
;; Query time: 2 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sun Nov 28 14:33:40 2010
;; MSG SIZE  rcvd: 45




Interrogation d'un serveur DNS précis  pour une résolution (dans l'exemple 213.203.124.146)

 # dig @213.203.124.146 www.free.fr
;; QUESTION SECTION:
 ;www.free.fr.            IN    A

 ;; ANSWER SECTION:
 www.free.fr.        13483    IN    A    212.27.48.10

 ;; Query time: 43 msec
 ;; SERVER: 213.203.124.146#53(213.203.124.146)
 ;; WHEN: Sun Nov 28 14:37:02 2010
 ;; MSG SIZE  rcvd: 45




Affichage d'un type d'enregistrement dns (ns, mx, aaaa, ptr, ...)

# dig -t ns free.fr ;; ANSWER SECTION:
 free.Fr.        2911    IN    NS    freens2-g20.free.Fr.
 free.Fr.        2911    IN    NS    freens1-g20.free.Fr.

 ;; ADDITIONAL SECTION:
 freens1-g20.free.Fr.    78214    IN    A    212.27.60.19
 freens2-g20.free.Fr.    78214    IN    A    212.27.60.20

 ;; Query time: 44 msec
 ;; SERVER: 192.168.1.1#53(192.168.1.1)
 ;; WHEN: Sun Nov 28 14:41:47 2010
 ;; MSG SIZE  rcvd: 109




Aide

#dig -h
# man dig

mardi 10 janvier 2012

Exemple de règle de pare-feu ip6tables


Les règles sont équivalentes aux règles iptables pour ipv4


# $IP: variable désignant un réseau ou une adresse ipv6
#Pour vider les tables
/sbin/ip6tables -F OUTPUT
/sbin/ip6tables -F INPUT
/sbin/ip6tables -F FORWARD


#règles par défaut
/sbin/ip6tables -t filter -P INPUT DROP
/sbin/ip6tables -t filter -P FORWARD DROP
/sbin/ip6tables -t filter -P OUTPUT ACCEPT


#Interface locale
/sbin/ip6tables -A INPUT -i lo -j ACCEPT


#On accepte les paquets icmp provenant de $IP
/sbin/ip6tables -A INPUT -p icmpv6 -s $IP  -j ACCEPT


#On accepte les connexions ssh
/sbin/ip6tables -A INPUT -p tcp  -s $IP --dport 22 -j ACCEPT


#Le retour est automatiquement pris en compte dans le cas de connexions établie.
/sbin/ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


#Les connexions en entrée sont enregistrées.
/sbin/ip6tables -A INPUT -j LOG

mercredi 4 janvier 2012

Mémo sur cron


Afficher la table :
crontab -l

Editer la table:
crontab -e

Les fichiers qui correspondent à la commande crontab -e se trouve dans /var/spool/cron

Format de la table:
mm hh jj MM JJ commande
mm: minutes
hh: heure
jj: jour (de 1 à 31)
MM: mois (de 1 à 12)
JJ : jour de la semaine (0 à 7, 0 étant le dimanche)

Par exemple, la commande ntpdate s'exécute toutes les 30 minutes:
*/30 * * * * /usr/sbin/ntpdate ntp.monserver.fr > /dev/null 2>&1

lundi 2 janvier 2012

Configuration réseau IPv4 IPv6 Linux debian


Configuration IP:


ouvrir le fichier /etc/network/interfaces


marmotte:/# more /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.100.240
gateway 192.168.100.1
netmask 255.255.255.0
iface eth0 inet6 static
address 2001:650:25xx:140::145
netmask 64
gateway 2001:650:25xx:140::1


Configuration DNS

ouvrir le fichier /etc/resolv.conf
moustique:/# more /etc/resolv.conf
search mon.domaine
nameserver 2001:650:26xx::12
nameserver 2001:650:26xx::13
nameserver 192.168.100.5

Comment ajouter une route statique sur une distribution Linux Ubuntu

Pour ajouter une route statique au démarrage d'Ubuntu, voici le fichier à modifier. Dans l'exemple on ajoute une route pour joindre ...