• Catégories

Microsoft Exchange

Exchange 2003 (english)

Exchange 2003 (docs)

Travaux pratiques

Microsoft

SUPINFO

Divers

SGBD

Operating systems

Le démarrage et les services RC sous Linux

Le processus de démarrage d’un système est un élément important à bien maitriser pour toute personne ayant l’ambition de devenir un jour l’administrateur d’un système Debian ou de toute autre distribution Linux.

Au démarrage de la machine, le BIOS (chargé en mémoire morte : la ROM (Read Only Memory))active le chargeur.
Le chargeur active le système d’exploitation installé ou propose d’activer un des systèmes d’exploitation déjà installé sur la machine, en cas de configuration multi-boot.
Le noyau du système (Kernel) active ensuite le 1er programme de démarrage /sbin/init dont le PID vaut toujours 1, car init est l’ancêtre de tous les processus système.

Le fichier /sbin/init consulte le fichier /etc/inittab pour connaitre l’ordre dans lequel il doit démarrer les processus du système.

Le schéma de lancement des processus a donc l’aspect d’un arbre généalogique ayant plusieurs niveaux, numéroté de 0 à 6 en pour une grande majorité des distributions Linux et de 0 à 2 pour les systèmes Debian. Ces niveaux dans l’arborescence de démarrage des processus systèmes sont appelés niveaux d’init, Run Level, ou encore RC (Run Commands) en référence à l’ancien système de lancement des processus système sous Unix version 7.

Runlevel ou niveaux d’init sous Linux

Parmi les 7 niveaux d’init (runlevel) d’un système Linux, certains niveaux correspondent à une utilisation particulière

  • 0 arrêt du système
  • 1,SSsignifie synonyme. C’est le runlevel du mode maintenance (mono-utilisateur)
  • 2,3,4,5 les niveaux d’init multi-utilisateurs
  • 6 le niveau de redémarrage du système

RC alias service

Un RC est est un processus qui se lance au démarrage du système à un niveau d’init (runlevel) et se termine à un autre niveau d’init (runlevel). Un service est constitué au minimum :

  • d’ un fichier de script répertorié dans /etc/init.d
  • d’un lien symboliques de démarrage comme S10service placé dans l’un des 6 répertoires /etc/rc0.d/, /etc/rc1.d/, /etc/rc2.d/, /etc/rc3.d/, /etc/rc4.d/, /etc/rc5.d/. Chaque répertoire contient les liens symboliques des scripts à démarrer ou à terminer. S est mis pour indiquer le démarrage (Start), et le chiffre qui suit (10) donne l’ordre d’exécution du service au sein du runlevel concerné.
  • d’un lien symboliques pour l’arrêt du service (kill), par exemple K20service placé dans l’un des 6 répertoires /etc/rc1.d/, /etc/rc2.d/, /etc/rc3.d/, /etc/rc4.d/, /etc/rc5.d/, /etc/rc6.d/. K est mis pour indiquer le Kill du service (son arrêt), et le chiffre qui suit (ici 20) donne l’ordre d’arrêt du service au sein du runlevel concerné.

Les commandes de gestion des runlevels ( niveaux d’init )

Les commandes telinit et runlevel sont accessibles uniquement par l’administrateur (compte root).

runlevel

affiche le runlevel courant.

grep initdefault /etc/inittab

affiche le runlevel au démarrage, sous Debian, on est en runlevel 2. Ici on utilise le format du fichier inittab en cherchant la ligne contenant initdefault.

grep -e '^[^:]*:[^:]2*' -e '^[^:]*::' /etc/inittab

affiche les programmes associés au niveau d’init 2

shutdown -h +20

h signifie halt, le système s’arrêtera complètement dans 20 minutes

shutdown -c

interruption de l’arrêt déclenché par la commande précédente (doit être exécute à partir d’un autre terminal)

shutdown now

passe en mode maintenance

telinit 2

repasse en runlevel 2.

Les commandes de gestion des services

/etc/init.d/apache2 start
/etc/init.d/apache2 stop

arrête le service Apache2

/etc/init.d/apache2 reload

recharge la configuration du service Apache2

/etc/init.d/apache2 restart

redémarre le service Apache2

source : http://www.admin-debian.com

Best practices (sécurité)

Utilisez un tapis et un bracelet antistatiques.

Utilisez des sacs antistatiques pour ranger et déplacer les composants informatiques. Ne placez pas plus d’un composant par sac, car le fait de les empiler peut les casser ou affecter le montage.

Ne retirez ou n’installez aucun composant lorsque l’ordinateur est sous tension.

Procédez souvent à des mises à la terre en touchant une pièce métallique du châssis ou de l’alimentation. Cela empêche la charge électrostatique de s’accumuler.

Travaillez sur un sol nu, car les tapis peuvent accumuler l’électricité statique.

Tenez les cartes par les côtés pour éviter tout contact avec les puces ou les connecteurs des cartes d’extension.

Ne touchez pas les puces ou les cartes d’extension avec un tournevis aimanté.

Mettez l’ordinateur hors tension avant de le déplacer. Cette opération sert à protéger le disque dur, qui tourne toujours lorsque l’ordinateur est sous tension.

Gardez les CD d’installation et de maintenance, ainsi que les disques loin des champs magnétiques, à l’abri de la chaleur et du froid.

Ne placez jamais une carte à circuit imprimé sur une surface conductrice, notamment une feuille métallique. Les piles au Lithium et au Nickel Cadmium (Ni-Cad) utilisées sur les cartes peuvent s’épuiser.

N’utilisez pas un crayon ou un instrument à pointe métallique pour changer les commutateurs DIP ou pour toucher les composants. La mine de plomb du crayon conduit le courant et peut causer des dommages.

Ne laissez pas des personnes qui ne sont pas correctement mises à la terre toucher ou manipuler des composants informatiques. Cette règle doit s’appliquer même lorsque vous effectuez des travaux pratiques avec un partenaire. Avant de passer des composants, touchez-vous toujours la main pour neutraliser les charges.

Réparer le MBR (Master Boot record)

Le MBR, pour faire simple, correspond à la première partie d’un disque qui se trouve sur le premier secteur de la première piste de la première face. Il vérifie s’il existe une partition active, les tables de partition et une fois ces vérifications faites, charge en mémoire le secteur boot de la partition active (boot.ini pour Windows, Lilo ou Grub pour Linux).

Vous comprenez donc pourquoi il est vital au démarrage du système. Dans le cas où vous obtenez cette erreur, hormis le fait d’avoir laissé une disquette dans son lecteur (ce qui arrive assez souvent), il faut recréer le MBR avec la commande fixmbr.

fixmbr \device\harddisk0
(on répare le code de démarrage principal de la partition de démarrage) puis appuyez sur la touche « Entrée ».
Si vous possédez deux disques durs, l’option : \device\harddisk0 correspond au premier disque dur, \device\harddisk1 au deuxième, etc (voir avec la commande map).
A noter : si vous n’avez qu’un seul disque dur, vous pouvez passer la commande sans paramètre : fixmbr
La console vous propose un choix pour le remplacement, tapez : O (oui) puis appuyez sur la touche « Entrée ».
Voilà, c’est aussi simple que ça.
– exit
(pour quitter la console) puis appuyez sur la touche « Entrée ».

Ce qui donne en image dans votre console :

A savoir : cette commande va souvent de pair avec la commande fixboot, c’est à dire que l’on répare le secteur de démarrage de la partition système et ensuite le secteur de démarrage principal.

source : http://www.zebulon.fr/

Réparer le secteur de boot

Il peut arriver d’avoir ce type d’erreur : NTLDR Manquant

NTLDR.DLL (NT Loader) est une bibliothèque qui a pour tâche au lancement de windows XP de charger le « kernel » (noyau du système) ainsi que la HAL (Hardware Abstraction Layer), c’est-à-dire (pour faire simple) le système d’exploitation. Ainsi, si cette bibliothèque est manquante, il vous sera très compliqué de pouvoir démarrer votre PC.

Nous allons utiliser la commande : fixboot
fixboot
(restaure le secteur de boot) puis appuyez sur la touche « Entrée ».
Si vous n’indiquez pas la lettre du disque, ce sera la partition système qui sera concernée. Pour éviter tout problèmes (dans le cas où la partition de boot et la partition système sont distinctes), il est préférable de préciser la lettre de votre partition : fixboot c:
Appuyez ensuite sur la touche « Entrée ».
– Répondez O
(« oui » à la demande de confirmation d’écriture du secteur de boot) puis appuyez sur la touche « Entrée ».
– exit
(pour quitter la console) puis appuyez sur la touche « Entrée ».

Ce qui donne en image dans votre console :

Redémarrez votre système, si tout fonctionne, c’est parfait 🙂

Mais, il est aussi possible que cela ne fonctionne pas 😦 Dans ce cas, nous allons essayer une autre solution en faisant une nouvelle copie de vos fichiers NTLDR et NTDETECT.COM.
Compte tenu que nous avons besoin du CD d’installation pour récupérer les fichiers, nous allons utiliser la commande map pour connaître la lettre de votre lecteur de CD. C’est parti !

Tapez :
map
(indique les périphériques actifs) puis appuyez sur la touche « Entrée ».
Ce qui nous intéresse ici, ce sont les lecteurs de CD qui nous permettront de passer les commandes suivantes.

Maintenant que nous connaissons les lettres de lecteurs de CD, insérez votre CD d’installation (ici la lettre D) et tapez les commandes suivantes :
d:
(permet d’aller sur le lecteur de CD) puis appuyez sur la touche « Entrée ».
On se retrouve directement dans le prompt du lecteur de CD (D:\>)
cd i386
(nous allons dans le répertoire où se trouvent les fichiers) puis appuyez sur la touche « Entrée ».
copy ntldr c:\ntldr
(on copie le fichier et nous le plaçons à la racine de C:) puis appuyez sur la touche « Entrée ».
La console vous propose un choix pour le remplacement, tapez : O (oui) puis appuyez sur la touche « Entrée ».

On fait de même pour NTDETECT.COM
copy ntdetect.com c:\ntdetect.com
(on copie le fichier et nous le plaçons à la racine de C:) puis appuyez sur la touche « Entrée ».
La console vous propose un choix pour le remplacement, tapez : O (oui) puis appuyez sur la touche « Entrée ».
Voila, c’est terminé. Enlevez votre CD d’installation du lecteur de CD et tapez :
– exit
(pour quitter la console) puis appuyez sur la touche « Entrée ».

Ce qui nous donne en image :

En principe, tout devrait refonctionner en redémarrant le système.

source : http://www.zebulon.fr/

Cracker un MDP user

  • Booter sur une distribution Ubuntu live
  • Mettre un password au root
  • Se loguer en root
  • Créer un dossier temporaire sous la racine

cd  /
mkdir /temp

Monter le Disque Dur de la machine sur le dossier temporaire
mount   /dev/sda1  /temp

Ici on suppose que le Disque Dur est un serial, il porte le nom « a » et « 1 » est le N° de la partition qu’on a montée, car « sda1 » veut dire :
s : serial – d : device – a : lettre du hdd – 1 : N° de la partition

Donc ses infos peuvent changer selon le disque dur

Modifier le fichier « shadow » en supprimant le MDP de l’utilisateur (voir aussi celui du le root)
nano etc/shadow

Une fois fait, démonter le Disque Dur
umount  /dev/sda1

Commande de base VI

Premier éditeur de texte plein écran pour les systèmes Unix, vi est simple, compact et efficace. Même s’il n’est pas très convivial, vi est disponible sur tous les O.S. , voir www.vim.org .

Commande de lancement:

  • vi ouvre un fichier non nommé.
  • vi pim pam poum Édition successive des trois fichiers ( :n pour passer au suivant )
  • vi -r fic Permet de récupérer la copie de secours (en cas de pépin).
  • vi -R fic Édition en mode lecture seule (READ-ONLY)
  • vi +n fic Ouvre le fichier en se positionnant directement à la ligne n

Se déplacer dans le texte

Les quatres flèches sont utilisables sur la plupart des versions, mais il vaut mieux utiliser les touches [h], [j], [k] et [l].

Les modes de VI

Deux modes : le mode d’insertion et le mode de commande.

Mode insertion

Pour passer en mode insertion:

  • tapez i ou [Insert] pour insérer du texte à l’endroit où se trouve le curseur,
  • tapez A pour ajouter du texte à la fin d’une ligne.

En mode insertion, vous pouvez taper du texte, effacer avec la touche [Suppr] ou [Bkspace]. Pour échapper au mode insertion , tapez [Esc].

Les commandes de base du mode normal

  • :q! [Entrée] pour quitter sans sauver,
  • :w [Entrée] pour enregistrer,
  • :wq [Entrée] pour enregistrer et quitter,
  • x efface le caractère qui se trouve sous le curseur,
    4x efface les 4 caractères à partir de la position du curseur,
  • dd efface la ligne sur laquelle se trouve le curseur,
    6dd efface les 6 lignes à partir de la position du curseur,
  • :u[Entrée] permet d’annuler (ou :undo).
  • u pour revenir en arriére (undo)
  • rx Remplace le caractère courant par le caractère x
  • s Remplace le caractère courant (substitution)
  • cw Remplace le mot courant ou suivant ( change word)
  • cb Remplace le mot courant ou précédent
  • S ou cc Remplace tous les caractères de la ligne courante
  • C Remplace la fin de la ligne courante ( depuis le curseur )

Les commandes de base du mode insertion

  • a Ajouter du texte après le curseur
  • A Ajouter du texte en fin de ligne courante
  • i Insérer du texte avant le curseur
  • I Insérer du texte en début de ligne
  • o ou O Créer une ligne vierge sous ou au dessus du curseur
  • R Remplacer le texte à partir du curseur
  • n[s] Supprime n caractères et passe en mode insertion
  • [CTRLh] ou [<-] efface la lettre précédente
  • [CTRLw] efface le mot précédent
  • [CTRLv][CTRLM] pour écrire ^M

Effacer du texte

  • ndd Efface n lignes à partir de la ligne courante (dd efface la ligne courante)
  • D Supprime la fin de la ligne courante ( depuis le curseur )
  • nx Efface n caractères à partir du caractère courant (x efface juste le caractère courant)
  • X Supprime le caractère juste avant le curseur
  • ndw ou ndb Efface les n mots suivants ou précédents, à partir du mot suivant
  • d/str Efface tout depuis le curseur jusqu’à la première occurence de str

Commandes sur les fichiers

  • :nfichier Ouvre le fichier fichier
  • :q! Quitter vi sans enregistrer les modifications
  • ZZ ou :wq ou [:x] Enregistrer et quitter
  • :sh Ouvre un shell ; après avoir tapé exit dans ce shell, on revient à vi
  • :filenom Change le nom du fichier courant, équivalent à « enregistrer sous » lorsque vous enregistrerez.
  • [:x,yw fichier] Enregistre les lignes x à y dans le fichier fichier
  • [:x,yw>>fichier] Ajoute les lignes x à y à la fin du fichier fichier
  • :q Quitter vi
  • :w Sauvegarde le fichier courant
  • :w fic Sauvegarde le fichier courant dans le fichier fic
  • :w! fic Force la sauvegarde du fichier courant dans le fichier fic
  • ! pour passer outre

Mouvements du curseur

  • h, l, k,j Déplace le curseur d’un caractère vers la gauche, la droite, le haut, le bas
  • nb ou nw Déplace le curseur de n mots vers la gauche ou vers la droite.
  • nG Aller à la ligne n
  • CtrlB, CtrlF ou Page up, Page down Ecran précédent, suivant
  • n| Aller à la colonne n
  • zEntrée Positionner la ligne courante en haut de l’écran
  • 0 ou | Place le curseur en début de ligne
  • ^ ou _ Place le curseur sur le premier caractère différent de l’espace et de la tabulation
  • $ Place le curseur en fin de ligne
  • H Place le curseur en première ligne de la fenêtre (HEAD)
  • nH Place le curseur en nième ligne de la fenêtre en partant du haut
  • M Place le curseur au milieu de la fenêtre
  • L Place le curseur en denière ligne de la fenêtre
  • w Place le curseur sur le premier caractère du prochain mot à droite
  • b Place le curseur sur le premier caractère du mot courant puis du précédent mot à gauche
  • e Place le curseur sur le dernier caractère du mot courant puis du prochain mot à droite
  • W Place le curseur sur le premier caractère du prochain mot à droite
  • B Place le curseur sur le premier caractère du mot courant puis du précédent mot à gauche
  • E Place le curseur sur le dernier caractère du mot courant puis du prochain mot à droite
  • G Se positionner en fin de fichier

Chercher et copier

  • /str[Entrée] Rechercher str
  • /^str[Entrée] Chercher la prochaine ligne qui commence avec str
  • nyy ou nY Copie n lignes (yy copie la ligne courante) dans le buffer
  • y/str Copie depuis le caractère courant, jusqu’avant str, dans le buffer
  • ynw Copie n mots à partir du mot courant, dans le buffer (yw copie le mot courant)
  • p ou P Colle le contenu du buffer après ou avant le curseur (p en dessous P au dessus)
  • [:x,yg/chaine/com] Rechercher entre les lignes x et y (optionnel) la chaîne chaine et exécuter la commande com sur chaque occurence

Autres commandes

  • n<< ou n>> Indente n lignes vers la gauche ou vers la droite
  • r Remplacer le caractère sous le curseur par un caractére ( r c)
  • ~ Transforme les minuscules en majuscules et vice-versa
  • xp Echange le caractère courant avec le suivant
  • d'' Efface tout de la ligne d’où on est parti par G jusqu’à la ligne courante
  • yy Copie la ligne courante
  • y'' Copie tout de la ligne d’où on est parti par G jusqu’à la ligne courante
  • :%!sort Trie le fichier en cours d’édition (% pour toutes les lignes du fichier, : c’est une commande)
  • Ctrl rr : double undo

Les options de configuration

  • :set [option] pour activer une option
  • :set no[option] pour desactiver une option
  • :set all affiche toutes les options et leur valeur
  • :set affiche toutes les options qui n’ont pas leur valeur par défaut
  • :set [option]? affiche la valeur de l'[option]

Description des options le plus courantes :

Nom Nom long Défaut Description
ai autoindent noai indentation automatique
aw autowrite noaw écriture si besoin avant changement de fichier par :n
eb errorbells eb chaque message d’erreur est précédé d’un bip
dir=d directory /tmp/ répertoire temporaire
ic ignorecase noic ne fait pas de difference minuscule/majuscule lors des recherches et des remplacements
magic magic utilise les expressions régulières lors des recherches et des remplacements
nu number nonu numérote les lignes
remap remap autorise l’usage des macros dans les macros
ro readonly noro passe le fichier en mode lecture seule
sh=sh shell /bin/sh indique quel shell utiliser
sm showmatch nosm visualise les correspondances {} ()
showmode noshowmode affiche le mode actuel sur la ligne du bas
sw=n shiftwidth 8 fixe à n le nombre d’espaces de l’indentation
term affiche le type du terminal
ts=n tabstop 8 taille d’une tabulation
wm=n wrapmargin 0 la césure automatique des lignes se fait a n colonnes du bord droit de la fenêtre

Le fichier de configuration

  • Un exemple de fichier $HOME/.exrc :
set autoindent
set number

Attributs de fichiers

SWAP : Mémoire vive créée sur le DD = environ 2 fois la RAM physiqueIl existe pour le système de fichiers Second Extended Filesystem (ext2) donc également pour le Third Extended Filesystem (ext3) des attributs de fichiers trop peu connus, et pourtant très pratiques.

Pour visualiser ou fixer ces attributs, nous avons à notre disposition deux commandes (contenues dans e2fsprogs), lsattr et chattr.

lsattr

Permet de lister les attributs. Les différentes invocations:

lsattr [ files … ] [ dir … ]
Affiche les attributs des fichiers donnés, des fichiers des dossiers donnés, des fichiers du dossier courant.

lsattr -d [ dir … ]
Affiche les attributs des dossiers donnés, ou du dossier courant plutôt que ceux de leur contenu.

lsattr -a
Liste les attributs de tous les fichiers.

lsattr -R dir
Liste récursivement les attributs des fichiers.

chattr

Permet de fixer les attributs. Les différentes invocations:
chattr +attr file
chattr -attr file
chattr =attr file

Sur le même principe de fonctionnement que chmod
+attr ajoute l’attribut
-attr retire l’attribut
=attr ne laisse que les attributs donnés

L’option -R permet de changer récursivement les attributs.

Les attributs

Ils sont au nombre de seize, tous identifiables par une lettre [ASacDdIijsTtuEXZ]

-A : La date de dernier accès n’est pas mise à jour (uniquement utile pour réduire les accès disque sur les portables)

-S : Le fichier est synchrone, les écritures dans le fichier sont immédiatement effectuées sur le disque. (équivalent à l’option sync de mount appliquée à un sous-ensemble de fichiers)

-a :Le fichier ne peut être ouvert qu’en ajout pour l’écriture (fichiers journaux, etc. Seule la redirection >> peut être utilisée, le fichier ne peut être supprimé. Seul l’utilisateur root ou un programme disposant des droits nécessaires peut changer cet attribut.

-c :Le fichier est automatiquement compressé avant l’écriture sur le disque, et décompressé avant la lecture.

-D :Le dossier est synchrone (cf: -S) (équivalent à l’option dirsync de mount sur un sous ensemble de dossiers)Utilisable à partir du noyau 2.5.19

-d :Le fichier ne sera pas sauvegardé par la commande dump

-I :Ne peut être fixé par chattr, uniquement listé par lsattr Indique que le dossier est indexé.

-i :Le fichier/répertoire ne peut être modifié, effacé, renommé ou lié symboliquement, pas même par root. Seul root ou un binaire possédant les droits nécessaires peut fixer cet attribut.

-j :EXT3 uniquement.Si le système de fichier est monté avec l’option « data=ordered » ou « data=writeback », toutes les données du fichier sont écrites sur le journal avant d’être écrites dans le fichier lui-même.Si le système de fichier est monté avec l’option « data=journal », toute les données de tous les fichiers sont déjà dans le journal, l’attribut est sans effet.Seul root ou un binaire possédant les droits nécessaires peut fixer cet attribut.

-s :Quand le fichier est détruit, tous les blocs de données libérés sont mis à zéro.

-T :Utilisable à partir de la version 2.5.46 du noyau.

-t :Concerne la fragmentation.Ceci n’est pour le moment pas implémenté sur l’ext2 et l’ext3 à ma connaissance.

-u :Si le fichier est effacé, son contenu est sauvegardé, cela permet à l’utilisateur de demander sa restauration.

-E :Expérimental, permet de détecter une erreur de compression, ne peut être fixé par chattr, mais peut être listé par lsattr

-X :Expérimental, indique que les données brutes d’un fichier compressé peuvent être accédées directement.Ne peut pour le moment être fixé par chattr

-Z :Expérimental, donne des informations sur l’état d’un fichier compressé.peut être uniquement listé par lsattr