Linux Ista Ntic
Linux Ista Ntic
Linux Ista Ntic
Contenu du cours
Prsentation de Linux. Commandes de base. Administration des utilisateurs et des groupes. Les droits daccs. Les packages. Gestion du rseau. Les scripts Linux
Sommaire:
1 2
INTRODUCTION
Rappel Systme Dexploitation
Dfinition dun systme dexploitation: Un systme dexploitation est un ensemble de programmes qui coordonnent le fonctionnement des diffrents composants matriels et logiciels dun systme informatique. Exemple de OS: Windows, Unix, Mac OS, Ms Dos
INTRODUCTION
Quest quun logiciel Libre
Un programme informatique, que ce soit un noyau ou un logiciel, est constitu de nombreuses lignes de code, crites dans un langage de programmation (le langage C dans le cas du noyau Linux). Ce code n'est gnralement pas utilisable en tant que tel. Il faut passer par la phase de compilation qui transforme le code source en programme excutable, souvent appel binaire. Il suffit d'avoir le binaire pour utiliser le programme. Quand on achte un logiciel (Microsoft Office par exemple) ou un systme d'exploitation (Windows par exemple), on a un CD qui contient le binaire, mais pas les sources. Il est donc impossible de savoir comment le programme est conu. Par consquent, on ne peut pas modifier le programme. On peut seulement l'utiliser et ventuellement le copier l'identique.
INTRODUCTION
logiciel Libre / logiciel propritaire
Les logiciels propritaires sont donc les logiciels dont une licence, souvent payante, ne donne qu'un droit limit d'utilisation. On n'a la plupart du temps accs qu'aux binaires de ces logiciels. Certains logiciels propritaires sont gratuits, on les appelle alors des freewares. (Windows est un OS propritaire dont le code source est jalousement gard par Microsoft. Imaginez que c'est un peu comme le Coca-Cola : personne ne connat la recette de fabrication (y'a bien des gens qui essaient d'imiter, mais bon ). On ne peut donc pas le modifier ou regarder comment il fonctionne l'intrieur.) Les logiciels libres sont les logiciels que l'ont peut librement utiliser, changer, tudier et redistribuer. Cela implique que l'on ait accs leur code source (d'o le terme quivalent OpenSource).
INTRODUCTION
Historique
UNIX est un systme d'exploitation, cr en 1969 par Ken Thompson et Dennis Ritchie. Sa conception a t particulirement soigne, et apportait plusieurs innovations, notamment le choix d'utiliser plusieurs outils simples et spcialiss, plutt que des logiciels complexes tout faire.Il est l'un des systmes d'exploitation les plus populaires au monde, en raison du grand nombre d'architectures qu'il supporte . Project GNU: est un project lanc par Richard Stallman, un chercheur du MIT. Le but est de dvellopper un OS complet, libre et qui se base sur Unix afin de contrer le dvellopement croissant des logiciels propriaitaires( le prix Unix devenait de plus en plus payant). Cependant, en 1991, le projet GNU n'avait toujours pas de noyau et tournait sur des Unix propritaires.(Stallman avait crer les programmes de base:(programme de copie de fichier, suppression de fichier, diteur de texte).
INTRODUCTION
Historique
En 1991, Linus Torvalds, un tudiant de luniversit de Helsinki, dveloppe un noyau en s'inspirant des principes du systme d'exploitation UNIX. Le OS prend le nom de Linux ( en rfrence son crateur). Project LINUX
Project GNU
GNU/LINUX Le projet GNU (programmes libres) et Linux (noyau d'OS) ont fusionn pour crer GNU/Linux.
INTRODUCTION
Historique
Le projet GNU (programmes libres) et Linux (noyau d'OS) ont fusionn pour crer GNU/Linux.
INTRODUCTION
Les distributions de Linux
Il existe une trs grande varit de distributions, ayant chacune des objectifs et une philosophie particulire. Les lments diffrenciant principalement les distributions sont : la convivialit (facilit de mise en uvre). l'intgration (taille du parc de logiciels valids distribus). la notorit (communaut informative pour rsoudre les problmes), l'environnement de bureau (Gnome, KDE, ...). Le point commun est le noyau ( kernel) et un certain nombre de commandes.
INTRODUCTION
Les distributions Commerciales
Il Red Hat: http://www.redhat.com/ La plus populaire. Fiable, sre, conviviale et facile installer, prise en charge par tous les fournisseurs de logiciel et de matriel. Suse (Novell): http://www.suse.com/ L'alternative principale. Facile installer, conviviale et stable. Obtiens le support des fournisseurs de logiciel et de matriel. Mandriva (anciennement Mandrake): http://mandrivalinux.com/ Conviviale, facile installer, plus innovante, mais moins stable. Cible principalement les utilisateurs individuels. Peu pris en charge par les fournisseurs de logiciel et de
INTRODUCTION
Les distributions Commerciales
Fedora Core: http://fedora.redhat.com/ Stable, sre, conviviale, facile installer. Sortie frquente de nouvelles versions compltes. Ubuntu Linux: http://ubuntu-linux.org/ La distribution communautaire qui progresse le plus. Bas sur Debian mais avec une version stable tout les 6 mois. Conviviale pour les utilisateurs. Bonne pour les dbutants. Debian: http://debian.org/ Trs stable et sre, mais plus difficile configurer et installer. Conviviale pour les dveloppeurs mais pas encore pour les utilisateurs. Version stables pas assez frquentes (tous les 2 ou 3 ans). La meilleure pour les serveurs, mais pas pour les dbutants. Mandriva Community: http://mandrivalinux.com/ Facile installer, sre, conviviale, sortie frquente de versions compltes, mais moins stable (pas assez de tests et de prise en compte des retours des utilisateurs et testeurs)..
SWAP: Cette partition permet dtendre la mmoire virtuelle. Si il ny a plus assez de mmoire vive (RAM), le noyau indiquera aux diffrents programmes en cours dexecution dutiliser la Swap la place de la RAM
Lappellation " la Linux" est un peu plus complexe que celle de Windows. C: D: E: hda hdb hdc sda
Windows
Linux
Lappellation " la Linux" est un peu plus complexe que celle de Windows.
hd[a-d] #
h : la premire lettre indique si le disque est de type IDE ou SCSI (un type de connexion diffrent la carte mre). Si c'est une IDE, la lettre est un h, si c'est un SCSI (ou un S-ATA), la lettre est un s. d :cette lettre ne change pas ( drive). [a-d] :indique les differents disques durs ,cest a,b,c ou d. hda: 1er disque dur/ hdb: 2me disque dur/hdc le 3me . # :est un numro qui permet de numroter les partition. exemple: hda1: 1er partition hda hdb10: 10me partition hdb
INSTALLATION DE FEDORA
Les phases principales de linstallation dune machines Gnu/Linux sont les suivantes :
1. 2. 3. 4. 5. 6. 7. 8. Amorage de linstallation Partitionnement du disque dur Installation du chargeur de boot Configuration du rseau Dtermination du fuseau horaire Initialisation du mot de passe root Choix et installations des logiciels Paramtrages post-installation
INSTALLATION DE FEDORA
Vrification du disque Commenons par insrer le DVD dans le lecteur et redmarrer le PC. Ce dernier va alors booter partir du DVD et va afficher lcran daccueil de linstallation de Li-nux qui contient les options suivantes : Install or upgrade an existing system : cest loption par dfaut. Elle permet dinstaller ou mettre jours le systme existant en mode graphique. Install or upgrade an existing system (text mode) : dans le cas ou vous avez un problme avec votre carte graphi-que, vous pouvez utiliser cette option pour une installation/mise jour en mode textuel. Rescue installed system : cette option peut tre utile pour rparer un systme dj install. Boot from local drive : cette option permet de dmarrer le PC depuis le mdia local. Si au bout de 60 secondes aucune touche nest tape, le systme va choisir automatiquement loption par dfaut (installation en mode standard). Pour procder linstallation, tapez entrer. Vous pouvez aussi, si vous voulez, procder linstallation en mode textuel (option 2). Le systme va alors charger le programme dinstallation de Linux en mmoire et vous demande de tester lin-tgrit du mdia dinstallation. Le systme va ensuite afficher une b-ite de dialogue de bienvenue. Deux interfaces classiques vont ensuite vous demander de choisir la langue et le type du clavier.
INSTALLATION DE FEDORA
Vrification du disque
21
Installation de Fedora
Choix du partitionnement
Lassistant vous propose le choix entre un partitionnement automatique et un partitionnement manuel
/boot : partition sur laquelle sont installes les informations ncessaires au dmarrage, / : partition sur laquelle est installe le systme, SWAP : partition dont le systme se sert pour dcharger la mmoire (RAM) lorsqu'elle atteint un certain niveau.
INSTALLATION DE FEDORA
Vrification du disque
Le partitionnement personnalis, o vous pouvez choisir les partitions que vous souhaitez crer/formater/supprimer.
/boot partition sur laquelle va se lancer Fedora (Optez pour une taille d'environs 100Mo): (partitiontion o sont install les informations ncessaires au dmarrage). / partition sur laquelle est installe le systme. Variez la taille de cette partition en fonction de votre disque dur mais sachez qu'une installation complte du DVD/CD prendra environ 9 Go. SWAP partition qui permettra dallger la mmoire vive son dimensionnement suit la rgle 2n*RAM pour des machines taille mmoire jusqu3 Go. /home Partition sur laquelle sont conserves les donnes de l'ensemble des utilisateurs.
INSTALLATION DE FEDORA
Installation du GRUB
GRUB (Grant Unified Boot loader). GRUB est ce quon appelle un chargeur de dmarrage, en dautres termes un programme qui permet de choisir et de lancer un systme dexploitation. Si vous navez quun seul disque, a priori, les options par dfauts conviennent. L'installation du chargeur de demarrage. C'est une tape importante, donc soyez prudents avec ce que vous faites. GRUB sert lancer le systme, c'est lui qui va vous demander de choisir entre Fedora et Windows par exemple, ou entre diffrentes version de Fedora. Je vous conseille de laissez les options par dfaut puis continuez.
INSTALLATION DE FEDORA
Configurer le Rseau
Lassistant dinstallation dtecte toutes les cartes rseau de la machine. Par dfaut lassistant propose une configuration par DHCP des interfaces. votre carte rseaux est dtecte et configure automatiquement. Laissez les paramtres par dfaut et validez.
INSTALLATION DE FEDORA
Configurer le Rseau
Pour configurer manuellement une interface il suffit de la slectionner et de cliquer sur le bouton Editer . Le nom de la machine est aussi configurable manuellement ainsi que La passerelle par dfaut et les serveurs DNS.
INSTALLATION DE FEDORA
Configurer le fuseau horaire
Il suffit tout simplement de pointer sur votre zone gographique sur carte du globe prsente.
INSTALLATION DE FEDORA
Choix du mot de passe Root
Ltape suivante permet dattribuer un mot de passe lutilisateur de la machine dau moins 6 caractres.
root
Lutilisateur root est un super utilisateur qui sert administrer le systme, son usage doit tre rserv des cas bien particuliers car cet utilisateur possde les pleins pouvoirs sur lensemble de votre systme. utiliser des combinaisons de majuscules, miniscules, chiffres, caractres spciaux Nutiliser pas des mots et des noms
INSTALLATION DE FEDORA
Recommandation choix du mot de passe
il doit possder au moins 7 caractres et contenir au moins une lettre majuscule, un chiffre et un caractre de ponctuation. il ne doit pas contenir des donnes relatives votre identit comme votre nom dutilisateur. il ne doit pas appartenir des dictionnaires. il ne doit pas contenir des rptitions de caractre. il doit tre suffisamment simple pour sen rappeler
INSTALLATION DE FEDORA
Slection des logiciels installer
L'cran Paramtres par dfaut de l'installation de paquets apparat et dtaille l'ensemble de paquets par dfaut dfinis pour votre installation de Fedora. L'installation de Fedora pr-slectionne les logiciels les plus adapts une utilisation de type station de travail. Pour ajouter ou supprimer d'autres logiciels, slectionnez les lments appropris depuis la liste .
30
Installation de Fedora
Raliser des oprations de Post-installation Aprs la fin de linstallation et du redmarrage de la machine un assistant De 1er dmarrage apparat pour ajuster certains paramtres
Licence : Demande la confirmation dacceptation des termes de licence du produit. Pare-feu : Permet au root dactiver le firewall sur certains services ( web, mail, ftp, nfs SELinux : Il sagit de lactivation dun mcanisme de renforcement de scurit au niveau des accs aux programmes et applications Date et Heure : Permet de synchroniser votre machine avec un serveur de temps Ajouter un utilisateur : Jusqu prsent le seul utilisateur dclar au niveau De la machine est le root , cette tape vous permet de rajouter dautres utilisateurs. Carte son : Permet de configurer votre carte son
INSTALLATION DE FEDORA
Page dacceuil de lassistant de 1re configuration
Apres la fin de linstallation et du redmarrage de la machine un assistant de 1er dmarrage apparat pour ajuster certains paramtres.
INSTALLATION DE FEDORA
Page dacceuil de lassistant de 1re configuration
Licence : Demande la confirmation dacceptation des termes de licence du produit. Pare-feu : Permet au root dactiver le firewall sur certains services ( web, mail, ftp, nfs SELinux (Security Enhanced Linux) : Il sagit de lactivation dun mcanisme de renforcement de scurit au niveau des accs aux programmes et applications. Date et Heure : Permet de synchroniser votre machine avec un serveur de temps. Ajouter un utilisateur : Jusqu prsent le seul utilisateur dclar au niveau de la machine est le root , cette tape vous permet de rajouter dautres utilisateurs. Carte son : Permet de configurer votre carte son.
INSTALLATION DE FEDORA
Mise jour post installation Une fois votre distribution Gnu/Linux oprationnelle, vous pourrez votre choix installer les diffrentes mises jour des diffrents paquetage installs. Les mises jour peuvent se faire manuellement par lutilisateur en tlchargeant les nouvelles versions des paquetages et les installer par la suite. Sinon chaque distribution dispose de son propre systme de mise jour automatique configurable graphiquement ou lanc par ligne de commandes.
La distribution Fedora dispose du systme yum . Yum permet linstallation, la suppression et la mise jour de vos programmes ainsi que du systme dexploitation. Si par contre votre systme automatique de mise jour nest pas actif, vous Pouvez toujours lancer la mise jour manuellement : Soit en mode graphique en choisissant : Applications Outils Systme Mise jour logiciels Soit en mode console par le biais de la commande : su c 'yum update ; saisissez le mot de passe root quand le systme vous le demande ????
Connexion au systme
INSTALLATION DE FEDORA
Prsentation du KDE KDE ( Kool ou kommon Desktop Environment) est un puissant environnement graphique de bureau. KDE :est un bureau graphique bas sur X-Window. Il se compose dun ensemble doutils vous permettant dexploiter graphiquement votre ordinateur: gestionnaire de fentres,bureau,gestionnaire de fichiers ,menu,espaces de travail virtuels Il existe d'autres alternatives de bureaux graphiques comme GNOME (Gnu Network Object Model. Le KDE propose: Un bureau (Desktop). Une barre de tches (tableau de bord, commande"kicker"). Un gestionnaire de fichiers (commande "konqueror"). Un gestionnaire de configuration (commande "kcontrol"). konqueror permet une gestion de fichiers plus convivial que les lignes de commandes et peut tre galement utilis comme navigateur internet
INSTALLATION DE FEDORA
Prsentation KDE
NOTIONS DE SHELL
Le shell est un programme qui va faire le lien entre le noyau UNIX et l'utilisateur = interprteur de commandes interactif Le shell est un interprteur de commandes qui invite lutilisateur saisir une commande et la fait ensuite excuter
invite ("prompt")
LINVITE DE COMMANDES
P
pippo@localhost :~$
pippo : le premier lment est votre pseudonyme. localhost : a c'est le nom de l'ordinateur sur lequel vous tes en train de travailler. La ligne d'invite de commandes se lit donc pippo chez localhost . En d'autres termes, je suis identifi en tant que pippo sur la machine localhost. : : c'est un sparateur. ~ :c'est le dossier dans lequel vous vous trouvez actuellement., le symbole ~ signifie que vous tes dans votre dossier personnel, ce qu'on appelle le "Home" sous Linux. C'est l'quivalent du dossier "Mes documents" de Windows. $ : ce dernier symbole est trs important, il indique votre niveau d'autorisation sur la machine. Il peut prendre 2 formes diffrentes : $ : signifie que vous tes en train d'utiliser un compte utilisateur "normal", # : signifie que vous tes en mode super-utilisateur,
LINVITE DE COMMANDES
Invite de commande suivie de la commande que jai tape ls Rponse de lordinateur cette commande
Cela signifie que le rpertoire actuel est constitu de 3 dossiers : Desktop Examples et Images. En gnral, le systme colore les lments pour que l'on puisse distinguer facilement les dossiers des fichiers. Si vous n'avez aucune rponse, c'est que vous tes dans un dossier qui ne contient aucun fichier ou dossier.
LES PARAMETRES
P Les paramtres sont des options que l'on crit la suite de la commande.
pippo@localhost :~$ ls -a
Si on dsire remonter des commandes qui remontent trs longtemps, inutile de se forcer taper sur la flche haut pour arriver la commande souhaiter. Dans ce cas, on utilise la commande history .
Raccourcis Utiles
P : Effacer le contenu de la console .
:Message EOF( fin de fichier) la console( possde la mme fonction que la commande exit . :Ramne le curseur au dbut de la commande. :Supprime tout ce qui est gauche du curseur. :Supprime tout ce qui est droite du curseur. :Supprime le dernier mots situ gauche du curseur.
Le systme de fichiers sur Linux est similaire ce que l'on retrouve dans Windows, i.e. une structure hirarchique dont une racine et des rpertoires qui s'y rattachent. Contrairement au systme MS-DOS, qui contient plusieurs racine :A: ,C: ,D: , Sous Linux, il y a une seule racine (root) :le slash "/" . Par exemple, Le CD-ROM est atteint par le rpertoire /cdrom. Chaque Utilisateur possde un rpertoire, dit de connexion (home directory),ou il peut agir en toute libert et y crer sa propre arborescence, par exemple: /home/mehdi/
/root: (rpertoire de ladministrateur root) /tmp: (contient les fichiers temporaires) /usr: (Hirarchie secondaire)/ programmes utilisateurs ordinaires, non essentiels au systmes: /usr/lib, /usr/bin /sbin: (contient les binaires systme essentiels (par exemple la commande adduser)/programmes dadministration du systme./ commandes rserves ladministarteur. /home: (dossiers de travail des utilisateurs. Ex:/home/pippo)/ Rpertoire utilisateur /var: (donnes variables( dynamiques)
Larrt du systme est une opration qui est du ressort de ladministrateur. On peut la realiser uniquement sur le compte root.
Il est galment possible que votre gestionnaire de bureau vous donne le moyen darrter lordinateur par lintermediare de linterface graphique.
Exemple : ls -l
/home/pippo
Si on veut se positioner dans le rpertoire /etc, on fera ceci: pippo@localhost :~$ cd /etc pippo@localhost :/etc$
cd ou cd $home: Permet de se placer dans le rpertoire personnel de lutilisateur (home) cd.. : Ramne dans le rpertoire parent.( remonter dun rpertoire dans larborescence) cd rep : va dans le rpertoire rep partir du rpertoire o vous tes.
cd /usr/bin: A va dans le rpertoire bin en crivant tout larboresence. cd - : une bonne astuce pour revenir dans le rpertoire do vous veniez prcdemment.
Ici, comme c'est un chemin relatif, on part du dossier dans lequel on se trouve (/home/mateo21) et on indique la machine le chemin suivre partir de l pour aller dans le dossier qu'on veut.
La commande pwd): peut etre utilise lorsquon dsire obtenir un chemin absolu sur le rpertoire courant. Cette commande est galement utilise par les scripts pour dterminer le rpertoire partir duquel ils sont excuts.
du -h :Affiche la taille en Ko, Mo, Go. du a : (du ah) Affiche la taille des dossiers ET des fichiers. du - s : Affiche juste lespace total occup par le dossier, et donc naffice pas lespace des sous-dossiers. ( pour plus de lisibilit du sh, je le combine h)
Un fichier est rpre de manire unique par: le systme de fichier auquel il est attach Son inode
COMMANDES DE GESTIONS DE FICHIERS Exemple : (diffrence entre liens physique et liens symboliques
1. 2. 3. 4. Cration dun Rpertoire TESTS .Une fois dans le dossier tests, crer un fichier fichier1 vide de 0bytes Crer un lien physique fichier2 , qui partagera le mme inode (le mme contenu) que fichier1 Crer un lien symbolique fichier 3 , en pointant vers le nom du fichier1 ( et non vers linode).
1re colonne de la commande ls indique : numro inode. 3 me colonne: le nombre de liens dures( nombre de fichiers partageant le mme inode) 6 me colonne: dimension du fichier ( on remarque que le lien symbolique est un fichier sur le disque de 8bytes.
COMMANDES DE GESTIONS DE FICHIERS Exemple : (diffrence entre liens physique et liens symboliques
l : link ( lien)
Le fichier dorigine et le lien ont le mme type de fichier fichier rgulier indiqu par le tiret en tte des permissions, alors que le liens symbolique a un type diffrent (l: lien ). Le fichier dorigine et le lien physique ont le mme horodatage( alors que le lien symbolique affiche lheure et la date de sa cration. Enfin on remarque, la fin de la ligne du lien symbolique, une flche en direction du chemin du fichier vers le lien dur.
Schma qui permet de comprendre les liens symboliques et les liens physiques. Liens physiques: Bien quils conomisent toujours de la place, les liens physiques sont indiscernables des fichiers dorigine
Commandes de recherche
find recherche les fichiers actuellement prsents La commande find s'utilise de la faon suivante : find "o" "quoi" "que faire avec" (seul le paramtre "quoi" est obligatoire) O : c'est le nom du dossier dans lequel la commande va faire la recherche. Tous les sous-dossiers seront analyss. Quoi : c'est le fichier rechercher. On peut rechercher un fichier par son nom, mais aussi en fonction de sa date de dernire cration, de sa taille, etc. Que faire avec : il est possible d'effectuer des actions automatiquement sur chacun des fichiers trouvs . Par dfaut, la commande find affiche les rsultats trouvs et ne fait rien d'autre avec.
Commandes de recherche
Par nom
Commandes de recherche
find nom_repertoire - name nom_fichier : rechercher dans le rpertoire et tous ses sous-rpertoire le fichier (ou les fichiers) et afficher son emplacement. grep mot nom_fichier : rechercher dans un fichier texte le mot voulu et affiche la ligne o il se trouve grep -l mot nom_fichier : rechercher dans un ou plusieurs fichiers texte le mot voulu et affiche le nom des fichiers qui contiennent le mot (utile pour une recherche sur plusieurs fichiers, voir caractres gnriques en fin de liste) grep -c mot nom_fichier : donne le nombre de fois o le mot voulu a t rencontre dans le fichier.
Commandes de recherche
sed -e " s/texte/remplacement/options " Par exemple : sed -e "s/bonjour/bonsoir/g" test.txt > modif.txt permet de remplacer bonjour par bonsoir dans le texte du fichier test.txt, et d'enregistrer le rsultat dans le fichier modif.txt g permet d'effectuer un remplacement global (au lieu de ne remplacer que la premire occurrence du texte rencontre dans chaque ligne)
Caractres gnriques
le caractre ? remplace un seul caractre, et le caractre * remplace n'importe quelle suite de caractres. Exemples d'utilisation frquente des caractres gnriques : find /home/yolande -name logo* : afficher tous les fichiers (et leur emplacement) qui commencent par logo et qui se trouvent dans le rpertoire /home/yolande ou l'un de ses sous-rpertoires cd /ho* le shell ira directement dans le rpertoire /home/, car le caractre gnrique * peut tre remplac par la squence de caractres me . cd /?ome et dans ce cas le caractre gnrique ? sera remplac par h .
102
Utilisateurs
Chaque utilisateur qui utilise le systme doit tre connu de celui-ci celuipar un nom et, ventuellement, un mot de passe. Un utilisateur doit appartenir un ou plusieurs groupes d'utilisateurs pour tre autoris utiliser le systme. Il existe plusieurs mthodes d'identification et de contrle des utilisateurs, nous ne parlerons ici que de la mthode la plus simple mettant en oeuvre les fichiers /etc/passwd et /etc/group. Les utilisateurs et les groupes sont reprs dans le systme par des numros : uid pour le numro d'utilisateur (User IDentifier) et gid pour le numro de groupe (Group IDentifier).
Le numro est unique pour un utilisateur ou un groupe donn.
103
Hirarchie de comptes
Root
super utilisateur les permissions d accs ne sont pas appliques sur lui il peut faire tous compte pour l administrateur du systme
comptes ordinaires
104
100 premiers nombres sont par convention rservs au systme et ne correspondent pas des utilisateurs normaux. gid : Numro 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 attribue 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, ...).
Notion d'identifiant
Tous les identifiants sont dfinis dans le fichier /etc/passwd: $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt nobody:x:99:99:Nobody:/: www:x:500:501:Serveur www:/home/www:/bin/nologin dp:x:501:234:DUCROT Patrick:/home/dp:/bin/bash pierre:x:502:501:DUVAL Pierre:/home/duval:/bin/bash
Le fichier /etc/passwd
login mot de passe identifiant numrique
l'identifiant numrique de son groupe principal
107
/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 systmes 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.
108
/etc/shadow
Une ligne /etc/shadow est compose des champs suivants:
Nom de login mot de passe crypt Nombre de jours couls 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 aprs 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 aprs l'expiration provoquant la desactivation du compte Numro du jour depuis le 1er janvier 1970 partir duquel le compte a t dsactiv Champs rserv
Le fichier /etc/shadow
111
/etc/shadow
Exemple : kmaster:$1$zBvl.scX$hkqgDvBu40EqpAEwZ fZZQ0:11493:0:99999:7:::
le mot de passe en cours a t mis en place le 11493e jour aprs le 1/1/1970 (date de rfrence), il pourra nouveau tre chang 0 jour aprs cette date il devra obligatoirement tre modifi avant le 99999e jour aprs la date de cration (autant dire qu'il n'expire jamais...).
Notion de groupe
Les systmes Unix dfinissent une notion de groupe; les groupes sont stocks dans le fichier /etc/group permettant d'associer un nom de groupe (gname) un numro de groupe (gid) ainsi que la liste de ses membres. Un utilisateur appartient un groupe principal (dfini dans le fichier /etc/passwd) et ventuellement des groupes secondaires.
113
LE FICHIER /etc/group
- Une ligne contient quatre champs, spars par deux points (:) Nom du groupe : - Nombre maximum de caractres : 8. - Il est unique sinon conflit avec la commande newgrp. 2) Mot de passe : - Champ gnralement vide. - Lorsqu il existe, il permet d'augmenter la scurit du systme. - Il est demand lorsqu'un utilisateur essaie de changer de groupe.
114
LE FICHIER /etc/group
3) Numro du groupe (GID) : - Lien entre les fichiers /etc/group et /etc/passwd. - Il est appel numro de groupe primaire (NGP) dans le fichier /etc/passwd, . - Chaque NGP possde une entre dans le fichier /etc/group - C est cet identifiant qui est connu du systme, et non le nom du groupe, qui n'est utilis que pour l'affichage.
115
LE FICHIER /etc/group
4) Les membres - Chaque groupe comprend une liste des membres, spars chacun par une virgule. - La commande newgrp permet chaque membre de changer de groupe Intrts - Accs des fichiers communs un autre groupe. - Un utilisateur peut appartenir plusieurs groupes (groupes secondaires) (secondary group set).
116
Le fichier /etc/group
Le fichier de dclaration 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, spars par des caractres `:' :
nom du groupe mot de passe du groupe numro du groupe (gid) liste des utilisateurs appartenant au groupe spars par des virgules
Par exemple :
etudiants:*:400:said,karim,rachida
Le fichier /etc/group
Si la place d'un des caractres nous ne voyons qu'un tiret "-", c'est que le droit n'est pas autoris.
124
125
128
129
La commande chmod permettant de positionner rwxr-x--- sur fic1 la syntaxe suivante : chmod 750 fic1
130
Exemple
Si on souhaite un accs en lecture/criture pour le propritaire et en lecture seule pour le groupe et le reste de monde, on utilise 022 comme masque
131
132
133
134
135
Le changement
de propritaire
chown options proprietaire:groupe fichier(s) Exemples: chown pierre exemple chown pierre:prof exemple chown R pierre * Qui peut utiliser la commande chown ?
de groupe chgrp options groupe fichier(s) Exemple: chgrp prof test
Quelques commandes
Connatre son uid, son gid et ses groupes secondaires grce la commande id: $ id uid=501(dp) gid=234(prof) groups=234(prof),100(users) Connatre des informations sur un utilisateur: $ finger dp Login: dp Name: DUCROT Patrick Directory: /home/dp Shell: /bin/bash On since Wed Jan 26 16:22 (CET) on pts/1 25 days 15 hours idle On since Wed Jan 26 16:22 (CET) on pts/0 No mail. No Plan.
-l : compter le nombre de lignes -w : compter le nombre de mots -c : compter le nombre d'octets -m : compter le nombre de caractres
1.
2.
3.
nous souhaitons extraire de ce fichier la liste des prnoms. -d : indique quel est le dlimiteur dans le fichier -f : indique le numro du ou des Pour avoir les champs nr1 champs prnom et le et nr3 (le couper commentaire) :
La commande split
Cette commande permet de dcouper un fichier en plusieurs morceaux. Syntaxe: split -n fichier fichiers_resultat Exemple: split -10 exemple petitfichiers Cette exemple va crer les fichiers petitfichiersaa, petitfichiersab, contenant le contenu du fichier exemple par tranche de 10 lignes.
La commande comm
La commande comm permet d'extraire les lignes communes et les lignes uniques de 2 fichiers pralablement tris. Syntaxe: comm [-123] fichier1 fichier2 Exemple:
La commande diff
Cette commande permet de rechercher des diffrences entre 2 fichiers. Syntaxe: diff -options fichier1 fichier2 Exemples d'options: -b ne pas tenir compte des diffrences concernant des espaces blancs -B ne pas tenir compte des diffrences concernant des lignes blanches Exemple: $ diff carnet1 carnet2 2,3c2,3 < maurice:29:0298334432:Crozon < robert:75:0144234452:Paris --> myriam:30:0434214452:Nimes > olivier:29:0298333242:Brest
> (appel chevron) redirige la sortie de la commande dans un fichier appel "eleves.txt" qui vient d'tre cr
Le double chevron >> sert lui aussi rediriger le rsultat dans un fichier, mais cette fois la fin de ce fichier.
2>, 2>> et 2>&1 : de donnes diffrents : erreurs rediriger les les commandes produisent 2 flux
La sortie standard : pour tous les messages (sauf les erreurs). La sortie d'erreurs : pour toutes les erreurs.
Il est aussi possible d'utiliser 2>> pour ajouter les erreurs la fin du fichier 2>&1 : redirige les erreurs au mme endroit et de la mme faon que la sortie standard. il n'est pas possible d'crire : 2>>&1
La console vous propose alors de taper du texte. crire des nombres, un par ligne (en appuyant sur la touche Entre chaque fois Lorsque vous avez fini, tapez FIN pour arrter la saisie. Le mot FIN est-il obligatoire ? vous pouvez utiliser le mot que vous voulez. Par exemple :
Commande tee
Avec lutilisation dun tube, le rsultat de la premire commande nest pas accessible. Pour avoir une copie, on peut utiliser la commande tee. Le rsultat de la premire commande est sauvegard dans un fichier dont le nom est pass en argument. Exemple
ls | tee espion | wc l Le rsultat de la commande ls est enregistr dans le fichier espion
Automatisation de tches
Modifier la date
Automatisation de tches
Effectuer de tches des temps diffrs: De manire rptitive (commande crontab) Ponctuellement (commande at) Ces tches peuvent de toute nature (sauvegarde, ...) et sont souvent dcrites dans des scripts shell.
La commande at
La commande at excute une commande un moment donne. Exemple: La cration du rpertoire docs dans votre rpertoire 15h30 $ at 1530 at> mkdir /home/<moncompte>/docs at> <Ctrl^D> Si je veux excuter la commande demain 14h17 Et si je veux excuter la commande le 15 novembre 14h17
atrm num
Destruction d'une tche en attente (num est le numro de la tche supprimer obtenu grce la commande atq).
minute: 0-59 heure: 0-23 jour_mois: 1-31 mois: 1-12 jour_semaine: 0-6 (0 = dimanche)
Archiver et compresser
1. 2.
Tar : permet d'assembler des fichiers dans un seul fichier avant de les compresser.
Runir les fichiers dans un seul gros fichier appel archive. On utilise pour cela le programme tar. Compresser le gros fichier ainsi obtenu l'aide de gzip ou de bzip2. La syntaxe de tar est trs simple : tar options archive [fichiers] Les options de tar que vous utiliserez le plus souvent sont les suivantes : cvf pour crer une archive ; tvf pour lister le contenu d'une archive ; (ls) xvf pour restaurer le contenu d'une archive Pour archiver le contenu du rpertoire courant dans le fichier archive.tar : tar cvf archive.tar * :
Les processus
PID : c'est le numro d'identification du processus. Chaque processus a un numro unique qui permet de l'identifier. TTY : c'est le nom de la console depuis laquelle a t lanc le processus. TIME : la dure d'excution du processus. CMD : le programme qui a gnr ce processus.
ps sans arguments affiche seulement les processus lancs par le mme utilisateur
L'diteur vi
Lanons Vi : [root@mistra /root]# vi vi comprend deux modes : un mode "commande" et un mode "insertion", aprs le lancement de vi nous sommes en mode commande : appuyez sur la touche "Echap" puis sur "a". Vous voyez en bas de l'cran apparatre la ligne "-- INSERT --". Nous pouvons commencer notre texte : Nous sortons du mode texte en appuyant nouveau sur la touche "Echap". La mention "-- INSERT --" disparat, nous sommes en mode commande Tapez maintenant " :w linux-test" Si vous souhaitez quitter sans enregistrez les dernires modifications, il vous faudra passer en mode commande et taper " : q!".
L'diteur vi
D'autres commandes vi. A permet d'ajouter du texte la fin de la ligne. i permet d'ajouter du texte avant le curseur. o permet d'ajouter une ligne en dessous du curseur. O permet d'ajouter une ligne au dessus du curseur. le retour chariot permet d'aller la ligne suivante. dd permet de supprimer la ligne courante. X permet de supprimer le caractre avant le curseur. u permet d'annuler la dernire commande effectue
Les variables
On peut crer des variables V par affectation et les utiliser avec $ V Exemple: #!/bin/bash pays=Maroc echo La variable pays vaut $pays Il existe aussi des variables dfinies automatiquement. Ce sont les paramtres entrs au lancement du script Exemple:
#!/bin/bash pays=$1 #$1 est le premier paramtre, $2 le deuxime etc... echo La variable pays vaut $pays Il existe deux autres variables automatiques: $# qui est le nombre de paramtres et $0 qui est le nom du programme.
La commande test ou [ ]
Cette commande permet de tester l'existence et le status d'un fichier. Test de fichier:
La commande test
test de chanes de caractres
Ces tests peuvent tre combins: ! ngation logique -a et logique -o ou logique Exemple: test -r essai -a -s essai
La commande test
Les diffrents oprateurs de comparaisons numrique sont:
Exemple: #!/bin/bash if (test $1 -gt $2) then echo $1 est plus grand que $2 elif [ $1 -lt $2 ] then echo $1 est plus petit que $2 else echo $1 gale $2
La commande test
La structure while Syntaxe: while liste de commandes do liste de commandes Done
Exemple
La commande test
La structure for
Syntaxe: for nom in liste do liste de commandes Done Exemple
#!/bin/bash for fichier in * do if [ -f $fichier ]; then echo "$fichier est un fichier ordinaire" fi done
lignes du fichier timbre la commande head ralise la mme chose que tail mais elle affiche les premires lignes du fichier au lieu d'afficher les dernires. .
et
de