LINUX. Rahal ROMADI, ENSIAS



Documents pareils
Aide-Mémoire unix. 9 février 2009

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

TP1 - Prise en main de l environnement Unix.

«Astrophysique et instrumentations associées» Cours UNIX Benoît Semelin

Introduction au Système d Exploitation Unix/Linux


Table des matières Hakim Benameurlaine 1

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

Projet Administration Réseaux

Bon ben voilà c est fait!

1 Configuration réseau des PC de la salle TP

Premiers pas en Linux

Unix/Linux I. 1 ere année DUT. Université marne la vallée

SYSTÈME DE GESTION DE FICHIERS

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Le service FTP. M.BOUABID, Page 1 sur 5

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

TP 1 Prise en main de l environnement Unix

ETI/Domo. Français. ETI-Domo Config FR

Administration UNIX. Le réseau

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

La Comptabilité UNIX System V Acctcom

Outils pour la pratique

Microsoft Windows NT Server

LINUX REMPLAÇANT WINDOWS NT

Symantec Backup Exec Remote Media Agent for Linux Servers

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

Les commandes relatives aux réseaux

Axel Remote Management

Introduction. Adresses

Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva

Protocoles DHCP et DNS

C.M. 1 & 2 : Prise en main de Linux

L annuaire et le Service DNS

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

TP 4 de familiarisation avec Unix

Comment configurer Kubuntu

Mise en place d'un Réseau Privé Virtuel

Serveur de sauvegardes incrémental

UBUNTU Administration d'un système Linux (4ième édition)

Installation d ORACLE 10g sous Debian Etch

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix

1 Démarrage de Marionnet

Cours Unix 1. Présentation d UNIX. Plan du cours 1

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Chapitre 2 Accès aux partages depuis votre système d'exploitation

FreeNAS Shere. Par THOREZ Nicolas

Linux LTE 2 - ISSBA. Année universitaire Linux Réseau et Archivage. Jean-Michel RICHER Faculté des Sciences, H206 1

TP 1 et 2 de Réseaux en Master 1 Informatique : Assemblage d un réseau, configuration d adresses IP sous Linux et Windows

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

I. Présentation du serveur Samba

ASR4 Réseaux Département Informatique, IUT Bordeaux 1. DHCP Prénom : Nom : Groupe :

UBUNTU. Administration d un système Linux. 4 ième édition. Nouvelle édition. Luc DEMARET Sébastien ROHAUT

Présentation du SC101

Installation de Windows 2003 Serveur

La mémoire. Un ordinateur. L'octet. Le bit

TP1 : Initiation à l algorithmique (1 séance)

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Environnements informatiques

Introduction au protocole FTP. Guy Labasse

Q-Checker pour V6 Release 2.1

Projet Semestre2-1SISR

Année Cours Unix-Shell. par. Karam ALLALI. Ecole Spéciale d Informatique

NON URGENTE TEMPORAIRE DEFINITIVE OBJET : RÉCUPÉRATION DES DONNÉES CLIENT SUR DISQUE DUR DÉFECTUEUX OU INVALIDÉ

But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes

Module : Informatique Générale 1. Les commandes MS-DOS

Sauvegarder automatiquement ses documents

Administration du site (Back Office)

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Installation de Windows 2000 Serveur

Activité 1 : Création et Clonage d'une première machine virtuelle Linux OpenSuSE.

TP : Introduction à TCP/IP sous UNIX

1. Présentation du TP

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

Présentation du modèle OSI(Open Systems Interconnection)

I. Adresse IP et nom DNS

TP administration système

Mise en place d'un serveur FTP avec vsftpd / pureftpd sous netbsd 3.1. Compte-rendu

But de cette présentation

Ajout et Configuration d'un nouveau poste pour BackupPC

Contents. 1 Premiers pas en Linux. 1.2 Généralités. 1.1 Bref historique Linux

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Manuel d utilisation NETexcom

Couche application. La couche application est la plus élevée du modèle de référence.

TP 1 : prise en main de Windows. TP 1 : prise en main de Windows

Instructions d'installation de IBM SPSS Modeler Server 16 pour UNIX

TAGREROUT Seyf Allah TMRIM

TABLEAU CROISE DYNAMIQUE

Chapitre 3 Configuration et maintenance

Séance n o 5 : Alternatives, gestion des utilisateurs et des processus

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Shell Bash Niveau débutant

SOMMAIRE. Travailler avec les requêtes... 3

Installation d'un serveur sftp avec connexion par login et clé rsa.

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

Transcription:

1 LINUX Rahal ROMADI, ENSIAS

2 unité 1 Commandes de base

Commandes liées à l arborescence La commande pwd Affiche le nom du répertoire courant La commande ls Affiche les fichiers et sous-répertoire d un répertoire Syntaxe : ls [option] [nom_de_répertoire] Options utils F: ajout d une indication de type l : affiche les principaux attributs des fichiers et répertoires Type droits liens propriétaire groupe taille date nom a : affiche les fichiers et répertoires dont le nom commence par un point. d : n affiche pas le contenu du répertoire R : affichage récursif

Commandes liées à l arborescence La commande cd (change directory) Permet un déplacement sous le répertoire passé en argument Syntaxe : cd [nom_répertoire] Exemple - cd ou cd ~ - cd.. - cd nom_répertoire - cd - - Dans le cas d un chemin relatif, le répertoire est recherché à partir du répertoire courant ou en utilisant la variable CDPATH.

Commandes générales sur les fichiers Création d un fichier vide touch nom_fichier > nom_fichier Affichage du contenu d un fichier (texte) cat nom_fichier [nom_fichier, ] Copier un fichier cp fichier1 fichier2 cp fichier1 [fichier2 fichier3 ] répertoire cp R répertoire1 répertoire2 Renommer ou déplacer un fichier mvfichier1 fichier2 mvfichier1 [fichier2 fichier3 ] répertoire

Commandes générales sur les fichiers Supprimer un fichier rm [options] fichier1 [fichier2 ] Options utils i : affiche une demande de confirmation de suppression r : suppression récursive (attention aucune demande de confirmation) f : devient importante lorsqu on cherche à supprimer des fichiers appartenant à un autre propriétaire

Commandes générales sur les fichiers Affecter plusieurs noms à un fichier Liens ln fichier1 fichier2 Liens symboliques ln s répertoire1 répertoire2

Gestion des répertoires Créer un répertoire mkdir nom_rép [nom_rép ] Remarque Le répertoire est non vide :. : référence au répertoire courant.. : référence au répertoire du niveau supérieur Suppression d un répertoire vide rmdir nom_rép [nom_rép ] Il n est pas possible de supprimer le répertoire courant Pour la suppression d un répertoire non vide, la commande rm avec l option r est plus pratique

Redirection des entrées-sorties Redirection en sortie Récupération du résultat d une commande ailleurs qu à l écran Commande > fichier Si le fichier existe déjà son contenu sera perdu Sinon il faut utiliser deux fois le caractère supérieur Commande >> fichier Si le fichier n existe pas, il est créé automatiquement

Redirection des entrées-sorties Redirection de l entrée Permet à une commande d utiliser comme données, le contenu d un fichier à la place d une lecture clavier Commande < nom_fichier_de_redirection Canaux standard Stdin 0 Stdtout 1 Stderr 2 ( commande 2> /dev/null redirection des erreurs sur la poubelle) Réunion de canaux d entrée-sortie > fichier 2>&1

Les filtres Un filtre est une commande sachant écrire et lire des données par les canaux d entrée et de sortie standard. Exemple wc (options l w c) sort grep More, pg

Les tubes Un tube (pipe) permet d établir une liaison directe entre le canal de sortie standard d une commande avec le canal d entrée standard d une autre Commande 1 commande 2 commande n Exemple ls wc -w combien de fichiers sont contenus dans un répertoire

Critères de recherche de noms de fichiers Modèles de noms de fichier * : remplace une chaîne vide ou de longueur variable? : remplace un caractère unique quelconque [] : représente une série ou une plage de caractère [! ] : inverse la recherche Exemples a* : les fichiers dont le nom commence par a a?? : fichiers en trois lettres, commençant par a [aa]* : fichiers dont le nom commence par un a minuscule ou majuscule. [a-m]* : fichiers dont le nom commence par une lettre de la plage a-m. Attention rm *

Verrouillage des caractères spéciaux Il est parfois utile de désactiver la signification spéciale des caractères *,?, [] et! Exemple rm a* : supprime tous les fichiers dont le nom commence par a Pour supprimer le fichier a*, il faut désactiver le *; Caractères spéciaux de désactivation Backslash (\) Guillemets (``. ``) Apostrophes ( )

Programmes utilitaires et filtres Recherches de lignes dans un fichier (grep) La commande grep permet d extraire des lignes particulières d un fichier ou d un flux de données au sein d un tube Syntaxe grep [option] modèle_de_critères [fichier1 ] Les cinq options du grep les plus utiles sont : i : pour ne pas tenir compte des majuscules/minuscules, v : toutes les lignes ne contenant pas le critère, n : pour avoir les numéros de ligne, E : pour les expressions régulières plus compliquées, l : pour lister seulement les fichiers et non pas les lignes contenant la chaîne recherchée, c : la commande ne retourne que le nombre de lignes trouvées

Programmes utilitaires et filtres (grep) Le modèle de critères peut contenir les caractères spéciaux suivants : [ ] : Plage de caractères permis à cet emplacement [^ ] : Plage de caractères non permet à cet emplacement. : Un caractère quelconque (y compris un espace) * : Signe de répétition. Agit sur le caractère placé devant le * $ : Matérialise une fin de ligne : ou ^ : début de ligne \{ \} : Caractère de répétition, entre les accolades \{nombre\} nombre exacte \{nombre,\} nombre minimum \{nombre1,nombre2\} de nombre1 à nombre2

Programmes utilitaires et filtres (grep) Rq Ces caractères spéciaux doivent être interprétés par la commande grep et non pas par le shell Le modèle de critères doit être mis entre guillemets ou entre apostrophes Exemple grep [A-Z][A-Z]*$ timbres

Programmes utilitaires et filtres (grep) nombre de lignes commençant par! Dans le fichier fichier1 : grep "^!" fichier1 wc -l recherche de STOP avec le numéro de la ligne : grep -n -i stop fichier1 liste de tous les fichiers qui n'ont pas "image" ou "son" dans leur nom : ls grep -ve "(image son)" liste des lignes contenant "image" ou "son" dans tous les fichiers du répertoire courant grep -E "(image son)" *

Programmes utilitaires et filtres commande cut Sélection de colonnes et de champs Syntaxe cut csélection_de_colonne [fichier ] Sélection_de_colonne pourra représenter l une des informations suivantes: Une colonne seule (par exemple -c5), Une plage de colonnes (par exemple -c3-10 ou - c8-), Une liste de nombres séparés par des virgules (par exemple -c3,7,9), Une combinaison des trois formes précédentes (par exemple -c1-3,7,20-).

Programmes utilitaires et filtres commande cut Sélection de champs Syntaxe cut [-dx] fsélection_de_champ [fichier..] x désigne le caractère de séparation de champs Sélection_de_champ suit les mêmes règles que la sélection des colonnes

Programmes utilitaires et filtres Tri par lignes La commande sort effectue un tri par lignes en ordre croissant. Syntaxe sort [options] [+pos1] [-pos2] ] [fichier ] Par défaut le tri porte sur chaque ligne prise en intégralité Avec les options +pos1 et pos2, vous sélectionnerez les champs à utiliser comme critères de tri.sort numérote les champs en commençant par 0. Le second critère ne sera mis en œuvre que si le premier critère ne suffit pas à départager les lignes.

Programmes utilitaires et filtres sort Les options utils: d : tri ascii n : tri numérique b : ignore les espaces placés en début de champs f : aucune différence n est faite entre majuscules et minuscules r : inverse l ordre de tri, donc tri décroissant tc : le caractère «c» est défini comme caractère de séparation entre les champs d une ligne

Programmes utilitaires et filtres commande tail La commande tail affiche la dernière partie d un fichier. Syntaxe tail [- nombre] [fichier] Nombre : définit le nombre de lignes à afficher. Par défaut c est 10 Un signe + à la place de inverse l effet de la commande. Exemple tail 5 timbre affiche les 5 derniers lignes du fichier timbre tail +5 timbre affiche les 5 premiers lignes du fichier timbre

Programmes utilitaires et filtres commande tee Avec l utilisation d un tube, le résultat de la première commande n est pas accessible. Pour avoir une copie, on peut utiliser la commande tee. Le résultat de la première commande est sauvegardé dans un fichier dont le nom est passé en argument. Exemple ls tee espion wc l Le résultat de la commande ls est enregistré dans le fichier espion

Recherche de fichiers et de répertoires La commande find parcourt les répertoires et leurs sous-répertoires de manière récursive, à la recherche de fichiers. Syntaxe option(s) find répertoire(s) critère_de_sélection Répertoire : répertoire à partir duquel la recherche doit commencer critère_de_sélection : critères de recherche à mettre en œuvre Option : que doit-il se passer si un fichier répond à ce critère Lors de la recherche, un répertoire ne peut être parcouru que si l utilisateur dispose des autorisations de lecture et d exécution sur ce répertoire.

Recherche de fichiers et de répertoires Options des sélection des fichiers et répertoires name : recherche par nom de fichier type : recherche par type de fichier user : recherche par propriétaire group : recherche par l appartenance à un groupe size : recherche par taille de fichier atime : recherche par date de dernier accès mtime : recherche par date de dernière modification ctime : recherche par date de création perm : recherche par autorisations d accès links : recherche par nombre de références (links) aux fichiers

Recherche de fichiers et de répertoires Option de commande Les options de commande seront traitées pour chaque fichier trouvé. En dehors de l option print qui montre le chemin d accès au fichier, on peut mettre en place l option - exec Les commandes dont il est fait état derrière exec seront exécutées sans aucune demande de confirmation L option ok demande à l utilisateur si la commande doit effectivement être exécutée.

Traitement sans confirmation avec exec La spécification d une commande derrière exec est soumise à certaines règles: L option exec doit être la dernière de la commande find La commande placée derrière exec doit être terminée par le paramètre ;. Comme c est un caractère spécial, il doit être masqué par un \ Pour accéder à un des fichiers trouvés, dans le cadre de la commande placée derrière exec, utilisez le raccourci {} Exemple find. user student exec ls l {}\; ( affiche le format long de la commande ls pour les fichiers trouvés) find. type f atime +13 exec rm {} \; (supprime les fichiers auxquels vous n avez plus accédé depuis plus de 2 semaines) Recherche de fichiers et de répertoires

Recherche de fichiers et de répertoires Traitement après confirmation avec ok Les mêmes explications s appliquent également à l option ok, mais celle-ci, demande une confirmation d exécution de la commande pour chaque fichier trouvé. Ce n est qu en cas de réponse affirmative (avec y), que la commande placée derrière ok sera exécutée. Exemple : find. ok rm {} \;

Recherche de fichiers et de répertoires Combinaison de critères pour recherches complexes Les critères de sélection peuvent être combinés. Un fichier valide doit répondre simultanément à l ensemble des critères définis. La commande find permet également des combinaison logiques de ses options! : négation logique des options a : liason par ET logique des options de recherche (end) o : liaison par OU logique des options de recherche (or)

Recherche de fichiers et de répertoires Combinaison de critères pour recherches complexes Si vous utilisez plusieurs opérateurs logiques pour combiner des options de sélection. Il faut tenir compte de l ordre des signes!, -a, -o.! > -a > -o Pour spécifier une combinaison d options basée sur un lien ET ou OU, il faut placer l ensemble de l expression entre parenthèse. Les parenthèses doivent être verrouiller. Exemple find. \ ( -type d o name "*ham" \) -print

Compression avec Gzip et Zip Les fichiers comprimés utilisent moins d'espace disque. Vous pouvez comprimer les fichiers Linux à l'aide de l'instrument Gzip ou Zip. Par convention, les fichiers comprimés se voient attribuer l'extension.gz. Exemple gzip filename.ext gunzip filename.ext.gz

Compression avec Gzip et Zip Pour comprimer un fichier à l'aide de zip, entrez ceci : zip -r filename.zip files filename représente le fichier que vous créez, et files représente les fichiers que vous voulez placer dans le nouveau fichier Pour extraire le contenu d'un fichier zip, entrez : unzip filename.zip Vous pouvez compresser plusieurs fichiers en même temps avec zip ou gzip. gzip filename.gz file1 file2 file3

Archiver avec Tar Les fichiers tar placent plusieurs fichiers ou le contenu d'un répertoire ou de plusieurs répertoires dans un seul fichier. Généralement, les fichiers tar terminent par l'extension.tar. Pour créer un fichier tar, tapez : tar -cvf filename.tar files/directories

Archiver avec Tar Pour afficher la liste du contenu d'un fichier tar, entrez : tar -tvf foo.tar Pour extraire le contenu d'un fichier tar, entrez : tar -xvf foo.tar Cette commande n'élimine pas le fichier.tar, mais elle place des copies du contenu de.tar dans le répertoire dans lequel vous travaillez actuellement.

Archiver avec Tar La commande tar ne compresse pas automatiquement les fichiers. Vous pouvez compresser les fichiers tar avec : tar -czvf foo.tar Les fichiers tar compressés se voient attribuer l'extension.tgz et sont comprimés avec gzip. Pour décompresser un fichier tar, entrez : tar -xzvf foo.tgz

37 unité 2 Editeur vi

Edition de texte avec vi L'éditeur vi est disponible sur toutes les machines UNIX. Il utilise deux modes : un mode insertion et un mode de commandes. La syntaxe d'appel de l'éditeur est vi fich1

Edition de texte avec vi Le Mode Insertion a ("after") passe en mode insertion après la position courante du curseur i ("insert before") passe en mode insertion avant la position courante A ("append") passe en mode insertion à la fin de la ligne sur laquelle se trouve le curseur ; I ("insert") passe en mode insertion avant le premier caractère non blanc de la ligne sur laquelle se trouve le curseur ; o insertion d une nouvelle ligne, sous la ligne courante; O insertion d une nouvelle ligne, au dessus de la ligne courante; Lorsque l'insertion de texte est terminée, on quitte le mode insertion pour passer au mode commande en appuyant sur la touche <ESCAPE>.

Edition de texte avec vi Le Positionnement du Curseur l, <ESPACE> ou -> déplacent le curseur vers la droite, d'un caractère (jusqu'en fin de ligne) ; h ou <- déplacent le curseur vers la gauche, d'un caractère (jusqu'en début de ligne) ; j ou [arrowdown] déplacent le curseur vers le bas, d'une ligne (jusqu'en fin de fichier) ; k ou [arrowup] déplacent le curseur vers le haut, d'une ligne (jusqu'en début de fichier) ;

Edition de texte avec vi Recherche d'une Chaîne de Caractères /exp recherche la première occurrence correspondant à l'expression rationnelle exp à partir de la position courante du curseur, en avançant dans le fichier (la recherche est circulaire) ;?exp recherche la première occurrence correspondant à l'expression rationnelle exp à partir de la position courante du curseur, en parcourant le fichier en arrière (la recherche est circulaire) ; n (next) répète la dernière commande / ou? ;

Edition de texte avec vi Ajuster l'écran CTRL+F Remonter d un l'écran ; CTRL +B descendre d un écran; z <CR> réaffiche le texte, la ligne courante devenant la première ligne de l'écran ; z- réaffiche le texte, la ligne courante devenant la dernière ligne de l'écran ; z. réaffiche le texte avec la ligne courante au milieu de l'écran.

Edition de texte avec vi Manipulation de Fichiers :w ("write") enregistre le fichier ; :wq ("write and quit") ou ZZ enregistrent le fichier et quittent l'éditeur ; :q ("quit") quitte l'éditeur si le fichier a été enregistré ; :q! ("quit") quitte l'éditeur sans tenir compte des modifications effectuées ; Remarque : le caractère : utilisé dans ces commandes (et qui doit être tapé) s'affiche sur la dernière ligne de l'écran : la ligne de commandes.

Edition de texte avec vi Modification de Texte u annule la dernière opération effectuée ; U rétablit la ligne courante, même si plusieurs opérations ont été effectuées dessus ; J joint la ligne courante et la suivante ; rx remplace le caractère sur lequel le curseur est positionné par le caractère x ; w ("word)" avance d'un mot ; b ("back word") recule d'un mot ;

Edition de texte avec vi Copiage et Collage de Texte L'éditeur vi gère 9 tampons dans lesquels les derniers morceaux de texte effacés, coupés ou copiés sont placés. On peut aussi utiliser des tampons personnalisés nommés de a à z. numyy ou numy ("yank") copie num lignes à partir de la ligne courante comprise (une ligne par défaut) ; p ("put") colle ce qui a été copié ou effacé après la position courante ; P ("put") colle ce qui a été copié ou effacé avant la position courante ;

46 Unité 3 Administration des utilisateurs et des groupes

Utilisateurs Chaque utilisateur qui utilise le système doit être connu de celui-ci ci par un nom et, éventuellement, un mot de passe. Un utilisateur doit appartenir à un ou plusieurs groupes d'utilisateurs pour être autorisé à utiliser le système. Il existe plusieurs méthodes d'identification et de contrôle des utilisateurs, nous ne parlerons ici que de la méthode la plus simple mettant en oeuvre les fichiers /etc/passwd et /etc/group. Les utilisateurs et les groupes sont repérés dans le système par des numéros : uid pour le numéro d'utilisateur (User IDentifier) et gid pour le numéro de groupe (Group IDentifier). Le numéro est unique pour un utilisateur ou un groupe donné. L'identification d'un utilisateur s'effectue dans le fichier /etc/passwd.

Hiérarchie de comptes Root super utilisateur les permissions d accès ne sont pas appliquées sur lui il peut faire tous compte pour l administrateur du système bin, daemon, lp, sync, news, ftp comptes utilisateur utilisés par différentes applications et démons ne peuvent pas être utiliser comme login comptes ordinaires

Enregistrer un utilisateur /etc/passwd Un utilisateur est caractérisé par une ligne dans le fichier /etc/password. Une ligne est formée par les champs suivants : login:passwd:uid:gid:comment:home:shell login : Il s'agit du nom de l'utilisateur. C'est un alphanumérique de 8 caractères maximum. passwd : Il apparaît dans ce fichier sous forme codée. uid : Il s'agit d'un numéro unique de l'utilisateur. Compris entre 0 et 65535. Les 100 premiers nombres sont par convention réservés au système et ne correspondent pas à des utilisateurs normaux. gid : Numéro de groupe. Chaque utilisateur appartient à un groupe principal. Il pourra également appartenir à des groupes secondaires. Cette notion de groupe interviendra au niveau des permissions sur les fichiers. comment : Nom complet de l'utilisateur. home : Chemin complet de la directory attribuée à l'utilisateur shell : Chemin complet du shell, le programme qui interagit avec l'utilisateur et qui permet de taper des commandes (csh, sh, bash, tcsh,...).

Enregistrer un utilisateur /etc/passwd Exemple : root :x:0:0:root:/root:/bin/bash kmaster:x:500:500:kmaster:/home/kmaster:/bin/bash Nota le deuxième champ (x) spécifie q'il y a un mot de passe et que celui-ci est crypté (dans /etc/shadow). L'UID est compris entre 0 (root) et la constante UID_MAX (définie dans le fichier /etc/login.defs). ATTENTION : Si au sein de ce fichier, plusieurs lignes possèdent le même UID pour plusieurs noms de connexion différents, UN SEUL utilisateur est en fait défini! Exemple : on peut ainsi définir un utilisateur stop, dont l'uid est 0 et qui exécute shutdown comme commande de connexion.

/etc/shadow Le fichier /etc/passwd est public (toute personne qui a un compte sur la machine peut le lire). Pour contrecarrer cette faille, certains systèmes ont introduit le fichier /etc/shadow lisible uniquement par root contient les mots de passe des utilisateurs, qui disparaissent alors de /etc/passwd. Si on ajoute un utilisateur à la main, cela implique d'éditer les 2 fichiers.

/etc/shadow Une ligne /etc/shadow est composée des champs suivants: Nom de login mot de passe crypté Nombre de jours écoulés depuis le 1er janvier 1970 jusqu'au dernier changement de mot de passe Nombre de jours durant lesquels le mot de passe est encore valide Nombre de jours après lesquels le mot de passe doit être changé Nombre de jours avant l'expiration du mot de passe impliquant l'avertissement de l'utilisateur Nombre de jours après l'expiration provoquant la desactivation du compte Numéro du jour depuis le 1er janvier 1970 à partir duquel le compte a été désactivé Champs réservé

/etc/shadow Exemple : kmaster:$1$zbvl.scx$hkqgdvbu40eqpae wzfzzq0:11493:0:99999:7::: le mot de passe en cours a été mis en place le 11493e jour après le 1/1/1970 (date de référence), il pourra à nouveau être changé 0 jour après cette date il devra obligatoirement être modifié avant le 99999e jour après la date de création (autant dire qu'il n'expire jamais...).

/etc/skel Après la création d un compte utilisateur, tous les fichiers de /etc/skel sont copiés dans le répertoire personnel de cet utilisateur. On place dans ce répertoire les fichiers dont tous le monde doit en avoir une copie

La commande su La commande su permet de changer l identité de l utilisateur courant. Syntaxe su [[-] ] utilisateur] Utilisateur est l utilisateur dont on veut prendre l identité Si aucun utilisateur n est spécifié, le changement se fait vers l utilisateur root La commande demande un mot de passe avant d obtempérer. (sauf si root)

Gestion des comptes Créer un compte pour un nouvel utilisateur Commande useradd Syntaxe : useradd [options] nom_login Options : -u uid -g groupe-primaireprimaire pour fixer l'identifiant uid -G liste -s shell -c commentaire fixe l'appartenance de l'utilisateur à une liste de groupes secondaires (séparateur, sans espace) par défaut, attribution du shell par défaut bash -d rep. Personnel par défaut dans le répertoire /home -e date-expirationexpiration fixe la date d'expiration du compte (format MM/JJ/AA) -m pour créer le répertoire personnel -k rep-skel recopie le contenu de rep-skel dans le rép. personnel, par défaut /etc/skel # Useradd c c «compte de test» -m d d /home/toto G G test k k /etc/ etc/skel toto

Gestion des comptes commande useradd Pour examiner les valeurs par défaut appliquées par useradd : commande useradd -D D ou éditer /etc/default/useradd GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel identifiant du groupe primaire racine des rép. personnels (nb de jours avant destruction du compte) nb de jours avant expiration du mot de passe shell de connexion attribué au compte fichiers recopiés par défaut dans chaque rép. personnel

Gestion des comptes La commande passwd Syntaxe : passwd [options ] nom_login Options -d l'utilisateur pourra se connecter sans mot de passe! -l pour verrouiller le compte et empêcher sa connexion. -u pour déverrouiller.

Gestion des comptes Connaître l'uid et le gid de l'utilisateur courant Commandes ( id, howami, how am i ) bash:> id uid=501(stage1) gid=501(stage1) groups=501(stage1), 504(stagiaire) Pour décrire un utilisateur Commande chfn Cette commande permet d'indiquer dans le champ numéro 5 du fichier /etc/passwd différentes informations sur un utilisateur

Gestion des comptes Supprimer le compte d'un utilisateur (non connecté) La commande userdel Syntaxe : userdel [-r][ nom_login L'option -r supprime aussi le rép. personnel de l'utilisateur La commande supprime toute trace de l'utilisateur dans le fichier de configuration : /etc/passwd y compris dans les groupes d'utilisateurs.

Gestion des comptes Modifier le compte d un utilisateur La commande usermod Syntaxe : usermod [options] nom_login Les options sont les mêmes que useradd Exemple usermod -G G stagiaire,prof stagex ajoute stagex dans les 2 groupes stagiaire et profs (qui doivent exister)

Les groupes Un groupe est un ensemble d'utilisateurs. Chaque utilisateur doit faire partie au moins d'un groupe. Dans /etc/passwd chaque utilisateur possède un groupe par défaut, précisé par son identifiant gid dans ce fichier. L'appartenance au groupe primaire n'étant pas exclusive, tout utilisateur peut faire partie de plusieurs autres groupes. La liste des groupes est donnée par le fichier /etc/group

Le fichier /etc/group Le fichier de déclaration des groupes /etc/group contient une ligne par groupe dans un format similaire au fichier /etc/passwd. Une ligne de ce fichier comporte les champs suivants, séparés par des caractères `:' : nom du groupe mot de passe du groupe numéro du groupe (gid) liste des utilisateurs appartenant au groupe séparés par des virgules Par exemple : actrices:*:400:sandra,meg,michelle

Commandes utiles Pour lister tous les groupes d'un utilisateur : groups nom_login Pour créer un nouveau groupe groupadd nom_groupe Supprimer un groupe : groupdel nom_groupe Le groupe est supprimé du fichier /etc/group. modifier un groupe groupmod -n n nouveau_nom nom_groupe Pour ajouter un utilisateur à un groupe Le plus simple est d'éditer le fichier /etc/group et d'ajouter une liste d'utilisateurs (séparés par des virgules) sur la ligne du groupe.

Processus d initialisation utilisateur /etc/profile $HOME/.bash_profile $HOME/.bashrc /etc/bashrc [user@host pwd]$ Bourne Again Shell $HOME/.bash_logout

newgroup La commande newgrp permet à un utilisateur de changer son groupe courant. Par exemple : bash$ newgrp actrices bash$ id uid=500 (sandra) gid=400 (actrices) groups=500(sandra),100(users), s), 400(actrices)

67 Unité 4 Les droits d accès

Gestion des droits d accès Tout utilisateur possède un numéro d'utilisateur et le numéro du groupe auquel il appartient. On distingue trois types d'utilisateurs potentiels : le propriétaire du fichier ("user", u); les utilisateurs appartenant au même groupe ("group", g); les autres utilisateurs ("other", o). Trois types d'opérations sur les fichiers sont possibles la lecture ("read", r); l'écriture ("write", w); l'exécution ("execute", x). Il y a donc 9 combinaisons possibles utilisateuropération. C'est pourquoi les protections sont codées sur 9 bits.

Gestion des droits d accès si vous essayez de copier un fichier dans un sous-répertoire (cp fic1 rep2/rep3/fic1), il faut que vous puissiez : 1. lire le fichier fic1 : droit en lecture sur le fichier 2. traverser les sous-répertoires rep2 et rep3 : droit x au moins pour vous, 3. écrire dans rep3 : droit W

Modification des droits d accès chmod modification_des_droits fichier1 [fichier2 ] Vous pouvez utiliser des +, - ou = pour ajouter, supprimer ou fixer des droits à l'une ou l'autre des catégories u, g, o ou a tous (a) en précisant le type de droit d'accès, r, w ou x. chmod g+w fic1 chmod o-x rep chmod u+rx,g-w fic2 chmod u=rwx,g=rx,o=- fic chmod a+r fic Si le changement de droits s'applique à un répertoire, vous pouvez changer tous les droits des fichiers et répertoires inclus dans ce répertoire via l'option -R.

Modification des droits d accès chmod nombre_en_base_8 fichier1 [fichier2 ] chmod utilise le codage binaire, fondé sur l'association de valeurs numériques aux différentes permissions : lecture : 4, écriture : 2, exécution : 1, pas de permission : 0. Chaque triplet se code par l'addition de 4, 2, 1, ou 0. Pour un rwx il faudra ajouter 4+2+1=7, pour r-x 4+0+1=5 etc. La commande chmod permettant de positionner rwxr-x--- sur fic1 à la syntaxe suivante : chmod 750 fic1

Valeur par défaut des droits d accès umask nombre_en_base_8 Par défaut unix affecte les droits max sur les fichiers normaux et les répertoires : Rép 777 (rwxrwxrwx) Fichier normal 666 (rw-rw-rw-) Les droits effectifs sont obtenus par : droits_max - masque Exemple Si on souhaite un accès en lecture/écriture pour le propriétaire et en lecture seule pour le groupe et le reste de monde, on utilise 022 comme masque

Changement de propriétaire et de groupe Sans les uid et les gid les droits d accès n auraient aucun sens. La commande chown permet de changer le propriétaire chown utilisateur fichier1 [fichier2 ] La commande chgrp permet de changer le groupe chgrp groupe fichier1 [[fichier2 ]

Droits d accès étendus Set User ID et Set Group ID bit Si le SUID est placé sur un programme, celui-ci se voit affecté, le temps de son traitement, le numéro d utilisateur du propriétaire du fichier programme, avec tous les droits d accès correspondants. De la même façon, si le SGID est positionné, le numéro de groupe normale est remplacé par le numéro de groupe du propriétaire du fichier programme.

Droits d accès étendus Définition du SUID et du SGID bit Chmod u+s fichier_programme Chmod g+s fichier_programme Ou Chmod 4755 fichier Chmod 2755 fichier

Numéros d identification réel et effectif Les numéros d utilisateur ou de groupe d un processus sont hérités du parent (numéros réels). Si vous utilisez un SUID ou un SGID bit, les numéros d utilisateur et de groupe s en trouvent modifiés (numéros effectifs).

Droits d accès étendus pour les répertoires : Sticky bit Un utilisateur qui a le droit d écrire dans un répertoire peut supprimer tous les fichiers de ce répertoire. Si le Sticky bit est positionné, seul le propriétaire pourra supprimer un fichier du répertoire. chmod u+t rep chmod 1777 rep

78 Unité 5 Les packages

Gestion de packages Combinaison dans un même fichier (rpm( rpm) informations sur le programme les fichiers exécutables, librairies, documentation les scripts d installation et de désinstallation les fichiers de configuration les informations de dépendance Le nom d un d rpm respecte un format précis de type nom-version.arch.rpm où : nom = nom du package/prog prog version = version du package/prog prog arch = architecture pour lequel est fait le prog/package.

Red Hat Package Manager (RPM) on peut installer et désinstaller des programmes par une seule commande : rpm /var/lib lib/rpm,, contient une BDD des RPMs installés

Installation des RPMs Syntaxe de base rpm -i i nom_package.rpm ( installation) rpm -F nom_package.rpm (Freshening) installation si une version ancienne de ce package est déjà installée rpm -U nom_package.rpm (Upgrading) installe et désinstalle l ancienne version qui est enregistrée aveca l extension.rpmsave. options v : mode bavard h : affiche 50 marques (hash( marks) --nodeps : sans tenir compte des dépendances

Désinstallation de RPM Pour désinstaller un RPM, on utilise la commande rpm -e e nom_package options: --nodeps : ignore les dépendances

RPM querying Pour connaître le contenu d un RPM installé syntaxe de base options : rpm -q q [ nom_package ] a : chercher tous les RPM installés f <file> : chercher le RPM d où provient le fichier file p<package-file> : affiche les fichiers de ce package (non encore installé) i : affiche les informations du package l : affiche la liste des fichiers du package s : affiche l état de tous les fichiers d : affiche les fichiers de documentation c : affiche les fichiers de configuration

Vérification des RPMs Vérifie les fichiers actuelles avec le RPM original taille checksum MD5 Permissions, type propriétaire groupe syntaxe de base rpm -V V nom_package options f <file> vérifie le fichier file a vérifie tous les packages p <package-file> vérifie par rapport au RPM original

Outils graphiques kpackage Il fonctionne dans l'environnement Kde, Il n est pas fourni en standard dans les distributions RedHat. gnorpm C est un logiciel fourni avec l'environnement graphique gnome. up2date est un outil standard de la distribution RedHat (version 6.1 et supérieure) il permet la mise à jour de la distribution. Il cherche sur le serveur ftp de redhat les packages mis à jour pour la distribution. Il présente ensuite une page web permettant de sélectionner les packages à mettre à jour.

86 Unité 6 Scheduling

Scheduling Automatiser les taches de routine lancement automatique des taches à des moments spécifiques le démon crond fait le scheduling pour les fichiers conrontab la commande anacron exécute les jobs anacron le démon atd est responsable d exécuter les jobs soumets par les commandes at ou batch

cron Les jobs sont configurés dans des fichiers crontab Syntaxe d une ligne [minute][heur][jour-du du-moi][moi][jour-de-semaine][job] chaque minute, crond cherche dans les fichiers crontab s il y a un job à lancer Les fichiers crontabs des utilisateurs sont enregistrés dans /var/spool/cron cron/username le fichier crontab système est /etc/crontab crontab tous les fichiers de /etc/cron.d cron.d sont considérés comme des fichiers crontab

Exemple d un fichier crontab utilisateur 0 8 * * * cmd1 0,30 9 * * * cmd2 0,30 8-18 * * * cmd3 */5 * * * * cmd4 12 13 1 * * cmd5 49 23 16 9 * cmd6 0 15 * * 1 cmd7 32 14 1 1 1 cmd8

Commandes crontab Un utilisateur peut modifier son crontab,, mais il ne peut pas signaler à crond ce changement avec la commande crontab (SUID root) c est possible syntaxe crontab -l crontab -r crontab -e affiche crontab de l utilisateur courant supprime crontab de l utilisateur courant édit crontab de l utilisateur courant NB root peut utiliser -u username pour spécifier un utilisateur autre que root.

Crontab système Le fichier crontab du système est /etc/crontab crontab le répertoire cronatb système est /etc/cron.d cron.d tous les fichiers de ce répertoire sont lu par crond syntaxe on peut définir des variables d environnement spécifier l uid sous lequel la commande va être exécuter SHELL=/bin/bash PATH=/sbin:/ :/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 01 * * * * root run-parts /etc/cron.hourlycron.hourly 02 4 * * * root run-parts /etc/cron.dailycron.daily 22 4 * * * root run-parts /etc/cron.weeklycron.weekly 42 4 1 * * root run-parts /etc/cron.monthlycron.monthly

at La commande at exécute une commande à un moment donnée. # at 4am ps aux ^d # at -f bshfile 16:00 + 3 days

Contrôle des jobs at Liste des jobs $at -l $atq annuler un job $at -d d job $atrm job permission d utilisation de at /etc/at.allow /etc/at.deny

batch Exécute une commande quand le système et moins chargé $batch echo la charge est minime ^d

Unité 7 RESEAUX

Configuration La configuration du réseau sous Linux peut être effectuée lors de l'installation ou a posteriori en modifiant les fichiers concernés. Le fichier /etc/sysconfig sysconfig/network contient les variables : NETWORKING : initialisée à "yes" yes" " pour valider l'utilisation du réseau FORWARD_IPV4 : initialisée à "no" pour empêcher le transfert automatique des paquets HOSTNAME : contient le nom complet de la machine GATEWAYDEV : interface d'accès à la passerelle GATEWAY : adresse IP de la passerelle Ce fichier est utilisé dans les scripts d'initialisation du réseau pour positionner les variables d'environnement.

Configuration Pour chaque interface, il faut construire, dans le répertoire network twork- scripts un fichier ifcfg-<nom> où nom est remplacé par le nom de l'interface utilisée : ethn pour la Nième interface réseau Ce fichier contient les variables suivantes : DEVICE : nom du périphérique ONBOOT : initialisée à "yes" pour valider l'interface au démarrage BROADCAST : contient l'adresse IP de diffusion NETWORK : contient l'adresse IP du réseau NETMASK : contient le masque du réseau IPADDR : contient l'adresse IP de l'interface Ce fichier est utilisé en paramètre des scripts ifup et ifdown d'initialisation de l'interface. L'initialisation du réseau au démarrage d du système est effectuée par le script /etc/rc.d rc.d/init.d/network.

Les commandes La commande hostname permet d'afficher le nom de la machine ainsi que le nom de domaine. La commande ifconfig permet de visualiser ou de configurer les interfaces. Lorsqu'elle le est exécutée sans argument, elle affiche la configuration actuelle avec, pour chaque interface, les informations suivantes : adresse Ethernet adresse IP adresse de diffusion masque de réseau le nombre de paquets reçus et transmis La commande netstat permet d'afficher : les connexions réseau actives et en attente les tables de routage des statistiques sur l'interface les tables de translation d'adresse La commande arp permet de visualiser et d'agir sur la table de résolution d'adresses Ethernet. La commande route permet de visualiser et de modifier la table de routage de la machine. Les commandes ping et traceroute permettent de valider le chemin réseau jusqu'à un hôte donné. La commande traceroute donne la liste des routeurs par où a transité la demande.

Les fichiers Le fichier /etc/hosts contient une liste d'adresses IP associées aux noms des machines. C'est le moyen le plus simple d'effectuer la résolution de noms pour un petit réseau. Le fichier /etc/host.conf spécifie le mode de résolution des noms de machines. Il contient les lignes suivantes : Option Description spécifie l'ordre d'utilisation des différents moyens de résolution de noms : order - hosts : fichier /etc/hosts - bind : serveur de noms DNS - nis : Network Information Service nospoof validé par la valeur on, cela permet de détecter les tentatives d'usurpation d'adresse IP. Alert validé par la valeur on, cela permet d'enregistrer, via syslog, les tentatives d'usurpation d'adresse IP. Multi validé par la valeur on, cela permet d'affecter plusieurs adresses IP au même hôte dans le fichier /etc/hosts Trim permet d'enlever le nom de domaine en argument avant d'effectuer une recherche dans le fichier /etc/hosts

La commande ftp Maintenant, il ne reste plus qu'à transférer le fichier "tar" sur la station du destinataire via ftp pour cela vous devez juste, soit connaître son login/passwd (pas recommandé), soit avoir votre propre login sur cette machine. La commande s'utilise ainsi : ftp autre_machine elle vous invite à rentrer le login et le passwd du compte distant, puis tapez : put mon_boulot.tar.gz Le fichier sera alors placé dans le HOME du login distant. Remarque : si vous avez plusieurs fichiers à transférer, vous pouvez utiliser "mput *.gz". Il est possible de s'affranchir des YES (return) pour chaque transfert en désactivant le prompt via la commande prompt avant le mput ou mget.

Sous ftp, les commandes ls, pwd et cd peuvent être utilisées pour lister et changer de répertoire sur la machine distante, et!ls,!pwd et!cd pour faire de même sur la machine locale. Dans le cas où vous avez laissé le fichier chez vous, et avez simplement dit à votre collègue de venir le prendre via un get sous un ftp, pensez à mettre les droits de lecture sur ce fichier et lui laisser la possibilité de traverser votre HOME. Reste ensuite au login distant à décompresser (on l'a vu!) et à détarer via : tar -xvf mon_boulot.tar Pour sortir de la commande ftp, tapez quit.

Les Rcommandes Comme nous en sommes aux interactions entre deux machines, détaillons un peu les Rcommandes. Il s'agit des rsh, rcp, rlogin... Toutes ces commandes seraient déjà connues si elles n'avaient pas de r ( login, cp...). Le r (pour remote) précise que la commande va s'exécuter sur une autre machine. Pour que ces commandes fonctionnent, il est impératif d'avoir son fichier.rhosts à jour. Ce fichier permet de s'affranchir du mot de passe normalement nécessaire lors d'une connexion sur une autre machine. Voici un exemple de fichier.rhosts existant sur le HOME de la machine_a pour le compte login_a. machine_b login_b eclipse observateur Ici, sur la machine_a peuvent se connecter sans taper de mot de passe, login_b depuis machine_b et observateur depuis eclipse.

rcp [-r] [[logina@]machinea:]/fichier [loginb@[machineb:]]/fichier copie d'une machine sur une autre, loginx et machinex peuvent être omis. L'option -r permet de traiter une copie récursive pour recopier les répertoires. rsh machineb commande exécute commande sur la machineb rlogin machineb [-l login] établit une connexion sur la machineb sous le login indiqué Attention il est parfois nécessaire de préciser le path de la commande distante.

Aide en Ligne (man) man [section] titre affiche page à page le chapitre correspondant au titre donné dans le manuel standard d'unix. Certains titres se trouvent dans plusieurs sections. Les commandes externes sont en section 1, les appels système en section 2 et les fonctions des bibliothèques standard en section 3. man com permet d'obtenir de la documentation sur la commande com. man -k sujet permet d'obtenir de la documentation sur le sujet, si il y en a La touche h ("help"), on obtient un aide pour l'affichage page à page.