Administration Système LINUX-1 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Administration Système LINUX ABDELMAJID HAJAMI

2017

‫ح‬

‫ع‬HA

Plan 

Généralités



Installation de Linux



Système de fichiers



Shell



Editeurs de texte



Gestion des utilisateurs



Serveurs

2

‫ح‬

‫ع‬HA

3

Généralités

‫ح‬

‫ع‬HA

Le début 

Linux est un système d'exploitation (OS) créé par un finlandais, Linus Torvalds.



Il s'est basé pour développer son système sur un système déjà existant: Minix (Tanambum, Professeur de Linus)

4



Minix est lui-même basé sur un autre type de système: Unix



1979: Première commercialisation du noyau Unix



1987: Première version de Minix



1991: première version de Linux (de son noyau)

‫ح‬

‫ع‬HA

Caractéristiques de LINUX 

5

UNIX est un Système d'exploitation :  multi-utilisateurs  multi-tâches  multi-plate-formes

(c'est-à-dire portable) : IBM, SUN, HP, IRIX (Silicon Graphics)… et maintenant sur PC avec Linux, mais aussi caché dans MacOS X  qui gère la répartition des ressources (mémoire et espace disque)  orienté réseau (e.g. partage de fichiers sur une machine distante : NFS…) …  très utilisé en développement et en recherche (le développement d'applications y est SIMPLE)  très stable  Devient d'utilisation simple pour tous

‫ح‬

‫ع‬HA

Fonctionnement de LINUX

6

‫ح‬

‫ع‬HA

Fonctionnement de LINUX X-Window

7

Couche interface

Shell Noyau (Kernel)

Couche système

BIOS Périphériques

Couche physique

‫ح‬

‫ع‬HA

Principales distributions Linux 

8

Une distribution GNU/Linux est un ensemble cohérent de logiciels libres, assemblés autour du noyau Linux et de paquets GNU [Ref : wikipedia.org].

https://fr.wikipedia.org/wiki/Liste_des_distributions_Linux

‫ح‬

‫ع‬HA

Principales distributions Linux 

Debian distribution non commerciale régie par le contrat social Debian. Elle se distingue par le très grand nombre d'architectures soutenues et, de ce fait, par son cycle de développement relativement long, entraînant la stabilité des versions.



Red Hat Enterprise Linux distribution commerciale qui a créé le gestionnaire de paquets RPM utilisé également par d'autres distributions (Mandrake fut la première à la reprendre intégralement).

9

‫ح‬

‫ع‬HA

Principales distributions Linux

10



Slackware une des plus anciennes distributions, encore en développement.



SuSE Linux développée aujourd'hui en deux versions dont SuSE Linux Enterprise pour les besoins d'entreprise (avec de nombreuses certifications matérielles et logicielles). Basé à l'origine sur Slackware, SuSE Linux puis SuSE linux Entreprise est la plus ancienne distribution commerciale encore existante.

‫ح‬

‫ع‬HA

Autres distributions Linux

11

‫ح‬

‫ع‬HA

Configuration nécessaire

12



Un processeur (ou plus) de type Intel Pentium et supérieur ou un équivalent de marque AMD.



Au moins 128 Mo de mémoire, mais 256 Mo ou plus apportent une réel confort d’utilisation.



500 Mo d’espace disque pour une installation minimale mais 2,5 Go pour une installation standard, auquel il faut rajouter l’espace pour les données de l’utilisateur et la partition d’échange.



Une carte graphique acceptant de préférence le 1024x768 en 65 356 couleurs pour l’environnement graphique.



Le noyau prend en charge une grande variété de périphériques matériels : Cartes de communication Wifi, Bluetooth, Zigbee, …

‫ح‬

‫ع‬HA

13

Installation de Linux

‫ح‬

‫ع‬HA

Installation 

14

Partitions :

Nécessaires

SWAP

Préférables

SWAP

Système + applications + autres données

Système

Applications

Dossiers Utilisateurs

‫ح‬

‫ع‬HA

Installation 

15

Le gestionnaire de démarrage: GRUB 

GRand Unified Bootloader, version 2 (ou GRUB 2) est la seconde version de GNU GRUB. C'est un logiciel permettant de charger un système d'exploitation. Il pourra amorcer lui-même des systèmes compatibles avec la norme POSIX (GNU/Linux, *BSD, Mac OS, etc.) ou enchaîner vers un autre chargeur d’amorçage pour les autres systèmes

‫ح‬

‫ع‬HA

Installation 

16

Le gestionnaire de démarrage: LILO

LILO ou LInux LOader est, tout comme GRUB, un chargeur d'amorçagelibre, diffusé sous la licence BSD. Il permet de choisir la partition à amorcer lors du démarrage de l'ordinateur. Il permet le chargement de divers systèmes d'exploitation, mais s'installe depuis Linux. D'ailleurs, il a été initialement conçu pour le chargement de Linux, d'où son nom. Les premières versions de LILO demandaient la saisie au clavier du nom du système à amorcer. Les versions récentes affichent un menu semigraphique à l'écran, voire une image en 640x480 16 couleurs ; si l'utilisateur ne touche pas le clavier pendant un temps déterminé, généralement 10 secondes, le système d'exploitation configuré par défaut dans LILO sera lancé Install

‫ح‬

‫ع‬HA

Bureau KDE

17

‫ح‬

‫ع‬HA

18

Système de fichiers

‫ح‬

‫ع‬HA

Système de fichiers

19

C’est quoi un FICHIER ? Un fichier est une collection autonome de données.

Pour afficher le type de données contenues dans un fichier, on peut utiliser la commande

#file nom.ext

‫ح‬

‫ع‬HA

Système de fichiers

20

La structure des dossiers et fichiers LINUX

Tout est FICHIER Plusieurs types de fichiers : Fichiers ordinaires répertoires Liens symboliques

#ln –s

Fichiers périphériques

/dev/fd0

‫ح‬

‫ع‬HA

Système de fichiers

21

Arborescence Linux



http://www.pathname.com/fhs/pub/fhs-2.3.html

‫ح‬

‫ع‬HA

22

Shell

‫ح‬

‫ع‬HA

Shell

23

Définition: 

permet d’exécuter des instructions (commandes)



interface fonctionnant en mode texte entre le noyau et les utilisateurs (avancés).



Le shell est aussi un fichier exécutable chargé à :  interpréter 

les commandes

les transmettre au système

 retourner

le résultat.

‫ح‬

‫ع‬HA

Principaux Shells 

sh : Bourne Shell (a remplacé le précédent)



csh : C Shell



ksh : Korn Shell



zsh : Z Shell



bash : Bourne Again Shell

 

… La commande chsh permet de changer le shell

24

‫ح‬

‫ع‬HA

Caractéristiques d'un Shell 

Existence d'un fichier de configuration pour chaque shell.



modifiable par l'administrateur système



contrôler les processus





 

25

Vous pouvez consulter la liste des shells installés sur votre système dans /etc/shells Comment savoir quel shell est en cours d'utilisation ?: #echo $SHELL

‫ح‬

‫ع‬HA

Les commandes de base de LINUX 





26

L’utilisateur tape des commandes qui sont exécutées par le système: 

Le shell est donc un « interpréteur de commandes »



Chaque commande a une syntaxe particulière



Il existe des milliers de commandes différentes

Les commandes peuvent aussi provenir d’un fichier 

Le fichier contient les commandes à exécuter



L’utilisateur appel le fichier plutôt que de taper toutes les commandes

Le shell reste le moyen le plus efficace pour contrôler le système 

C’est le plus utilisé sous Linux/Unix

‫ح‬

‫ع‬HA

Les commandes de base de LINUX 

27

La ligne de commande se présente sous forme de texte ayant la signification suivante : Nom de la machine

Nom utilisateur

Répertoire courant

$ : utilisateur normal # : administrateur root

‫ح‬

‫ع‬HA

Les commandes de base de LINUX 

Il suffit de taper une commande pour qu’elle soit exécutée



Une commande peut être appelée :

28



En tapant son nom puis des arguments ou paramètres



Exemple permettant de rechercher dans le répertoire courant les fichiers dont la taille est supérieure à 1Mo user@machine: /home/user$ find ./ -size +1M

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

29

Syntaxe 

Chaque commande a une syntaxe particulière



Elle est composée de paramètres et d’options



Les paramètres permettent de fournir les données nécessaires à l’exécution de la commande



Les options permettent d’offrir des fonctionnalités supplémentaires qui s’adaptent à des besoins spécifiques



Exemple : Commande « ls -a » qui liste aussi les fichiers cachés

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

30

Format général des commandes : commande [-option(s)] [argument(s)]

–a *.txt Exemple 1 : ls Exemple 2 : cp [OPTION]... SOURCE... DIRECTORY

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

31

[option]* [argument]* correspond à un nom de commande (fichier exécutable). On peut avoir 0 ou plusieurs options et 0 ou plusieurs arguments. Une option est une lettre précédée par « - ». Les espaces sont des séparateurs.

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

32

Le manuel « man » La commande « man » (Manual) permet d’obtenir de l’aide sur la syntaxe d’une commande

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

33

Une page de manuel se décompose en plusieurs parties distinctes NAME: Nom et description rapide de la commande SYNOPSIS : Syntaxe(s) de la commande DESCRIPTION : Description complète de la commande OPTIONS : La description des options AUTHOR : Un mot sur l’auteur BUGS : bugs connus SEE ALSO : Autres commandes connexes à consulter également … (Dépend des commandes)

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

34

Exemple de la commande « ls »: ls [OPTION]... [FILE]...

Quelques options utiles (Attention à la casse) : -a : Liste les fichiers cachés -l : Listing long (Plus d’infos sur les fichiers) -S : Classement par taille de fichiers -t : Classement par date de modification

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

35

Exemple de la commande « ls »: Listing long avec répertoires cachés et fichiers s –alS

/etc

Listing long avec fichiers plus récents: ls –lt

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

36

Les commandes de gestion des répertoires et des fichiers: 

pwd : affiche le chemin absolu du répertoire courant



ls : affiche les répertoires et les fichiers du répertoire actif 

ls (affiche seulement les noms)



ls toto* (affiche les fichiers commençant par toto)



ls -l (affiche le format long : types + droits + Nbre de liens + ....)

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

37

Les commandes de gestion des répertoires et des fichiers: 



cd 

cd .. (répertoire parent)



cd ~ (répertoire de base)



cd - (répertoire précedent)



cd / (répertoire racine)

cp (copie) 

cp source destination



cp * destination

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

38

Les commandes de gestion des répertoires et des fichiers: 

mv (renomme et déplace un fichier):



mv source destination



mv * dossier (déplace tous les fichiers du répertoire actif vers le répertoire dossier).

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

39

Les commandes de gestion des répertoires et des fichiers: 

mkdir (créer un répertoire)



mkdir répertoire



rmdir (effacer un répertoire)



rmdir dossier (supprime un répertoire vide)

‫ح‬

‫ع‬HA

Les commandes de base de LINUX

40

Les commandes de gestion des répertoires et des fichiers:      

rm (remove) rm -R: Supprimer récursivement le contenu des répertoires. rm fichier rm -i fichier (interactivement, avec demande de confirmation) rm -f fichier (avec force, sans demande de confirmation) …

‫ح‬

‫ع‬HA

Les métacaractères de LINUX

41

On peut utiliser des méta-caractères pour remplacer un ou plusieurs caractères. les méta-caractères peuvent être : ? pour remplacer un (1) caractère. ? remplace un caractère unique Exp: ls -a??

‫ح‬

‫ع‬HA

Les métacaractères de LINUX

42



Nous pouvons utiliser des méta-caractères dans le motif



pour remplacer un ou plusieurs caractères.



les méta-caractères peuvent être :



? pour remplacer un (1) caractère.



? remplace un caractère unique



Exp: ls -a??

  

* pour remplacer 0 à n caractères. *:il remplace une chaîne de longueur non définie Exp: ls -a*

‫ح‬

‫ع‬HA

Les métacaractères de LINUX 

43

[ ] représente une série de caractères



[aA]* les fichiers/dossiers dont le nom commence par un a ou A



[a-d]* les fichiers/dossiers dont le nom commence par a jusqu'à d.

‫ح‬

‫ع‬HA

Les séparateurs conditionnels de commandes   

44

&& :permet d’exécuter la commande qui le suit si et seulement si la

commande qui le précède a été exécutée sans erreur

||: permet d’exécuter la commande qui le suit si et seulement si la commande qui le précède a été exécutée avec erreur Exemple: cd rep && rm *

Suppression des fichiers si la commande cd rep a été correctement exécutée cd rep || mkdir rep Si le répertoire rep n’existe pas il sera créé par mkdir

‫ح‬

‫ع‬HA

45

Editeurs de texte

‫ح‬

‫ع‬HA

Editeurs de textes   

46

Un éditeur de texte est un logiciel destiné à la création et l'édition de fichiers textes. Chaque système d'exploitation fournit un éditeur Exemples: 

vi



vim



gedit



emacs



joe





‫ح‬

‫ع‬HA

Editeurs de textes

47

vi: 

L’éditeur Unix par défaut



disponible et utilise la même syntaxe de base sur tous les Unix.



L’éditeur vi sous Linux se nomme vim



vi n’a pas de menus, pas d’interface graphique et n’est pas intuitif





gedit: 

gedit est un éditeur de texte open source (sous licence GPL),



compatible UTF-8. Il est fourni par défaut avec l'environnement graphique GNOME.

‫ح‬

‫ع‬HA

Editeurs de textes  Pour

48

ouvrir un fichier existant ou le créer:

vi fichier 



Pour passer en mode insertion:  Saisir

« i»

 Saisir

« a»

Pour revenir au mode "commande":  ECHAP

 

Pour quitter "vi" sans enregistrer: Saisir ":q!"

‫ح‬

‫ع‬HA

Editeurs de textes  Pour

quitter "vi" en enregistrant:

 Saisir

"ZZ«

 Saisir

:x



49

Saisir :wq

 Pour

afficher l'aide en ligne:

 :help





‫ح‬

‫ع‬HA

50

Linux est un système multi-utilisateurs. Cela signifie que plusieurs personnes peuvent travailler simultanément sur le même OS, en s'y connectant à distance notamment. Puisque plusieurs utilisateurs peuvent être connectés à Linux en même temps, celui-ci doit avoir une excellente organisation dès le départ. Ainsi chaque personne a son propre compte utilisateur, et il existe un ensemble de règles qui disent qui a le droit de faire quoi.

51 51

Lorsque vous avez installé LINUX, on vous a demandé le nom du compte utilisateur que vous vouliez créer. Dans la plupart des distributions Linux on vous proposera de créer un compte utilisateur avec des droits limités. On se demande donc pourquoi créer un utilisateur avec des droits limités et pourtant c’est nous qui avons installé LINUX,

52

Oui, et c'est une sécurité. Bien sûr, comme vous êtes aux commandes, vous pouvez à tout moment dire : « Bon allez on passe en mode chef-qui-peut-tout-faire ». Mais c'est une sécurité de ne pas avoir le droit de tout faire par défaut, car certaines commandes peuvent être dangereuses pour la stabilité et la sécurité de votre ordinateur. Avoir des droits limités, cela signifie aussi qu'on s'empêche par exemple d'exécuter la « commande très dangereuse » qui supprime tout votre disque dur depuis la racine, sous-dossiers compris, et ne demande aucune confirmation. Aucune possibilité de récupération, votre PC est foutu. Vous êtes bons pour une réinstallation de Linux,

53

Nous allons d'abord commencer par voir comment sont organisés les utilisateurs sous Linux, puis nous verrons comment devenir le « chef ». Par la suite dans les séquences qui suivent cette vidéo, nous apprendrons à créer et supprimer des utilisateurs en ligne de commande. On peut créer autant d'utilisateurs que l'on veut, .

54

Ces utilisateurs, eux même peuvent être répartis dans des groupes.

55

Dans cette exemple, nous avons deux types de groupes : un groupe Famille qui contient trois membres, et un groupe Amis avec deux membres, Il y a un utilisateur « spécial », root, aussi appelé superutilisateur. Celui-ci a tous les droits sur la machine. On ne se connecte en root que très rarement, lorsque c'est nécessaire. Certaines commandes de Linux ne sont accessibles qu'à root. Le reste du temps, on utilise le compte « limité » que l'on a créé (user1 dans notre cas). Cette simple protection permet de largement limiter les dégâts en cas de fausse manipulation, de virus sur votre PC, etc. En effet, un virus ne peut rien faire de plus que vous quand vous êtes connectés avec des droits limités. En revanche, si vous êtes en root il pourra tout faire, même détruire votre ordinateur.

56

Donc on retrouve principalement dans un système LINUX : Les comptes des usagers qui sont les comptes d'utilisateur qui sont attribués à des usagers physiques de votre ordinateur. C'est ce type de compte qui identifie les gens qui se servent de votre ordinateur; Le compte superutilisateur qui est un compte unique qui dispose de toutes les autorisations dans votre système. Classiquement, il sert essentiellement à l'administration de votre système. Et il y a aussi Les comptes système sont des comptes créés par le système LINUX et des services installés dans votre système LINUX. Ils servent à faire fonctionner certains services de votre système comme l'impression, le son, la numérisation de documents et les session des usagers. Ces comptes sont généralement invisibles aux usagers, et vous ne devriez aucunement les modifier.

57

Le fichier /etc/passwd contient toutes les informations relatives aux utilisateurs (login, mots de passe, ...). Seul le superutilisateur (root) doit pouvoir le modifier. Il faut donc modifier les droits de ce fichier de façon à ce qu'il soit en lecture seule pour les autres utilisateurs. Ce fichier possède un format spécial permettant de repérer chaque utilisateur, chacune de ses lignes possède le format suivant: nom_du_compte : mot_de_passe : numero_utilisateur : numero_de_groupe : commentaire : répertoire : programme_de_demarrage Sept champs sont explicités séparés par le caractère ":" : le nom du compte de l'utilisateur le mot de passe de l'utilisateur (codé bien sûr) l'entier qui identifie l'utilisateur pour le système d'exploitation (UID=User ID, identifiant utilisateur) l'entier qui identifie le groupe de l'utilisateur (GID=Group ID, identifiant de groupe) le commentaire dans lequel on peut retrouver des informations sur l'utilisateur ou simplement son nom réel le répertoire de connexion qui est celui dans lequel il se trouve après s'être connecté au système la commande est celle exécutée après connexion au système (c'est fréquemment un

58

interpréteur de commandes) On peut visualiser le contenu d’un fichier passwd par la commande cat /etc/passwd

58

Le fichier /etc/group contient la liste des utilisateurs appartenant aux différents groupes. En effet, lorsque de nombreux utilisateurs peuvent avoir accès au système, ceux-ci sont fréquemment rassemblés en différents groupes ayant chacun leurs propres droits d'accès aux fichiers et aux répertoires. Il se compose de différents champs séparés par ":" : nom_de_groupe : champ_special : numero_de_groupe : membre1, membre2

59

Sudo (su "faire") qui signifie : substitute user – do. Cette commande permet à un administrateur système de donner à certains utilisateurs (ou groupes d'utilisateurs) la capacité d'exécuter certaines (ou toutes) les commandes en tant que root tout en enregistrant toutes les commandes et arguments. La commande id affiche les informations utilisateur et de groupe pour un utilisateur spécifié, ou si aucun utilisateur n'est spécifié, elle affiche les informations sur l'utilisateur courant La commande who affiche les informations sur les utilisateurs qui sont connectés à la machine, La commande w affiche des informations sur les utilisateurs actuellement sur la machine, et de leurs processus. Les en-tête indique, dans cet ordre, l'heure actuelle, combien de temps le système fonctionne, combien d'utilisateurs sont actuellement connectés, et les moyennes de charge du système pour les 1, 5 et 15 dernières minutes.

60

En fin , la commande su permet à un utilisateur de se transformer temporairement en un autre utilisateur. Si aucun nom d'utilisateur n'est mentionné, le nom root, le SuperUtilisateur, est utilisé par défaut. Si l'utilisateur dispose d'un mot de passe, la commande su le réclame,

61

Après l’installation d’une nouvelle distribution Linux, souvent on ne trouve que le compte root pour l’administration du système et les comptes des pseudo-utilisateurs. Tous les autres comptes utilisateurs doivent tout d’abord être crées (la plupart des distributions d'aujourd'hui poussent la personne installant pour créer au moins un compte utilisateur "normal« ) Etant administrateur, c’est de votre travail de créer et gerer les comptes pour tous les utilisateurs (réels et pseudo). Pour faciliter cette tache, Linux offre plusieurs outils pour la gestion des utilisateurs. Avec ces outils , cela est principalement une tâche simple, mais il est important de comprendre leur background .

62

La procedure pour créer un nouvel utilisateur est en principe la même, et consiste en 4 étapes: 1- créer des entrées dans le fichier /etc/passwd (et éventuellement /etc/shadow) 2- si nécessaire, une entrée (ou plusieurs) dans le fichier /etc/group est indispensable 3- il faut créer le répertoire personnel, y copier l’ensemble des fichiers de base, et transférer la propriété au nouvel utilisateur 4- si nécessaire, il faut entrer l'utilisateur dans d'autres bases de données, par exemple pour les quotas de disque, les tables de privilèges d'accès de base de données et des applications spéciales Tous les fichiers manipuler pour ajouter un nouveau compte sont des fichiers texte brut, Vous pouvez effectuer chaque étape manuellement en utilisant un éditeur de texte. Cependant, comme c’est un travail assez fastidieux, vous pouvez laisser le système vous aider, par le biais de la commande useradd

63

Dans le cas le plus simple, vous passez simplement la commande useradd suivi du nom du nouvel utilisateur. En option, vous pouvez entrer divers autres paramètres de l'utilisateur; pour les paramètres non spécifiés (typiquement l'UID), les valeurs par défaut seront choisis automatiquement. Le répertoire personnel de l'utilisateur sera créé et doté d'un ensemble de base de fichiers que le programme prend du répertoire / etc / skel. La syntaxe de la commande est : useradd [] Les options suivantes sont disponibles: - c comment Le champ de commentaire du fichier de mots de passe du nouvel utilisateur. - d home directory Le nouvel utilisateur sera créé en utilisant dossier comme valeur du répertoire de connexion de l'utilisateur, si ce parameter est absent / h o m e / ⟨user name⟩ est utilisé - e date A cette date, le compte sera désactivée automatiquement (format “YYYYMMDD”) - g group Le groupe primaire du nouvel utilisateur (nom ou GID). Ce groupe doit exister. - G group[,group]… Groupes supplémentaires (noms ou GID). Ces groupes doivent

64

aussi exister. - s shell Le nom du Shell de connexion de l'utilisateur. Le comportement par défaut est de laisser ce compte vide, ce qui fait sélectionner au système le Shell de connexion par défaut.

64

- u UID La valeur numérique de l'ID de l'utilisateur. Cette valeur doit être unique, à moins que l'option -o ne soit utilisée. La valeur doit être non négative. - - m Le répertoire personnel de l'utilisateur sera créé s'il n'existe pas déjà. Les fichiers contenus dans /etc/skel seront copiés dans le répertoire personnel si l'option -k est employée; sinon, les fichiers contenus dans /etc/skel seront utilisés à la place.

65

Pour l’instance, la comande #useradd crée un compte nomé user1 pour l’utilisateur appelé utilisateur 1, et l’assigne au groupe guser. Le repertoire personnel de l’utulisateur user1 est /home/user1, et les fichiers sont copies dedant depuis /etc/skel.guser Après sa creation en utilisant la commande useradd, le nouveau compte n’est pas encore accessible. L’adminitrateur système doit tout d’abord lui assigner un mot de passe

66

La commande passwd est utilisée pour attribuer des mots de passe pour des utilisateurs. Si vous êtes connectés en tant qu’administrateur (root), et vous demandez un nouveau mot de passe pour l’utilisateur user1, vous devez l’entrer deux fois car il ne sera pas affiché à l'écran. La commande passwd est aussi disponible pour les utilisateurs normaux, pour leur permettre de changer leurs propres mots de passe. (pour changer le mot de passe d’un autre utilisateur, il faut avoir le droit super-utilisateur)

67

En effet, passwd sert à gérer divers paramètres dans le fichier / etc / shadow. Par example, vous pouvez regarder "l'état de mot de passe" d'un utilisateur en appelant la commande passwd avec l'option – S : Le premier champ de la sortie est (une fois de plus) le nom de l'utilisateur, suivi par l'état du mot de passe: "PS" ou "P" si un mot de passe est attribué, "LK" ou "L" pour un compte verrouillé, et "NP" pour un compte sans mot de passe Les autres champs sont respectivement, la date de la dernière modification du mot de passe, le délai minimum et le délai maximum pour changer le mot de passe, l’intervalle d'avertissement d'expiration et le "délai de grâce" avant que le compte ne soit complètement verrouillé après l'expiration du mot de passe. Vous pouvez modifier certains de ces paramètres à l'aide des options de la commande passwd. Voici quelques exemples: # passwd - l user1 Verrouiller le compte # passwd - u user1 Débloquer le compte # passwd - m 7 user1 Changement du mot de passe tous les 7 jours # passwd - x 30 user1 Changement du mot de passe au moins tous les 30 jours # passwd - w 3 user1 3 jours de période de grâce avant l'expiration du mot de passe

68

Pour supprimer un compte utilisateur, vous devez enlever les entrées de /etc/passwd et de /etc/shadow , supprimer toutes les référeces à cet utilisateur dans /etc/group et supprimer son repertoire personnel ainsi que tous les autres fichiers créés ou possédés par cet utilisateur, Si l’utilisateur supprimé possède une boite Email pour les messages entrants dans /var/mail, elle doit être supprimée aussi,

69

Aussi, il y a une commande convenable pour automatiser toutes ces étapes, La commande userdel supprime complétement un compte utilisateur, Sa syntaxe est userdel [- r ] ⟨nom_utilisateur⟩ L’option –r permet de supprimer le repertoire personnel de l’utilisateur (avec son contenu) ainsi que sa boite Email dans /var/mail; les autres fichiers propres à l’utilisateur doivent être supprimés manuellement, Une manière rapide pour localiser et supprimer les fichiers propres à un utilisateur est la commande find/ -uid ⟨UID⟩ - delete Sans l’option –r, seulement les informations de l’utilisateurs sont supprimées de la base de données; le repertoire personnel reste à sa place,

70

Les comptes utilisateurs et l’affectation aux groupes sont traditionnellement changés par l’edition des fichiers /etc/passwd et /etc/group Pourtant, plusieurs systems contiennent des commandes comme usermod et groupmod pour le même objectif et vous devriez préférer ces commandes car elles sont plus sûrs et-surtout-plus pratique à utiliser

71

La commande usermod accepte la plupart des options de useradd, mais ne permet que des changements des comptes d'utilisateurs existants au lieu d'en créer de nouveaux.

72

Par exemples avec usermod - g ⟨groupe⟩ ⟨nom utilisateur⟩ vous allez modifier le groupe principal d'un utilisateur Attention! Si vous voulez changer l’identifiant d’un utilisateur (UID), vous devez éditer le champ ⟨UID⟩ directement dans le fichier /etc/passwd Cependant, vous devriez en même temps transférer les fichiers de l'utilisateur au nouvel UID en utilisant la commande chown, Nous allons aborder la commande chown dans le chapitre qui suit,

73

Tout comme les comptes des utilisateurs, vous pouvez créer des groupes en utilisant l’une des méthodes suivantes; La méthode manuelle ici est moins fastidieuse que pour créer de nouveaux comptes utilisateurs, Puisque les groupes n’ont pas de repertoire personnels, il est souvent suffisant d’éditer le fichier /etc/group en utilisant un éditeur de texte, et d’ajouter une nouvelle ligne convenable, Quand des mots de passes de groupes sont utilizes, une autre entrée doit être ajoutée dans /etc/gshadow D’ailleurs; il n’y a rien de mal à créer des repertoires pour les groupes, Les membres d’un groupe peuvent placer les résultats de leurs traveaux collectifs dans ces repertoires. L’approche est similaire à la creation des repertoires personnels des utilisateurs, bien que aucun besoin de copier des fichiers de configuration Pour la gestion des groups, et par analogie à useradd , usermod , et userdel il y a les commandes groupadd , groupmod , et groupdel que vous pouvez utiliser au lieu d’éditer directement les fichiers /etc/group et /etc/gshadow

74

Avec groupadd vous pouvez créer de nouveaux groups simplement en passant les bons paramètres à la commande. L’option –g permet de spécifier un identifiant de groupe. L’identifiant de groupe est un entier positif. Les valeurs supérieure à 99 sont d’habitude réservés aux groupes système. Si l’option –g n’est pas spécifiée, le GID libre suivant est utilisé.

75

Vous pouvez éditer les groups existants avec la commande groupmod sans avoir à écrire directement dans /etc/group L’option –g change l’identifiant du groupe. Les affectations des fichiers de groupe non résolue doivent être ajustés manuellement. L’option –n attribue un nouveau nom au groupe sans changer son identidiant GID; les ajustements manuels ne sont pas necessaires.

76

Il y a aussi un utilitaire pour supprimer les entrées de groupe, il s’agit de groupdel. Ici, bien évidement, il est judiciex de vérifier le système de fichier pour l’affectation de groupe pour les fichiers orphelins avec la commande chgrp. Les groupes primaires des utilisateurs ne doivent pas être supprimés. Les utilisateurs en question doivent auparavant être supprimés, ou doivent être afféctés à d’autre groupes primaires

77

La commande gpasswd est principalement utilisée pour manipuler les mots de passes de groupes d’une façon similaire à la commande passwd. Cependant, l’administrateur système peut déléguer l’administration de la liste d’adhesion aux groupes à un ou plusieurs administrateurs de groupes,. Les administrateurs de groupe peuvent aussi utiliser la commande gpasswd : #gpasswd –a Ajoute ⟨utilisaturX⟩ au groupe ⟨groupeX⟩, et #gpasswd –d Supprime l’utilisateur Y du groupe Y. Avec la commande #gpasswd –A , ... l’administarteur système peut désigner les utilisateurs qui devienderont des administrateurs de groupe

78

79

Droits d’acces

‫ح‬

‫ع‬HA

Bonjour Linux est un système multi-utilisateurs. Cela signifie que plusieurs personnes peuvent travailler simultanément sur le même OS, en s'y connectant à distance notamment. Puisque plusieurs utilisateurs peuvent être connectés à Linux en même temps, celui-ci doit avoir une excellente organisation dès le départ. Ainsi chaque personne a son propre compte utilisateur, et il existe un ensemble de règles qui disent qui possède quoi, et qui a le droit de faire quoi. Je vous propose de découvrir tous ces mécanismes dans ce chapitre

1

En effet, les systèmes d'exploitation inspirés d'Unix (dont Linux fait partie) possèdent la capacité de définir de façon poussée la gestion de droits d'accès aux divers fichiers de votre OS. Les droits d'accès paramétrés sur les fichiers et répertoires ne sont pas immuables : ils peuvent être changés, afin d'accommoder des nouveaux besoins apparaissant au fil du temps d'utilisation de votre système. La présente section explique les différentes manipulations pouvant être appliquées sur des fichiers et répertoires afin d'en changer les propriétaires et les permissions. LINUX Ainsi nous allons introduire le système de contrôle d’accès de LINUX Puis , Le contrôle d’accès pour les fichiers et les répertoires En suite comment apporter des changement sur les permissions d’accès Et en fin comment changer le propriétaire et le groupe d'un fichier

2

Quand plusieurs utilisateurs ont accès au même système sur la même machine, il doit y avoir un mécnisme de contrôle daccès pour les processus, les fichiers et les repertoires dans l’objectif d’assurer que l’utilisateur A ne puisse accéder aux fichiers privés de l’utilisateur B. Pour cette fin, LINUX implémente le système standard des privileges UNIX. Dans la tradition UNIX, chaque fichier et repertoire est assigné exactement à un seul utilisateur (son propriétaire) et à un seul groupe. Chaque fichier supporte des privileges séparés pour son propriétaire, les membres du groupe auquel il est assigné (“le groupe”, pour abréger), et tous les autres utilisateurs. Des privilèges de lecture, écriture et d’éxecution peuvent être attribués individuellement pour ces trois ensembles d’utilisateurs. Le propriétaire peut determiner les privileges d’accès pour son proper fichier, Le groupe et les autres peuvent seulement accéder à un fichier si son propriétaire leur confère les privileges convenables. Le total des permissions d’accès à un fichier est aussi appelé son mode d’accès. Dans un système multi-utilisateurs qui généralement enregistre des données privées dans un medias accessible, le propriétaire d’un fichier peut permettre aux autres utilisateurs de lire ou modifier ses fichiers en adoptant le contrôle d’accès convenable. Les droits peuvent être determines séparément et indépendement pour son propriétaire, son groupe et pour les autres.; Les permissions d’accès permettent aux utilisateurs de dresser un plan de responsabilités

3

d’un processus de groupe collaboratif pour les fichiers que le groupe utilise

3

Pour chaque fichier et chaque repertoire dans le système, XX LINUX atribue des droits d’accès séparés pour XX chacune des trois classes d’utilisateurs le propriétaire, les membres du groupe du fichier et les autres. Ces droits inclent XX les permissions de lecture, les permissions d’écriture et les permissions d’execution. Une fois les fichiers concernés, ces permissions controlent ce que leur sens propose : celui qui a la permission de lecture peut consulter le contenu du fichier et celui qui a la permission d’écriture a le droit de changer le contenu du fichier. La permission d’execution est necessaire pour lancer le fichier comme processus. Pour les repertoires, les choses apparaissent quelque peu différentes : les permissions de lecture sont nécessairs pour voir le contenu du repertoire- par exemple, en executant la commande ls. Vous aurez besoin des permissions d’écriture pour créer, supprimer ou renomer des fichiers dans le repertoire. Les permissions d’execution donnent la possibilité “d’utiliser” le repertoire dans le sense que vous vous placez dedant en utilisant la commane cd, ou bien d’utiliser son nom dans les noms de chemin de fichiers plus profond dans l’arboresence du repertoire. Pour chaque utilisateur, LINUX determine les droits d’accès les plus appropriés. Par exemple, si les membres du groupe du fichiers ne disposent pas des droits de lecture sur le fichier, mais les “autres” en disposent, donc les membres du groupes ne peuvent pas lire le fichier. La raison qui dit que, si tous les autres peuvent voir dans le fichier, donc les membres du groupe, qui font en quelque sorte partie de “tous les autres”, doivent être ainsi autorisés à le lire, n’est pas appliquées.

4

Vous pouvez otenir les informations sur les droits l’utilisateur et l’attribution de groupe appliqués à un fichier en utilisant la commande “ls-l”: XX La chaine de caractère dans la première colone de la table, detaille les permissions d’accès pour le propriètaire, XX le groupe du fichier XX et les autres (Le tout premier caractère indique seulement le type du fichier et il n’a rien à voir avec les permissions). La troisime colone donne le nom du propriétaire du fichier et la quatrième colone indique son groupe. Dans la chaine des permissions, ‘r’, ‘w’ et ‘x’ indiquent respectivement les permissions de lecture, d’écriture et d’execution existantes. S’il y a juste un signe “-” dans la liste, donc la catégorie correspondante ne dispose pas du privilege correspondant. Ainsi, “r w - r - - r - - ” indique des permissions de lecture et d’écriture pour le propriétaire, mais seulement la permission de lecture pour les membres du groupe et les autres

5

En tant que propriétaire de fichier, vous pouvez positionner les permissions d’accès pour un fichier en utilisant la commade chmode (pour “change mode”). Vous pouvez spécifier les trois catégories XX au moyen des abréviations "u" (utilisateur) pour le propriétaire (vous-même), "g" (groupe) pour les membres du groupe du fichier, et "o" (autres) pour tous les autres Les autorisations eux-mêmes sont données par les abréviations déjà mentionné "r", "w" et "x". L'utilisation de "+", "-", et "=", vous permet de spécifier si les autorisations en question doivent être ajoutés à toutes les autorisations existantes, "soustrait" des autorisations existantes, ou utilisés pour remplacer tout ce qui a été mis auparavant. Par exemple:

6

XX #chmod u+x fichier Permission d’éxecution pour l’utilisateur XX #chmod go+w fichier Attribuer la permission d’écriture pour le groupe et les autres

7

XX #chmod g+rw fichier Attribuer les permissions de lecture et d’écriture pour le groupe XX#chmod g=rw,o=r fichier Affecter au groupe le droit de lecture et écriture et pour les autres le droit de lecture uniquement

8

Le propriétaire d’un fichier est le seul utilisateur ( à part root) qui a la possibilité de changer les permissions d’accès d’un fichier ou d’un répertoire. Ce privilège est indépendant des permissions actuelles; le propriétaire peut enlever toutes ses propres permissions, mais cela ne l’empêche pas de les remettre plus tard.

9

La syntaxe générale de la commande chmod est : #chmod [] … Vous pouvez donner autant de noms de fichiers ou de répertoires comme vous le souhaitez. Les options les plus importantes sont: - R Si un nom de répertoire est donné, les autorisations des fichiers et des répertoires à l'intérieur de ce répertoire seront également modifiées (et ainsi de suite tout le long de l'arborescence). - - reference = ⟨nom⟩ Utilise les autorisations d'accès du fichier ⟨nom⟩. Dans ce cas, aucune ⟨permissions⟩ ne doit être donnée avec la commande.

10

Une autre façon d’attribuer les permissions consiste à utiliser une Attribution numérique des droits Les droits sont découpés en fonction des utilisateurs, on constate que r, w et x sont répétés trois fois en fonction des utilisateurs : XX le premier triplet rwx indique les droits que possède le propriétaire du fichier sur ce dernier ; XX le second triplet rwx indique les droits que possèdent les autres membres du groupe sur ce fichier ; XX enfin, le dernier triplet rwx indique les droits que possèdent tous les autres utilisateurs de la machine sur le fichier.

11

Si l’on consdère les permissions attribués aux utilisateurs XX on peut remarquer qu’on a attribué les droits de lecture et d’exécution et on a enlevé le droit d’écriture. XX En valeurs numériques, on considère que la valeur biaire 1 correspond à l’attribution de la permission, et 0 dans le cas contraire.

12

Ainsi XX le r-x correpond à la valeur 101 en binaire qui lui correspond la valeur 5 en décimale.

13

Pour l’exemple suivant : XX Utilisateur : dispose des permissions de lecture et d’écrirture Groupe : dispose de la permission de lecture Autres : dispose aussi de la permission de lecture XX La valeur décimale correspondante est 544 que vous pouvez utiliser XX avec #chmod 544 La commande équivalente XX est #chmod u=rw , go=r

14

La commande XX chown permet de définir le propriétaire et le groupe d'un fichier ou d’un répertoire Cette commande prend XX le nom d’utilisateur désiré et / ou le nom du groupe et le nom du fichier ou du répertoire sur lequel portera le changement. Si un nom d’utilisateur et nom de groupe sont donnés, les deux sont modifiés; si seulement un nom d'utilisateur est donnée, le groupe reste tel qu'il était; si un nom d'utilisateur suivi de deux points est donné, alors le fichier est affecté au groupe principal de l'utilisateur. Si seulement un nom de groupe est donnée (précédé des deux points), le propriétaire reste inchangé.

15

Pour « attribuer" des fichiers à d'autres utilisateurs ou à des groupes arbitraires vous avez besoin d'être root. La principale raison, est que les utilisateurs normaux pourraient gêner les uns les autres si le système utilise des quotas (par exemple, chaque utilisateur ne peut utiliser qu’une certaine quantité d'espace de stockage). XX à l'aide de la commande chgrp, vous pouvez changer le groupe d'un fichier, même en tant qu’utilisateur normale tant que vous êtes propriétaire du fichier et que vous êtes un membre du nouveau groupe que l'utilisateur. chown et chgrp supportent aussi l’option –R pour appliquer les changements d’une manière récursive sur l’hiérarchie du répertoire.

16

80

Serveurs

‫ح‬

‫ع‬HA