administration serveur linux

42
RÉALISÉ PAR: SEHLA ZAYEN ENSEIGNANTE UNIVERSITAIRE INGÉNIEUR CERTIFIE LINUX Administration Serveur Linux 1

Upload: sehla-zayen

Post on 24-Jan-2017

67 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Administration serveur linux

RÉALISÉ PAR: SEHLA ZAYEN E N S E I G N A N T E U N I V E R S I T A I R E I N G É N I E U R C E R T I F I E L I N U X

Administration Serveur Linux

1

Page 2: Administration serveur linux

1 . N O T I O N D’UTILISATEUR

2 . L E F I C H I E R / E T C / PA S S W D , L E F I C H I E R

/ E T C / G R O U P, L E F I C H I E R / E T C / S H A D O W

3 . A D M I N I S T R AT I O N D E S U T I L I S AT E U R S

4 . C H A N G E M E N T D E S PA R A M È T R E S D U M O T D E PA S S E

5 . A D M I N I S T R AT I O N D E S G R O U P E S

6 . G E S T I O N D U P R O P R I É TA I R E E T G R O U P E D’UN

F I C H I E R / R É P E RTO I R E

7 . G E S T I O N D E S D R O I T S D’ACCÈS

8 . G E S T I O N D E L’ENVIRONNEMENT D’UN U T I L I S AT E U R

Gestion des utilisateurs et des groupes

2

Page 3: Administration serveur linux

Notion d’utilisateurs (Users)

Les comptes utilisateur servent à beaucoup de choses sur les systèmes UNIX et Linux :

Ils permettent de distinguer les différents utilisateurs qui ont accès au système, pour des raisons de sécurité. Chacun d'eux possède un compte personnel, auquel il accède par un identifiant et un mot de passe secret.

Ces utilisateurs peuvent définir des permissions d'accès à leurs données, afin d'en autoriser ou d'en interdire l'exploitation par les autres.

3

Page 4: Administration serveur linux

Notion d’utilisateurs (Users)

En dehors des comptes personnels, il existe des utilisateurs qui ne sont pas forcément des personnes physiques.

C'est le cas :

Du compte root utilisé par l'administrateur pour l’administration du système.

des comptes en général destinés à des démons qui doivent avoir accès à certains fichiers sous une identification spécifique (apache, postfix,etc).

4

Page 5: Administration serveur linux

Notion d’utilisateurs (Users)

Bien que chaque utilisateur possède un identifiant le système les reconnaisse à travers un UID (User Identifier). La valeur que prend l’UID dépend de la catégorie de l’utilisateur.

Si :

L’UID=0 alors l’utilisateur est un administrateur qui possède tous les privilèges

L’UID est entre [1..499] l’utilisateur est un utilisateur spécial (démon)

L’UID >= 500 l’utilisateur est un utilisateur physique

5

Page 6: Administration serveur linux

Notion d’utilisateurs (Users)

Chaque utilisateur possède aussi un GID (Group Identifier ).

Le GID représente le numéro du initial de l’utilisateur.

Le GID attribué par le système est égal à l’UID (par défaut).

L’utilisateur peut être aussi membre d’autres groupes système.

6

Page 7: Administration serveur linux

Les fichiers systèmes pour la gestion des utilisateurs

Les fichiers importants que le système consulte pour la gestion des utilisateurs sont :

le fichier /etc/passwd

le fichier /etc/shadow

le fichier /etc/group

7

Page 8: Administration serveur linux

Le fichier système /etc/passwd

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:

login:password:UID:GID:commentaire:répertoire_personnel: programme_de_démarrage

8

Page 9: Administration serveur linux

Le fichier système /etc/passwd

Chaque ligne contient sept champs séparés par le caractère « : »

Login: le nom du compte de l'utilisateur

Password : le mot de passe de l'utilisateur (codé bien sûr). Ce champs n’est plus utilisé (remplacé par le caractère X).

UID: c’est un entier qui identifie l'utilisateur pour le système d'exploitation.

GID: c’est un entier qui identifie le groupe de l'utilisateur

9

Page 10: Administration serveur linux

Le fichier système /etc/passwd

Commentaire: ce champ peut inclure des informations sur l'utilisateur ou simplement son nom réel

répertoire personnel: qui est celui dans lequel il se trouve après s'être connecté au système

Programme de démarrage: ce programme est exécutée après connexion au système (c'est fréquemment un interpréteur de commandes: bash, sh,etc.)

10

Page 11: Administration serveur linux

Le fichier système /etc/passwd

Exemple du fichier /etc/passwd:

root:x:0:0:root:/root:/bin/bash

Apache:x:43:43:ServeurWeb:/var/www:/sbin/nolgin

Postfix:x:73:73::/var/spool/postfix:/sbin/nologin

Joe:x:500:500:Joe Smith:/home/joe:/bin/bash

Alex:x:501:501::/home/alex:/bin/sh

11

Page 12: Administration serveur linux

Le fichier système /etc/group

Ce fichier contient la liste des groupes systèmes ainsi que leurs membres. Le format d’une ligne est le suivant:

Nom_du_groupe:x:GID :membre1, membre2…

Exemple:

root:x:0:root

Bin:x:1:root,bin,daemon

Apache:x:43:

Joe:x:500:

Alex:x:501:

Developper:x:1000:Alex,Joe

12

Page 13: Administration serveur linux

Le fichier système /etc/shadow

Le fichier /etc/shadow contient les informations suivantes:

username:passwd:last:may:must:warn:expire: disable:reserved

En détail:

Username Le Nom de l'Utilisateur

Passwd Le mot de passe encodé

Last Date de la dernière modification (en nombre de jours depuis le 1er janvier 1970).

May Nombre de jours avant que le mot de passe puisse être modifié

Must Nombre de jours avant que le mot de passe doive être modifié

13

Page 14: Administration serveur linux

Le fichier système /etc/shadow

Expire Nombre de jours entre l'expiration du mot de passe et la fermeture du compte.

Disable Date de la fermeture du compte (en nombre de jours depuis le 1er janvier 1970).

Reserved Champ réservé

Exemple :

alex:Npge08pfz4wuk:9479:0:10000::::

14

Page 15: Administration serveur linux

Gestion des utilisateurs

Cette étape consiste à gérer les opérations suivantes:

Ajout d’un nouvel utilisateur

Modification d’un paramètre d’un utilisateur

Suppression d’un utilisateur

Modification des paramètres d’expiration du mot de passe

15

Page 16: Administration serveur linux

Ajout d’un nouvel utilisateur

La commande de base qui permet d’ajouter une nouvel utilisateur est:

#useradd login

#passwd login

Cette commande va apporter une ensembles de changements:Ajout d’une nouvelle ligne dans le fichier /etc/passwd

1. Ajout d’une ligne dans le fichier /etc/group

2. Copie du répertoire /etc/skel dans un répertoire sous /home qui porte le nom du nouvel utilisateur

3. Rendre le propriétaire et le groupe de ce répertoire l’utilisateur en question

4. Ajout d’une nouvelle ligne dans le fichier /etc/shadow

Exemple:

#useradd alex

#passwd alex

16

Page 17: Administration serveur linux

Suppression d’un utilisateur

La commande de base qui permet de supprimer un utilisateur est:

#userdel login

Cette commande va supprimer toutes les entrées correspondantes à l’utilisateur dans les fichier s : /etc/passwd, /etc/group et /etc/shadow

Pour supprimer le répertoire de l’utilisateur il faut ajouter l’option « -r »

#userdel -r login

Exemple:

#userdel -r alex

17

Page 18: Administration serveur linux

Modification des paramètres d’un utilisateur

La commande de base qui permet de modifier les paramètres d’un utilisateur déjà exisitant est:

#usermod options login

Les options sont les suivantes:

-l nom_connexion Le nom de l'utilisateur passera de login à login_name. Rien d'autre n'est modifié. En particulier, le répertoire personnel de l'utilisateur devra probablement être changé pour refléter le nouveau nom de connexion.

-u uid La valeur numérique de l'ID de l'utilisateur.

18

Page 19: Administration serveur linux

Modification des paramètres d’un utilisateur

-g groupe_initial Le nom du groupe ou le numéro du groupe de connexion initial de l'utilisateur. Le nom du groupe doit exister.

-G groupe,[...] Une liste de groupes supplémentaires auxquels fait également partie l'utilisateur. Chaque groupe est séparé du suivant par une virgule, sans espace entre les deux.

-c commentaire La nouvelle valeur du champ de commentaire du fichier /etc/passwd .

-d rép_perso Le nouveau répertoire de connexion de l'utilisateur

19

Page 20: Administration serveur linux

Modification des paramètres d’un utilisateur

-s shell Le nom du nouveau shell de connexion de l'utilisateur. Si shell n'est pas fourni, le système sélectionnera le shell de connexion par défaut.

-L Verrouiller le mot de passe d'un utilisateur. Cette option ajoute un `!' devant le mot de passe crypté, ce qui désactive le mot de passe.

-U Déverrouiller le mot de passe d'un utilisateur. Cela supprime le `!' situé devant le mot de passe crypté.

-e date_expiration La date à laquelle le compte utilisateur sera désactivé. La date est spécifiée dans le format AAAA-MM-JJ.

20

Page 21: Administration serveur linux

Modification des paramètres d’un utilisateur

Exemple:

#usermod – G devlelopper,web alex

#usermod -s /sbin/nologin usermail

#usermod -s /bin/sh joe

#usermod -L alex

#usermod -U alex

21

Page 22: Administration serveur linux

Changement des paramètres du mot de passe

La commande chage permet de modifier les informations de validité d'un mot de passe. Ces informations seront sauvegardées au niveau du fichier /etc/shadow.

Syntaxe:

#chage options login

Parmi les options:

-m nbre de jours : nombre de jours minimum entre deux modifications de mot de passe

-M nbre de jours : nombre de jours maximum entre deux modifications de mot de passe

-E date : la date d’expiration du mot de passe

-l : affiche tous les paramètres du mot de passe

22

Page 23: Administration serveur linux

Changement des paramètres du mot de passe

Exemple:

#chage -m 20 alex

#chage -M 45 alex

# chage -E 2011-31-12 alex

23

Page 24: Administration serveur linux

Gestion des groupes

Un groupe est un ensemble d'utilisateurs qui partagent les mêmes fichiers et répertoires.

Chaque utilisateur doit faire partie au moins d'un groupe, son groupe primaire. Celui-ci est défini au moment de la création du compte, et par défaut, l'utilisateur appartient à un nouveau groupe créé, portant son nom.

Ainsi, 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, appelés ses groupes secondaires.

24

Page 25: Administration serveur linux

Gestion des groupes

Ajout d’un nouveau groupe:

#groupadd nomdugroup

Exemple:

#groupadd developper

Modification des paramètres d’un groupe:

#groupmod option nomdugroup

Exemple:

#groupmod –n developper2 developper

Suppression d’un groupe:

#groupdel nomdugroupe

Exemple:

#groupdel developper

25

Page 26: Administration serveur linux

Commandes de gestion du compte

Id: Affiche des informations sur l'identité d'un utilisateur.

Groups: Affiche des groupes auxquels appartient un utilisateur.

Whoami : affiche le login de l’utilisateur

Who : affiche la liste des utilisateur connectés

Last : affiche l’historique des connexions.

26

Page 27: Administration serveur linux

Notion de propriétaire et groupe d’un fichier/répertoire

Quand un fichier ou un répertoire est créé, il appartient forcément à un utilisateur (réel ou système). Cet utilisateur sera le « propriétaire » du fichier.

La possession d’un fichier est caractérisée sur 3 niveaux :

Le 1er niveau : Propriétaire du fichier ; souvent, il s’agit du créateur du fichier. Caractérisé par la lettre « u » (user, comme utilisateur).

Le 2nd niveau : Groupe Propriétaire du fichier ; il est possible pour un utilisateur membre du groupe propriétaire du fichier d’avoir des permissions exclusives. Caractérisé par la lettre « g » (group, comme groupe).

Le 3ème niveau : les Autres ; tout utilisateur qui n’est ni propriétaire, ni membre du groupe propriétaire fera partie des « Autres ». Caractérisé par la lettre « o » (other, comme autre).

27

Page 28: Administration serveur linux

Notion de propriétaire et groupe d’un fichier/répertoire

Pour changer le propriétaire d’un fichier/répertoire l’administrateur ou le propriétaire utilise la commande suivante:

#chown nouveauproprietaire fichier/répertoire

Exemple:

#chown alex script.sh

Pour changer le groupe d’un fichier/répertoire l’administrateur ou le propriétaire utilise la commande suivante:

#chgrp nouveauproprietaire fichier/répertoire

Exemple:

#chgrp developper script.sh

Remarque:

#chown alex.developper script.sh

28

Page 29: Administration serveur linux

Notion de permission d’accès d’un fichier ou répertoire

Pour chaque identité (propriétaire, groupe et autres), il existe 3 droits d'accès :

r - read : fournit le droit de lecture sur le fichier ou répertoire. Ce droit possède la valeur 4.

w - write : fournit le droit d'écriture sur le fichier ou répertoire. Ce droit possède la valeur 2.

x - execute : fournit le droit d'exécution. Ce droit possède la valeur 1.

La commande ls -l nous permet d'afficher les droits d'un fichier sous Linux.

29

Page 30: Administration serveur linux

Notion de permission d’accès d’un fichier ou répertoire

L'affichage des droits est représenté par une chaîne de 9 caractères, précédée d'un caractère, représentant le type de l’entrée.

Ces 9 caractères, regroupés 3 par 3 (rwx rwx rwx), définissent les droits des 3 identités (propriétaire, groupe et les autres). Pour chaque droit existant on voit une lettre parmi r,w ou x . Si un droit n'existe pas on utilise le tiret.

Exemple:

-rwxr-xr-x 1 root admi 872 2010-07-28 22:44 /usr/bin/crontab

drwxr-xr-x 1 alex commercial 26872 2011-08-30 08:12 /tmp/doc

30

Page 31: Administration serveur linux

Notion de permission d’accès d’un fichier ou répertoire

La commande chmod (CHangeMODe) permet de définir et de changer les droits d'accès d'un fichier ou un ensemble de fichiers.

Il y a deux modes d'utilisation de la commande chmod : de façon littérale ou de façon numérique.

La façon littérale

Il s'agit de l'utilisation des lettres déjà citées u, g et o pour l’identité de l’utilisateur d’un côté ainsi que r, w et x pour spécifier les droits voulus.

On utilisera une notation pour attribuer et/ou retirer des droits. + (plus) pour attribuer et - (moins) pour retirer .

Exemple:

#chmod u+x script.sh

#chmod go-w script.sh

31

Page 32: Administration serveur linux

Notion de permission d’accès d’un fichier ou répertoire

La façon numérique

On sommera triplet par triplet les valeurs des droits qu’on désir activer. On passera la valeur (sur 3 chiffres) des droits d’accès finaux à la commande chmod.

Exemple:

#chmod 751 script.sh

#chmod 711 /tmp/doc/

32

Page 33: Administration serveur linux

Droits d’accès par défaut

La commande umask permet de définir les droits par défaut d'un fichier ou répertoire à sa création.

Autrement dit elle indique les droits qu'il faut retirer lors de leur création.

La commande umask, à l'instar de la commande chmod (façon numérique) prend en argument 3 chiffres, qui cette fois représentent les droits que nous ne voulons pas accorder.

Ces droits seront retirés du droit d’accès maximum 666 pour le cas des fichiers et 777 pour la cas des répertoires

$ umask 022 (modifier la valeur de l’umask)

$umask (afficher la valeur de l’umask)

33

Page 34: Administration serveur linux

Notion d’inode

Les inodes sont des structures de données contenant des informations concernant les fichiers stockés dans certains systèmes de fichiers (notamment de type Linux/Unix).

À chaque fichier correspond un numéro d'inode (i-number) dans le système de fichiers dans lequel il réside, unique au périphérique sur lequel il est situé.

Les inodes peuvent, selon le système de fichiers, contenir des informations concernant le fichier, tel que son propriétaire, son groupe, son type d'accès,etc.

Pour visualiser le contenu de l’inode d’un fichier, on peut utiliser la commande:

$stat nomduficher

Exemple:

$stat script.sh

34

Page 35: Administration serveur linux

Notion d’inode

L’inode d’un fichier contient les attributs suivants :

La taille du fichier en octets

Identifiant du périphérique contenant le fichier

L'identifiant du propriétaire du fichier (UID)

L'identifiant du groupe auquel appartient le fichier (GID)

Le numéro d'inode qui identifie le fichier dans le système de fichier

Le mode du fichier qui détermine quel utilisateur peut lire, écrire et exécuter ce fichier

35

Page 36: Administration serveur linux

Notion d’inode

horodatage (timestamp) pour :

La date de dernière modification ctime de l'inode (affichée par la commande stat ou par ls -lc, modification des droits du fichier)

La date de dernière modification du fichier mtime (affichée par le classique ls -l)

La date de dernier accès atime (affichée par la commande stat ou par ls -lu)

Un compteur indiquant le nombre de liens physiques sur cet inode. (Nlinks)

36

Page 37: Administration serveur linux

Gestion de l’environnement d’un utilisateur

Lorsqu’un utilisateur se voit attribué un SHELL au moment de sa connexion, ce SHELL lui offrira les fonctions suivantes:

1. Un interpréteur de commande

2. La gestion de l’environnement qui inclut:

1. La gestion des variables d’environnement

2. La gestion des alias

3. Un langage de programmation

37

Page 38: Administration serveur linux

Gestion de l’environnement d’un utilisateur

Les variables d’environnement

Pour visualiser ses variables d’environnement chaque utilisateur peut utiliser la commande:

$env

$set

Chaque variable possède un nom (en majuscule) et une valeur.

Pour afficher le contenu d’une variable on utilise la commande:

$echo $NOMVAR

Pour modifier le contenu d’une variable:

$NOMVAR=valeur

38

Page 39: Administration serveur linux

Gestion de l’environnement d’un utilisateur

Exemples:

1. Affichage du contenu de quelque variables d’environnement:

echo $HOME

/home/alex

echo $HITSFILE

.bash_history

echo $HISTFILESIZE

1000

echo $PATH

/bin:/usr/local/bin:/home/alex/bin

2. Pour modifier la variable PATH en lui ajoutant le répertoire /home/alex/scripts

PATH=$PATH:/HOME/alex/scripts

39

Page 40: Administration serveur linux

Gestion de l’environnement d’un utilisateur

Pour rendre permanent la déclaration d’une nouvelle variable ou le changement de la valeur d’une variable déjà existante on doit l’exporter au niveau du fichier $HOME/.bash_profile comme suit:

$vi .bash_profile

export X=100

export PATH=$PATH:/HOME/alex/scripts

Le fichier .bash_profile est lu au moment de la connexion de l’utilisateur et après son authentification.

40

Page 41: Administration serveur linux

Gestion de l’environnement d’un utilisateur

Notion d’alias sur les commandes

La commande alias permet à un utilisateur de créer des alias sur les commandes système.

La syntaxe est la suivante:

$alias nomalias= ‘commande’

Exemple:

$alias cls=‘clear’

$alias dir=‘ls –lRa’

$alias (affiche la liste des alias)

Pour désactiver un alias:

$unalias nomalias

Exemple:

$unalias dir

41

Page 42: Administration serveur linux

Gestion de l’environnement d’un utilisateur

Pour rendre permanant la déclaration d’un alias l’utilisateur doit le déclarer dans son fichier $HOME/.bashrc

Exemple:

$vi .bashrc

alias cls=‘clear’

alias dir=‘ls -lRa’

42