0% ont trouvé ce document utile (0 vote)
49 vues111 pages

Introduction à l'administration Linux

Transféré par

amine chakir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
49 vues111 pages

Introduction à l'administration Linux

Transféré par

amine chakir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Unix/Linux

Animé par : Dr. Yassine Maleh


Senior Member IEEE
Professor of Cybersecurity, ENSAK
Founding Chair of IEEE CN Morocco
Founding President of African Center of Research in Cybersecurity and
Information Technology
Editor in Chief of IJISP, IJSST
Webiste: Personal Website
[Link]@[Link]
Objectifs du cours
• Ce cours peut vous permettre d'être opérationnel avec
Linux Je vous présenterai l'écosystème Linux et open
source;
• Découvrir la puissance des systèmes de gestion des
paquets logiciels, la flexibilité et l'efficacité de la
virtualisation des serveurs, et quelques bases de
l'administration des applications serveur;
• Matriser l’installation et la gestion des déploiements
Linux simples;
• Avoir les connaissances nécessaires pour mieux
comprendre ce que Linux peut faire pour vous et votre
carrière et comment vous pouvez continuer à développer
vos compétences en administration Linux.
2
Administration Réseaux

Les bases de l’administration


Linux

3
 Gestion des utilisateurs
Objectifs du  Gestion des groupes
Chapitre 1
 Gestion des droits
 Gestion de la sécurité
des fichiers

4
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base : Système de fichier et Arborescence standard

Les différentes catégories de fichiers:

fichiers normaux :

Texte : courrier, sources des programmes, scripts, configuration ...


Exécutables : programmes en code binaire

fichiers répertoires:

ce sont des fichiers conteneurs qui contiennent des références à d'autres fichiers.
véritable charpente de l'arborescence, ils permettent d'organiser les fichiers par catégories.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base : Système de fichier et Arborescence standard

Les différentes catégories de fichiers


fichiers spéciaux

situés dans /dev, ce sont les points d'accès préparés par le système aux périphériques. Le
montage va réaliser une correspondance de ces fichiers spéciaux vers leur répertoire "point de
montage".
par exemple, le fichier /dev/hda permet l'accès et le chargement du 1er disque IDE
Deux types de fichiers spéciaux : (ls –l /dev : c ou b )
Character devices: les terminaux (claviers, écrans) les imprimantes etc
Block devices: la mémoire les disques les bandes magnétiques etc

fichiers liens symboliques

Ce sont des fichiers qui ne contiennent qu'une référence (un pointeur) à un autre fichier.
Cela permet d'utiliser un même fichier sous plusieurs noms sans avoir à le dupliquer sur le
disque. Ln f1 new_f1 (f1 existe, new_f1 est crée sans occupation disque est lié au fichier f1).
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base : Arborescence standard

/ : le répertoire principal de tout Unix, monté juste après le chargement du noyau. Toute
l'arborescence de base d'un Unix y est soit directement présente, soit reliée par montage.
Cette partition étant la première accédée par le système elle doit contenir les fichiers de
configuration, les binaires système et les bibliothèques de base, de manière à pouvoir
démarrer correctement le système.

/bin : Commandes binaires utilisateur essentielles (pour tous les utilisateurs)


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base : Arborescence standard

/boot :fichiers nécessaires au chargement de Linux (bootloader, initrd,noyau ),


fichiers statiques du chargeur de lancement.

/root : répertoire d’accueil de l’administrateur.

/sbin : commandes nécessaires à l’administrateur, accessible uniquement au root

par exemple :shutdown  arrêter l ordinateur


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base : Arborescence standard

/tmp : répertoire de stockage temporaire (il est généralement nettoyé


automatiquement ).

/dev : C'est ici que les périphériques (réels et virtuels) sont accessibles
(partitions, disques, cartes son, ports SCSI, ports USB, etc.)
fichiers spéciaux associés au périphériques

Exemple disque IDE

/dev/hd (a,b,c,d) (0,1,2,3,….)


N°disque N°Partition
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base : Arborescence standard

/dev Exemple
Pour les disques scsi

/dev/sd (a,b,c,d) (0,1,2,3,….)

N°disque N°Partition

disquette : /dev/fd0

terminaux virtuels /dev/tty

périphérique son : /dev/dsp ( digital signal processor )


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base :

Arborescence standard

/etc : Contient les fichiers de configuration en relation avec l'administration


du système

Exemple :
/etc/passwd BD des utilisateurs
/etc/group annuaire des groupes
/etc/rc.d les scripts de démarrage
/etc/skel environnement d’un nouvel utilisateur
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base :

Arborescence standard
/etc

/etc/httpd fichiers de configuration du serveurWeb Apache

/etc/sysconfig : les fichiers de configuration de la version RedHat , Fedora

/etc/sysconfig/network : Paramètres réseau

/etc/cron.d , /etc/exports pour le NFS , /etc/fstab

/etc/inittab
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base :

Arborescence standard

/home : Le répertoire qui contient les répertoires des utilisateurs du

système ( automatiquement crée avec la création d’un compte)

/lib : Contient des bibliothèques utiles au fonctionnement du système en


mode mono-utilisateur.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base :


Arborescence standard

/usr : Ce répertoire contient tout le reste de la hiérarchie standard (orienté


multi-utilisateur) c’est aussi le point d’installation des logiciels Équivalent
sous Windows de Program Files.

/usr/bin Contient la plupart des programmes utilisateur.

/usr/sbin Contient les exécutables correspondants aux commandes


standards exécutables, utiles pour l'utilisateur root(exécutables système).

/usr/lib: Idem que /lib, mais il contient des bibliothèques plus


orientées vers le développement ou vers des applications particulières.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base :

Arborescence standard

/usr

/usr/share ressources partagées indépendantes de la plate-forme (pages de


manuel, documentation, fichiers de données, etc.)

/usr/local programmes installés « à la main » (i.e. sans paquetage)

/usr/src : emplacement du code source linux


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base :


Arborescence standard

/var :
partie variable du système, elle contient les fichiers décrivant le
contexte de fonctionnement de la plupart des applications du système : logs,
traces, file d'attentes...

/var/log/ journaux du système et des applications

/var/log messages ( msg du noyau )

/var/log/syslog (msg systeme )


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base :


Arborescence standard

/var/spool file d’attente (données en attente d'un traitement)

/var/spool/mail boîtes aux lettres des utilisateurs

/var/spool/cron tâches planifiées par les utilisateurs

/var/spool/lpd files pour le système d'impression

/var/www racine du serveur Web

/var est variable donc non maîtrisable  Réserver une partition physique de
préférence
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Contexte de l’administration :

Les taches de l’administrateur :


Installation des OS : des applications , des serveurs et services

La gestion des utilisateurs (Créer, modifier, supprimer) :y compris la


modification de l’environnement de travail, avec la modification des droits,
stratégie des mots de passe...

Gestion des fichiers et des disques : intégrité du système de fichiers,


organisation de l'arborescence, protection avec les droits, gestion des systèmes de
fichiers (création, montage, démontage), gestion des disques physiques
(installation, partitionnement,..).
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Contexte de l’administration :

Surveiller l’espace disque : taux d'occupation des disques (df –k ), swapping,


quotas, ...

Ajout des périphériques nouveaux disques, cartes réseau, fichiers spéciaux,

Amélioration des performances du système : gestion des ressources,


mémoire, optimisation des paramètres du noyau ( audit techniqe , expoitation des logs
….)

Sécuriser le système : sécurité de connexion, discipline des utilisateurs,


éventuellement sécurité réseau.

Arrêter et démarrer le système : connaître le processus d'arrêt/relance.


Automatisation des taches : gestion des processus , planification des taches
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Rappel des notions de base : Système de fichier et Arborescence standard

Le système de fichier d'un UNIX est hiérarchique et organisé sous forme d'arbre. On
distingue trois types principaux de fichiers :
1. Ordinaires : fichiers de données, programmes (-)
2. Répertoires : appelés aussi catalogues, c'est en fait un fichier qui contient
d'autres fichiers (en fait une table listant d'autres fichiers) (d)
3. Spéciaux : ni ordinaires ni répertoires, ce sont les périphériques (c :
caractère, b : blocs), liens symboliques (l).
Tous les fichiers et systèmes de fichiers sont regroupés au sein d'un arbre unique.
Chacun de ces fichiers est placé quelque part en dessous de la racine /
Le fait de tout rassembler dans un même système de fichier est appellé Système de fichiers
unifié (Unified Filesystem).
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Contexte de l’administration : Types des comptes

Les comptes utilisateur ne sont pas tous égaux sur linux. On distingues trois
types:

• Super-utilisateur (root);

• Comptes systèmes;

• Comptes ordinaires.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Contexte de l’administration : Types des comptes

Super user (root): c’est l’utilisateur le plus important du système du point de vue de l’administration, il n’est
pas concerné par les droits d’accès aux fichiers. Il a à sa charge les tâches d’administration système.

Comptes spéciaux: on trouve sur le système toute une série de comptes qui ne sont pas affectés à des personnes
(bin, daemon, apache,,,,). Ceux servent à faciliter la gestion des droits d’accès de certaines application et
démons. Ainsi en lançant le serveur web sous l’identité du compte « apache », on pourra aisément limiter ses
droits d’accès à certains fichiers. Les, UID compris entre 1 et 999 sont réservés à ces comptes.

Comptes ordinaires: tous les autres utilisateur sont associés à des personnes; leur vocation est de permettre à
des utilisateurs standard de se connecter. L’UID d’un utilisateur sera un nombre supérieur ou égale à 1000.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Contexte de l’administration :

Devenir root

Seul l’administrateur (quelques utilisateurs privilégiés) peut administrer un


système UNIX

C’est le root , ou le super user , son UID = 0

l'invite du shell est le caractère « # ».


La commande « su » permet de prendre temporairement l'identité de
l'administrateur. (su – change aussi l'environnement).

Il faut éviter de travailler directement et en permanence en tant que root


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Contexte de l’administration : Exécuter en tant que administrateur :

• Etant un travail d’administration du système, un utilisateur ordinaire ne peut pas accéder à ces
droits d’administration.

• Pour cela, nous pourrons souvent utiliser la commande sudo (Substitute User Do) qui permet à un
utilisateur d’exécuter des commandes qui ne peuvent être utilisées que par le super-user.

$ Sudo commande

• Le mot de passe de votre compte est demandé pour que le système puisse vérifier votre identité.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Contexte de l’administration : Ouvrir un terminal en mode root

• Utiliser sudo pour exécuter une seule commande ne cause pas un réel désagrément.

• Mais il peut être désagréable de l’utiliser pour exécuter une longue procédure nécessitant plusieurs
interventions en mode super-user.

• L’ouverture d’un terminal en mode root permet d’éviter d’avoir à appeler sudo à chacune des
étapes de cette procédure, sans avoir à activer l’accès au compte d’utilisateur root.

• L’inconvénient de cette méthode est qu’aucune trace des actions n’est inscrite dans le journal de
sudo.

• Il déconseillé d’ouvrir un terminal root.


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Contexte de l’administration : Ouvrir un terminal en mode root

Pour ouvrir un terminal d’un root en utilise la commande $sudo –i


Pour fermer la session root; #exit ou ctrl+d
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Contexte de l’administration :
L'administration d'un système Unix s'effectue de quatre manières principales :

1. A l'aide des commandes d’administration : adduser/useradd, chown, date, ... C'est


la méthode pour les plus expérimentés, pour ceux qui connaissent par coeur les
multiples paramètres et options proposés par les commandes.

2. En éditant les fichiers d'administration : on peut ajouter un utilisateur avec vi à la


main dans /etc/passwd. La grande majorité des fichiers de configuration d'un Unix est
au format texte et très bien documentée.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Contexte de l’administration :

3. En exécutant des scripts : on peut, ainsi , automatiser des séquences complètes


d'administration et de configuration. Dans beaucoup de cas, les commandes
d'arrêt/relance du système ou des services, ou d'ajout de d'utilisateurs, sont des scripts.

4. En utilisant les outils intégrés d’administration : les divers Unix proposent des outils
d’administration intégrés, comme admintool sous Solaris, smit sous AIX, linuxconf ou
Webmin sous Linux (System Administration Users and Group , pour Fedora).
L'avantage est la simplification et la centralisation.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:

• Quand un utilisateur se connecte, il fournit un nom de connexion (login name) et un


mot de passe (password).
• Si la connexion réussit, un shell est lancé et l'utilisateur se retrouve dans son répertoire
de travail (working directory) qui est initialement son répertoire de connexion (login
directory).

• Ces informations sont placées dans les fichiers /etc/passwd et /etc/group.


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:

Règles de nommage

• Sensible à la casse;

• Éviter les espaces;

• Doit commencer par une lettre;

• Taille max: 32 caractères

o Privilégier un max de 8 caractères


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:

Les 4 fichiers de configuration

1. /etc/passwd;

2. /etc/group;

3. /etc/shadow

4. /etc/gshadow
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:


1. /etc/passwd
Les utilisateurs sont définis au sein du fichier /etc/passwd. En voici sa structure.
user:passwd:UID:GID:commentaire:homedir:commande(souvent type de shell)

user nom de connexion (login) de cet utilisateur

passwd mot de passe crypté. S'il est remplacé par une *, ou un x, son
contenu est placée dans /etc/shadow. S'il est absent il n'y a pas de
mot de passe. Si ! : compte verrouillé.

UID L'utilisateur root a l'UID 0, les numéros inférieurs à 1000 sont des
utilisateurs spéciaux

GID Group Identification, numéro du groupe 'appartenance de


l'utilisateur. Les groupes supplémentaires sont définis dans
/etc/group.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:


1. /etc/passwd

Commentaire Zone libre, contenant généralement le nom et le


prénom. Il faut éviter d'y placer des caractères
spéciaux et accentués.

homedir Répertoire de connexion, ou home directory / login


directory. Si l'utilisateur est toto, le répertoire est
généralement /home/toto

commande Commande à exécuter lors de la connexion de


l'utilisateur. C'est généralement le shell (/bin/sh,
/bin/ksh, ...) mais aussi n'importe quelle autre
commande .
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:


1. /etc/passwd
Exemple:

Voici un exemple d'entrée d'un fichier passwd :


toto:Iglf78DS:1005:1006:toto toto:/home/toto:/bin/bash

Le mot de passe est encrypté


/etc/passwd est accessible par tous les utilisateurs
Risque de décrypter les mots de passes par un utilisateur malintentionné

/etc/shadow accessible seulement au root et n'est utilisé qu’au moment de


l’authentification
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:


2. /etc/group
Les groupes sont définis au sein du fichier /etc/group. Voici sa structure.
group:passwd:GID:liste_utilisateurs

Champ Contenu
group nom du groupe

passwd mot de passe pour un utilisateur désirant


changer de groupe sans en faire partie. Peu
utilisé. (commande newgrp)

GID Group Identification, numéro d'identification du


groupe

liste liste des utilisateurs du groupe. Pour utilisation


avec la commande newgrp
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs: 3. /etc/shadow

Le fichier shadow utilise la syntaxe :

Login:passwd:lastmod:min:max:warning:limit:disable

 lastmod : date du dernier changement de password;


 min : nombre de jours minimum avant le changement du password;
 max : nombre de jours maximum avant le changement du password;
 warning : nombre de jour avant l'expiration du délai où l’on commence à prévenir
l'utilisateur qu'il doit changer son password avant X jours;
 limit : nombre de jour après la fin de la date de changement du password le séparant
de la désactivation;
 disable : date à partir de laquelle le compte est désactivé (compte temporaire).
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs: 4. /etc/gshadow

Le fichier shadow utilise la syntaxe :

Group_name:passwd:admin_list:members

• Group_name: nom du groupe;

• passwd:mot de passe chiffré;

• admin_list:liste d' administrateur du groupe séparés par des virgules;

• Members: liste des membres du groupe séparés par des virgules.


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:

Création des comptes utilisateurs

3 méthodes possibles :

1. Par ligne de commande :adduser /useradd;


2. par édition des fichiers : /etc/passwd ; /etc/group;
3. par interface graphique .
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:


Principe de l’ajout des utilisateurs :

 L’ajout d’un utilisateur consiste à :

 Associer un mot de passe à l’utilisateur(ajout d’une entrée dans le fichier /etc/passwd)

 Définir à quel groupe appartient l’utilisateur (une entrée dans /etc/group)

 Créer le répertoire personnel de l’utilisateur ( /home/utilisateur )


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:

 créer le fichier de configuration personnel du shell

Une entrée (c'est à dire une ligne) du fichier /etc/passwd est de la forme :
Nom :mot de passe :numéro d'utilisateur :numéro de groupe :champs
spécial :répertoire personnel :shell de démarrage

Exemple d'entrée du fichier /etc/passwd :


cat /etc/passwd | grep master
master r:x:501:100: master master :/home/ master :/bin/bash
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:

3 méthodes possibles :

1 .Par ligne de commande :adduser /useradd

• adduser est un outil en mode console permettant de créer un compte d'utilisateur de manière interactive.
• Il s'agit d'un script Perl propre à Debian et les distributions qui lui sont dérivées – comme Ubuntu –
posant des questions à propos d'un compte à créer, puis invoque le programme usermod en lui passant en
arguments les informations récupérées.
• Cet outil est donc très facile et intuitif à utiliser.
• addgroup est son pendant en ce qui concerne la création d'un groupe d'utilisateurs.
• !!! Seul un administrateur du système est en mesure de créer un nouveau compte ou groupe
d'utilisateur.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:

Création des comptes utilisateurs

La syntaxe de la commande :

Adduser [-option]
login
Options :
-p(mot de passe) -d(repertoire d’accueil) -u(UID) -s(shell) -g(groupe
-c(commentaire) -m(copier skel) -e(date d’expiration du compte)

Le root doit affecter un mot de passe à cet user: passwd user


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs: Création des comptes utilisateurs

2 .Par édition des fichiers de config des utilisateurs

Les étapes :  créer l'utilisateur et éventuellement son groupe primaire dans les fichiers passwd,

et group en utilisant les deux commandes vipw /etc/passwd et vigr /etc/group ;


 créer le répertoire principal de cet utilisateur (généralement dans /home) et lui
affecter les bons droits d'accès ;
 copier un certain nombre de fichiers standards depuis le répertoire /etc/skel vers
le répertoire principal de l'utilisateur et leur affecter les bonnes permissions.
 Réinitialiser le mot de passe; passwd.
 Tester la connexion.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:


Les principales Commandes de gestion des utilisateurs

La commande passwd permet de changer le mot de passe, et dispose de plusieurs


options:

 passwd nom_user : changement du mot de passe de l'utilisateur donné

 passwd -d nom_user : supprime le mot de passe

 passwd -l nom_user : verrouille le compte


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs: Les autres commandes sont :

adduser , moduser , deluser: :ajout, modification, suppression d’un compte utilisateur


Addgroup, modgroup, delgroup : ajout, modification, suppression d’un groupe

pwck : vérification de la cohérence de /etc/passwd

grpck : vérification de la cohérence de /etc/group

finger : informations sur un utilisateur

su : se connecter à un compte

id : connaître son identité

chsh (Linux) : changer de shell


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:


Les commandes shown et chgrp

Shown: changer le propriétaire

#chown nouveau_propriétaire fichier

Chgrp: changer le groupe

#chgrp nouveau_groupe fichier

Shown : changer le propriétaire et le groupe au même temps

#chown nouveau_propriétaire:nouveau_groupe fichier


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs: Les autres commandes sont :

usermod : utilise les même options que useradd

Usermod –d répertoir d’acceuil –l login –L verouiller –U deverouiller login


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs: Les autres commandes sont :

Modifier le shadow pour un utilisateur

Modifier le mot de passe

#passwd [-k] [-l] [-U] –f [-d] [-s]

-K: explicitera la modification du mot de passe uniquement c’est le compte est expiré;
-l: permet de verrouiller un compte;
-U: permet de déverrouiller un compte;
-f: pour forcer le déverrouillage;
-d: pour supprimer un mot de passe;
-S: pour avoir les informations sur un utilisateur
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs: Les autres commandes sont :

Supprimer un utilisateur

#userdel [-r] [-f] [-h] login

-r: pour supprimer tous les fichiers de l’utilisateur;


-f: forcer la suppression d’un utilisateur;
-h: pour afficher de l’aide
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs: Les autres commandes sont :

Ajouter un groupe

#groupadd [-g GID [–o]] [–r] [-f] group_name

-g: expliciter le GID;


-o: permet de laisser la possibilité d’utiliser le même GID pour plusieurs groupes;
-r: créer un groupe système;
-f: forcer l’opération de –r.
Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:

Modifier et supprimer un groupe

Relatif au fichier /etc/group

#groupmod [-g GID] [-n new_group_nom] old_group_nom


Gestion
Chapitre 1: Rappel des notions des
de base utilisateurs
+ Contexte et droits
de l’administration +gestion des utilisateurs

Gestion des utilisateurs:

Modifier et supprimer un groupe

Relatif au fichier /etc/gshadow

#gpasswd [-a user] [-d user] [-R] [-r] [-A user] [-M user] group

-a: Ajouter un utilisateur au groupe;


-d: supprimer un utilisateur du groupe;
-R: interdire tout usage de newgroup;
-r: supprimer le mot de passe de ce groupe;
-A: définir l ’administrateur de ce groupe;
-M: une fois l’action –A est fait, avec –M l’admin figurera dans la liste des membres.
Gestion des utilisateurs et droits

Gestion des utilisateurs:

Gestion des utilisateurs : mode graphique

 Suivant les versions d'Unix, la manière d'ajouter un compte peut varier sensiblement.

 sous HP-AIX : SAM (System Administration Manager),

 sous IRIX : User Manager,

 sous Solaris : Admintool.

 sous linux : gnome-system-tools Utilisateurs et groupes.


Gestion des utilisateurs et droits

TP1:
Gestion des comptes utilisateurs
Chapitre 2: Gestion et sécurisation des fichiers
Gestion des utilisateurs et droits

Introduction:
• Le rôle d’un système d’exploitation est aussi d’assurer la sécurité et l’accès aux données, ce qui est possible
grâce au mécanisme des droits.
• Chaque fichier ou répertoire se voit attribuer des droits qui lui sont propres, des autorisations d’accès
individuelles.
• Linux possède des mécanismes permettant au propréitaire d’un fichier d’en protéger le contenu;
• Le propréitaire est l’utilisateur ayant crée le fichier;
• Pour permettre le partage de fichier et faciliter le travail en équipe, linux définit la notion de groupe
d’utilisateurs,
• Tout utilisateur appartient à un group au moins.
• Les droits d’accès à un fichier sont définis par son propriétaire.
Gestion des utilisateurs et droits

Droit d’accès aux fichiers:

• À sa création par l’administrateur, un utilisateur se voit affecter un UID (User Identification) unique.
• Les utilisateurs sont définis dans le fichier /etc/passwd. De même chaque utilisateur est rattaché à un
groupe au moins (groupe principal), chaque groupe possédant un identifiant unique, le GID (Group
Identification).
• Les groupes sont définis dans /etc/group.
• La commande id permet d’obtenir ces informations.
• En interne, le système travaille uniquement avec les UID et GID, et pas avec les noms eux-mêmes.
• A chaque fichier est associé un ensemble d’indicateurs précisant les droits d’accès au fichier: Il existe
trois types d’utilisateurs:

1. Le propriétaire du fichier (u: user ),


2. Le groupe propriétaire du fichier (g: group),
3. Les autres utilisateurs du système (o: others).
4. Prop+groupe+autres (a: all).
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Droit d’accès aux fichiers:


Pour chaque fichier et par type d’utilisateur il existe trois modes principaux:

1. Autorisation d’écriture (W)


2. Autorisation de lecture (R)
3. Autorisation d’éxécution (X)

Les permissions étendues:

En plus de six neuf bits (rwx rwx rwx), Linx défint rois autres bits de
permission: SUID (set User ID, Set Group ID, t-bit (stikey bit; bit
collant)
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Droit d’accès aux fichiers:

Général
R Readable (lecture).

W Writable (écriture).

X Executable (exécutable comme programme).

Fichier Normal
R Le contenu du fichier peut être lu , chargé en mémoire, visualisé, recopié.

W Le contenu du fichier peut être modifié, on peut écrire dedans. La suppression n’est pas forcément liée à ce droit (voir droits sur répertoire).

X Le fichier peut être exécuté depuis la ligne de commande, s’il s’agit soit d’un programme binaire (compilé), soit d’un script (shell, perl...).

Répertoire
R Les éléments du répertoire (catalogue) sont accessibles en lecture. Sans cette autorisation, ls et les critères de filtre sur le répertoire et son contenu ne sont pas
possibles. L’accès individuel à un fichier reste possible si vous connaissez son chemin.

W Les éléments du répertoire (catalogue) sont modifiables et il est possible de créer, renommer et supprimer des fichiers dans ce répertoire. C’est ce droit qui
contrôle l’autorisation de suppression d’un fichier.

X Le catalogue peut être accédé par CD et listé. Sans cette autorisation il est impossible d’accéder au répertoire et d’agir sur son contenu qui devient verrouillé.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Droit d’accès aux répertoires:


Dans le cas des répertoires , l’interprétation des droits est lègerement différente de celle
concernant les fichiers. Les informations concernant un répertoire sont obtenues par la commande
ls – dl rept.

Exemple:

L’interprétation des protections pour les répertoires est la suivante:

R autorise la lecture du contenu du répertoire comme dans le cas des fichiers, permet
donc de voir la liste des fichiers qui sont dans le répertoire.
X autorise l’accès au répertoire (à l’aide de la commande cd).
W autorise la création, la suppression et le changement du nom d’un élément du
répertoire. Cette permission est indépendante de l’accès aux fichiers dans le répertoire.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Effets de r,w et x

Le sens de ces permissions est différents pour les fichiers normaux et les repertoires:
 Pour un fichier
R permet de lire le fichier;
W permet d'écrire ;
X indique qu'il s'agit d'un programme. Peut être executé.
 Pour un repertoire:
R permet de voir le contenu;
W permet d'écrire dans le repertoire (ajouter, effacer, renommer un fichier);
X permet de traverser le repertoire.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

• Pour chaque fichier linux, sont associés 10 attributs ( 1 pour désigner le type, et 9 de
protection, 3 pour le propriétaire, 3 pour le groupe, et 3 pour les autres utilisateurs).
• L’ensemble des renseignements sur un fichier est obtenu en utilisant la commande ls -l

(1) - le type du fichier: "-" fichier normal, "d" un fichier répertoire, "l" un lien.
(2) Rw- permission du propriétaire
(3) R - - permission du groupe
(4) R - - permission des autres
(5) 1 le nombre de lien sur sur fichier, dans ce cas 1.
(6) l’utilisateur (root)
(7) le groupe (root) propréitaire de ce fichier.
(8) La taille du fichier
(9) La date et heure de dernière modification.
(10) le fichier;
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Modification des droits d’accès aux fichiers:

• Lors de sa création, un fichier ou un répertoire dispose de droits par défaut.


• La commande chmod (change mode) permet de modifier les droits sur un fichier ou un répertoire.

• Il existe deux méthodes pour modifier ces droits :

1. par la forme symbolique;


2. par la base 8.

• Seul le propriétaire d’un fichier peut en modifier les droits (plus l’administrateur système).
• Le paramètre -R change les droits de manière récursive.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

1. par la forme symbolique:

La syntaxe est la suivante :


#Chmod [who] op [permission] fichier

• Who: S’il faut modifier les droits de l’utilisateur, utilisez le caractère u, pour les droits du groupe le caractère g,
pour le reste du monde le caractère o et pour tous le caractère a.
• Op: Pour ajouter des droits, on utilise le caractère +, pour en retirer le caractère -, et pour ne pas tenir compte des
paramètres précédents le caractère =.
• Permissions: Le droit d’accès par lui-même : r, w ou x.
• La possibilité de séparer les modifications par des virgules et cumuler plusieurs droits dans une même commande.
#chmod u + r Fichier1
g- w
o = x
a
#chmod u+r, o-x, g+rw fichier1
Gestion des utilisateurs et droits

Fichiers:
Droits max: 110 110 110 (666) r=4; w=2; x=1
Rw- r- - r- - (110 100 100)

Rep:
Droits max: 111 111 111 (777) r=4; w=2; x=1
Rwx r-x r-x (111 101 101)

Mkdir r
Ls –dl r
D rwx rwx rwx
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

2. par la base 8

• La syntaxe est identique à celle des symboles. À chaque droit correspond une valeur octale,
positionnelle et cumulable.
• Pour encoder trois droits rwx, il faut trois bits, chacun prenant la valeur 0 ou 1 selon que le droit est
absent ou présent. 2^3=8, d’où une notation octale possible.
• Le r vaut 4.
• Le w vaut 2.
• Le x vaut 1.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

2. par la base 8

• Pour obtenir le droit final il suffit d’additionner les valeurs. Par exemple si vous voulez
rwx rw- rw- alors obtenez:
• (400+200+100)+ (40+20+0)+(4+2+0)=755, 766
• et pour rw-r--r-- 400+200+40+4=644.

$ chmod 755 fic1


$ chmod 644 fic2
$ ls -l fic1 fic2
-rwxr-xr-x 1 seb users 0 mar 21 22:03 fic1
-rw-r--r-- 1 seb users 0 mar 21 22:03 fic2

• La modification octale des droits n’est pas fine et ne permet pas de modifier un seul
droit.
• C’est l’intégralité des droits qui est modifiée en une fois.
Gestion des utilisateurs et droits

• Pour obtenir le droit final il suffit d’additionner les valeurs. Par exemple si vous voulez
rwx rw- rw- alors obtenez:
• (400+200+100)+ (40+20+0)+(4+2+0)=755, 766
• et pour rw-r--r-- 400+200+40+4=644.
• 420 400 400644

• Rwx rw- rw-


• 421 420 420766
Gestion
Chapitre 3: Protection des utilisateurs et droits
de fichiers

2. par la base 8
Exemple:

On va modifier la protection du fichier test de la manière suivante:


R-x rw- rwx autorisant un accès lecture et execution au propréitaire, lecture et écriture
au groupe et un accès sans restriction aux autres (ce qui est rare).
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Masque des droits


Restreindre des droits automatiquement:

• c’est rw-r--r-- (644) pour un fichier et rwxr-xr-x (755) pour un répertoire.


• Ces valeurs sont contrôlées par un masque, lui-même modifiable par la commande umask.
• La commande umask (p, et S) prend comme paramètre une valeur octale dont chaque droit individuel
sera supprimé des droits d’accès maximum du fichier ou du répertoire.
• Par défaut, tous les fichiers sont créés avec les droits 666 (rw-rw-rw-).
• Par défaut tous les répertoires sont créés avec les droits 777 (rwxrwxrwx).
• Puis le masque est appliqué.
• Le masque est le même pour l’ensemble des fichiers.
• Un masque ne modifie pas les droits des fichiers existants, mais seulement ceux des nouveaux fichiers.
Gestion des utilisateurs et droits

If [ $UID==0 ]
then
Umask 0020
Else
Umask 0022
fi
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Masque des droits


Restreindre des droits automatiquement:

• Les droits par défaut (maximum) des fichiers et des répertoires ne sont pas identiques. C’est
logique :
• W comme le droit x permet de rentrer dans un répertoire, il est normal que celui-ci en
dispose par défaut.
• Ce même droit est inutile par défaut sur les fichiers : seule une très petite minorité des
fichiers sont des scripts et des programmes binaires.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Droit d’accès aux fichiers: Exercices

Exercie1: en utilisant la commande mkdir, echo et cat, créez dans un nouveau


répertoire le fichier « bienvenue » contenant la ligne de commandes:
Echo bienvenue dans le monde Linux. Exécutez le fichier.

Exercice2: en utilisant la commande mkdir, echo, cp, chmod, cat, créez un fichier que
vous pouvez lire, modifier et supprimer.

Exercice3: en utilisant les commandes mkdir, echo, cp, chmod et cat, créez un fichier
que vous pouvez lire et supprimer mais que vous ne pouvez pas modifier.

Exercice4: en utilisant les commandes mkdir, echo, cp, chmod et cat, créez un fichier
que vous pouvez lire mais que ne vous pouvez ni modifier ni supprimer.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Masque des droits


La protection d’un fichier, ainsi que le nom du propriétaire et le nom du groupe auquel le
propriétaire appartient, sont établis à sa création et ne peuvent être modifiés que par son
propriétaire.
La commande umask permet de définir un masque de protection des fichiers et
répertoires lors de leur création. Cette commande se trouve en géneral dans le fichier .bashrc mais
elle peut etre exécutée à tout moment, le masque est exprimé en base 8.
Exemples:

La valeur 022 est soustraite de la permission permanente (111 111 111):

111 111 111  permission permanentes (max) 777-755=022


000 010 010  masque (umask)

111 101 101  755 (permissions souhaitées)

Umask 022 permet de créer des fichiers répertoires dont la protection est:
Rwx r-x r-x. c’est souvent l’option par défaut.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits attribués automatiquement à un fichier: umask

• Lorsqu’un nouveau fichier est crée, celui-ci obtient automatiquement certains


droits. Ces derniers sont définis par défaut dans le fichier de paramétrage de la
session: /etc/pam.d/common-session.

• Il est possible de de définir mes droits aux fichiers au répertoires lors


de leur création.
• Utiliser la notion du masque à travers la commande umask (user file
création mode masque; masque de création de fichier par utilisateur).
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits attribués automatiquement à un fichier: umask

• Lorsqu’un nouveau fichier est crée, celui-ci obtient automatiquement certains droits. Ces
derniers sont définis par défaut dans le fichier de paramétrage de la session:
/etc/pam.d/common-session.
• Il est possible de de définir mes droits aux fichiers au répertoires lors de leur
création.
• Utiliser la notion du masque à travers la commande umask (user file création
mode masque; masque de création de fichier par utilisateur).
• Pour savoir le masque utilisé par défaut, nous tapons la commande: umask Si on
veut afficher les droits par défaut en mode symbolique: umask -S
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits attribués automatiquement à un fichier: umask


• Permission par défaut=permission initiale-Masque (022)
• Permission initiale d’un fichier: 666 666
• Permission initiale d’un répertoire: 777 640
026

Pour trouver la permission par Pour trouver la permission par


défaut d’un fichier: défaut d’un répertoire:
Exemple:
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits attribués automatiquement à un fichier: umask


Droit d’accès à la création des fichiers et des répertoires:

Pour les fichiers ordinaires, umask 022 donnera une protection de type
Rw- r– r--, car la possibilité d’éxécution n’est pas autorisée sur les fichiers
ordinaires.
Voici donc ce qui se passe après avoir lancé umask 022:

Commande conseillé pour la sécurité. La protection d’un fichier est: rwx r-x –x
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits d’accès par défaut: umask

• umask affiche le masque de l'utilisateur actif;


Quelles sont les valeurs des masques par défaut de root et des autres utilisateurs ?
• umask -S affiche les permissions correspondantes au masque, sous forme symbolique.
• Pour la rendre permanente, on peut intervenir sur un fichier profile :
• Dans le fichier profil général /etc/profile, on peut modifier la règle habituelle :

if [ $UID == 0 ] ;
then umask 022 ;
else umask 077 ;
fi
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits d’accès par défaut: umask

• Pour agir au niveau des utilisateurs, ajouter la ligne umask masque dans le fichier de profil
personnel $HOME/.bash_profile.
• umask masque fixe les permissions ultérieures de création des fichiers de l'utilisateur actif, conformément
à masque, en notation octale.
Attention ! le changement ne s'applique qu'à la présente session.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits d’accès par défaut: umask

Pour changer les droits par défaut d’une manière permanente. Il faut procéder comme suit:

• Editer le fichier /etc/pam,d/common-session;

• Chercher la ligne session optional pam_umask,so

• Changer la ligne par:

• Session optional pam_umask,so umask=valeur_masque

• Enregistrer et quitter.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Droit d’accès aux fichiers: Exercices

Exercice5:

Tapez la commande umask, de manière à ce que les fichiers lors de leur création aient
par défaut les droits 640 (rw-r-----), et les répertoires 750 (rwxr-x---).

Exercice6:

dans quel cas les permissions d’un fichier à sa création sont elle différentes des
permissions fixées par umask?
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Droit d’accès aux fichiers: Exercices

Exercice5:

5.1: Définissez un umask trés restrictif qui interdit à quiconque à part vous l’accès en lecture ou en
écriture, ainsi que la traversée de vos répertoires. Testez sur un nouveau fichier et un nouveau
répertoire.
5.2. Définissez un umask trés permissif qui autorise tout le monde à lire vos fichiers et traverser vos
répertoires, mais n’autorise que vous à écrire. Testez sur un nouveau fichier et un nouveau répertoire.
5.3. Définissez un umask équilibré qui vous autorise un accès complet et autorise un accès en lecture
aux membres de votre groupe Unix. Testez sur un nouveau fichier et un nouveau répertoire.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus:

Les permissions
• Chaque fichier est possédé par un propriétaire, appartient à un groupe et est associé à
des permissions représentées par 12 bits. En voici leur description
• r,w,x
• read, write et execute. Il existe 3 triplets. Un pour le propriétaire, un pour le
groupe et un pour le reste des utilisateurs.
• setuid
• modifie les permissions d'un exécutable
• setgid
• modifie le groupe d'un exécutable en action
• Sticky-bit (T-bit)
• l'ancien sens de ce bit devient obsolète et les différents OS l'ont récupéré pour des
usages divers. En Solaris , par exemple, il permet de créer une certaine privacité
dans des directory autrefois publiques comme /tmp
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: SUID, GUID

• Il est possible d’établir des droits d’accès étendus pour les fichiers exécutables.
Quand on applique ces droits à une commande, cette dernière s’exécutera avec les
droits du propriétaire ou du groupe d’appartenance de la commande et non plus
avec les droits d’utilisateurs l’ayant lancée.
• L’exemple le plus simple est le programme passwd permettant de changer son mot
de passe. Si la commande était exécutée avec les droits d’un utilisateur classique,
passwd ne pourrait pas ouvrir et modifier les fichier /etc/passwd et /etc/shadow.

• Seul le root peut modifier le fichier. La commande passwd ne pourrait donc pas
modifier ce fichier pour un simple utilisateur.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: SUID, GUID


• Si on regarde les droits de la commande passwd :

• Un nouveau droit est apparu: le droit s pour les droits de root, Ce nouvel attribut permet l’exécution
de la commande avec des droits d’accès étendus. Pendant le traitement, le programme est exécuté
avec les droits du propriétaire (SUID) du fichier ou de son groupe (SGID) d’appartenance.
• Le droit s sur l’utilisateur est appelé le SUID-bit (Set User ID bit), et sur le groupe SGID-Bit (Set
Group ID bit).
• Lorsque le GUID est appliqué sur un répertoire, il y aura un héritage du même groupe pour toutes
les entités existantes sous ce répertoire. (tout fichier ou sous-répertoire créé dans ce répertoire parent
appartiendra au groupe de celui-ci et non au groupe de l'utilisateur qui crée l'élément).
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: SUID, GUID

 Sa présence permet à un fichier exécutable de s'exécuter sous l'identité de créateur


et donc les droits de son propriétaire, à la place des droits de l'utilisateur actuel qui
l'exécute
 Examiner les droits du fichier exécutable /usr/bin/passwd, qui permet de (re)définir
un mot de passe et le comparer à ceux du fichier /etc/shadow qui contient les mots
de passe cryptés.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: SUID, GUID

 Comme le droit x est accordé à tous, chacun peut donc exécuter la


ommande passwd, mais personne ne posséde pas lui-même le droit d'écriture
dans le fichier /etc/shadow.
Le positionnement du SUID permet d'agir en tant que root lors de la
demande d'accès au fichier et comme root a tous les droits, il est alors
possible de mettre à jour ce fichier des mots de passe.
 Valeur octale 4000. 1022 (s (u), rwx rw- r--)
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: SUID, GUID

Comment connaitre les


commandes comme passwd, qui
offre cette permission SUID ?
cd /usr/bin
# grep filtre les lignes produites
par ls en utilisant
ls -l | grep "^...s“
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: SUID, GUID

Attribution des droits étendus:

La commande chmod permet de placer les SUID-Bit et SGID-Bit :


• Méthode littérale :
# chmod u+s commande (SUID)
# chmod g+s commande (SGID)
#chmod o+t dossier
• Méthode numérique :
Les valeurs octales sont 4000 pour le SUID-Bit et 2000 SGID-Bit, et 1000 pour le t-bit.
# chmod 4755 commande
# chmod 2755 commande
#chmod 1755 commande
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: SUID, GUID

Attribution des droits étendus:

NB:
• Seul le propriétaire ou l’administrateur peut attribuer ce droit;
• Affecter le SUID ou le SGID n’a pas de sens que si les droits d’exécution ont
préalablement été établis (attribut x sur le propriétaire ou le groupe).
• Si ceux-ci ne sont pas présents, le s et remplacé par S.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: SUID, GUID

Prenons un exemple pour comprendre le fonctionnement de ce bit. Supposons qu'il


existe un programme Nettoye appartenant à l'utilisateur TEST tel que Nettoye
dir détruise le repertoire dir. Supposons, en outre, qu'il existe un repertoire
brol appartenant à ce même TEST et que lui seul peut la détruire.
Si l'utilisateur TEST2 tape Nettoye brol, il se verra refuser l'opération car le programme
va s'exécuter avec les permissions de TEST2. Sauf si le setuid bit est mis, auquel cas il
va s'exécuter avec les permissions de TEST, le propriétaire du fichier Nettoye, et la
destruction sera acceptée.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: SUID, GUID

Pour un fichier exécutable, il fonctionne de la même façon que le SUID, mais transposé
aux membres du groupe (g).

•Positionné sur un répertoire, ce droit modifie le groupe propriétaire d'un fichier créé dans
ce répertoire. Un fichier créé dans un tel répertoire, verra son groupe propriétaire modifié:

Ce ne sera plus le groupe primaire du propriétaire qui l'a créé (règle habituelle), mais à la
place, le groupe propriétaire du répertoire lui-même. Autrement dit, ce droit s posé sur un
répertoire, met en place un mécanisme d'héritage de groupe, de répertoire conteneur à
fichiers contenus.
•Notation symbolique s, mis à la place du x du groupe, valeur octale 2000.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: SUID, GUID

Remarque:

• Bien que suid et sgid soient pratiques, et même nécessaires dans de

nombreuses circonstances, une utilisation incorrecte de ces modes d'accès peut

permettre des violations de la sécurité d'un système.

• Vous devriez avoir aussi peu de programmes suid que possible.

• La commande passwd est l'un des rares programmes qui doivent être suid
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: le sticky-bit

• Le sticky bit (bit collant) permet d’affecter une protection contre l’effacement
du contenu d’un répertoire.
• Prenant l’exemple du répertoire /tmp, tous les utilisateurs ont tous les droits
sur son contenu :

• Dans ce répertoire, tout le monde peut supprimer des fichiers y compris ceux
qui ne lui appartiennent pas.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: le sticky-bit

• Le sticky bit appliqué à un répertoire, empêche cette manipulation. Le fichier


peut encore être visualisé et modifié , mais seul son propriétaire et le root
peuvent le supprimer.
• Méthode littérale:

• Méthode numérique :En octal, on utilisera la valeur 1000 pour le sticky bit :
• # chmod 1777 /tmp
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: le sticky-bit

Le t-bit (parfois appellé "sticky bit") est seulement utilisé avec les répertoires. Il est utilisé
avec le répertoire /tmp :

Normalement ( sans le t-bit de positionné sur le répertoire ) les fichiers peuvent être effacés
si le repertoire dans lequel ce trouve les fichiers possède les droits d'écriture pour la personne
voulant effacer les fichiers. Ainsi si vous avez un répertoire ou n'importe qui peut venir
mettre des fichier alors n'importe qui peut venir les effacer aussi.
Le t-bit change cette règle. Avec le t-bit positionné seul le propriétaire du fichier ou le
propriétaire du répertoire a le droit d'effacer les fichiers. Le t-bit peut être positionné par la
commande chmod a+tw ou 1777. Voici un exemple :
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

Les droits étendus: le sticky-bit

Exemple:

User1 crée un répertoire avec le t-bit de positioné:


>mkdir mytmp
chmod 1777 mytmp

maintenant User2 met un fichier dedans:


>ls -al
drwxrwxrwt 3 user1 users 1024 Jan 1 20:30 ./
-rw-r--r-- 1 bob users 0 Jan 1 20:31 [Link] Ce fichier peut maintenant être
effacé par User1 (propriétaire du répertoire) et User2 (le propriétaire du fichier)
mais il ne peut être effacé par User3:
>whoami
User3
rm -f [Link]
rm: [Link]: Opération interdite
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list) Limites de la gestion des accès

Par défaut linux attache 3 privilèges à un fichier:


1. L’utilisateur propriétaire (u);
2. Le groupe propriétaire (g);
3. Les autres (o)/

Ainsi, le partage de fichier ne peut se faire qu’à travers le principe de groupe!!!


Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list) Limites de la gestion des accès

• Pour qu’un utilisateur X rend un fichier accessible en lecture et écriture à un utilisateur Y


et uniquement à Y, il n’ya pas d’autre solution que de créer un groupe G auquel X et Y
appartiennent, puis d’accorder les droits de lecture et d’écriture du fichier au groupe G.
• Le problème est la création du groupe n’est possible que pour l’administrateur du système
qui seul peut ajouter un nouveau groupe d’utilisateur.
• En outre si un autre utilisateur souhaite avoir les même droit sur le fichier en question, il
faudrait à nouveau lui faire une demande à l’administrateur pour ajouter le nouveau
membre Z au groupe G.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list) Limites de la gestion des accès

Les ACL: permettent de régler les privilèges plus finement et de manière plus autonome:
Pour utiliser les ACL, il faut vérifier les deux prérequis ci-après:
• Le noyau doit supporter les ACL;
• Le système de fichier est monté avec l’option ACL.

Les ACL ne sont pas utilisées que si le noyau les supportes.


Sur Ubuntu, le noyau prend en charge les ACL, mais elles ne sont pas nativement activées.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list) Introduction aux ACL

1. Vérifier la configuration du noyau en utilsant la commande suivante lancée par le root:


2. #grep ACL /boot/config-*

3. La ligne suivante indique que le support géneral des ACL est présent:
4. CONFIG_*****_FS_POSIX_ACL=y
5. Les étoiles sopnt remplacées par le système de fichier pris en charge par les
ACL (ex: EXT2, EXT3, EXT,,,,).
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list) Limites de la gestion des accès

• Le système de fichier est EXT4, donc les ACL sont supportées et activées, mais nous ne
pouvons toujours pas les modifier, pour cela nous devons installer le paquet acl, qui
comporte deux commandes nécessaires pour cette modification, l’installation se fait
comme suit:
#apt-get install acl
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list) Attribution des ACL

Setfacl (set file’s ACL): mise en place de ces autorisations;


Getfacl ( get file’s ACL): examen des autorisations d’un fichier

Setfacl –m u:utilisateur:permissions fichier

M permet de modifier les autorisation de l’utilisateur (l’arguent u. Les autorisations peuvent


être définies en utilisant la notation symbolique sur le fichier.
-m: modifier les ACLS d’un fichier ou répertoire.
-x: supprimer toutes les entrées ACLS.
-b: supprimer les application des ACL de façon récursive.
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list) Examiner les autorisations associées à un fichier

LA syntaxe;
Getfacl [option] fichier
La commande getfacl permet d’afficher les ACL du fichier, en utilisant les options ci-après:
-R: permet de voir les ACLS de façon récursive;
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list) Limites de la gestion des accès


Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list) Exemple avec groupe


Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list) Exemple avec groupe

Pour enlever tout droit acl à root sur ce fichier:


Il faut utiliser la commande
#setfacl –x u:root ficher
pour supprimer l’ensemble des droits ACL d’un fichier, on utilise la commande:
#setfacl –b fichier
Gestion
Chapitre 2: Protection des utilisateurs et droits
de fichiers

ACL (access control list)


Gestion des utilisateurs et droits

TP2:
Gestion des permissions fichiers

Vous aimerez peut-être aussi