Table des matières

Le système des droits d'accès, Principes généraux à comprendre avant...

Ce tutorial est écrit à l'intention des personnes qui débarquent de Windows, et que le système de droits d'accès de Linux rebute.

A QUOI SERT UN "SYSTEME de DROITS d' ACCES" dans un OS en général ?

Il sert à gérer :

C'est le point fort de Linux, car d'entrée Unix dont est dérivé Linux a été conçu avec ce principe très sophistiqué et succeptible de s'adapter à toutes les utilisations d'un ordinateur et à toutes les organisations ( une entreprise, un service, la famille).

C'est un peu complexe , et souvent rebutant pour les personnes qui viennent de Windows et souvent seules utilistatrices de leur micro, mais il suffit d'en comprendre le principe général pour le maîtriser au lieu de le subir.

Une configuration de base de ces droits est faite à l'installation pour sécuriser le sytème et permet d'utiliser linux comme on utilise windows en général. Mais il y aura des choses à adapter, parce que Linux ne peut pas deviner quelle organisation vous avez chez vous. Ce sera donc à vous de gérer les droits pour que le sytème réponde à vos besoins.

La notion de droits s'applique aux utilisateurs.

Tout de suite, il vient une question bête : “a quoi ça sert si je suis seul utilisateur de mon micro ?”

C'est mon cas. mais j'y vois trois intêrets :

La notion de droit intervient cependant juste après l'installation. Dans le montage des partitions et des périphériques ( dans la ligne de montage de fstab ) Pour simplifier lors du montage ( ce point sera traité en détail dans un paragraphe ) j'utilise l'option “users” c'est à dire que tous les utilisateurs auront le droit de monter ces périphs (disques, partitons, cdrom…)

Rassurez vous à l'installation je n'ai configuré qu'un seul utilisateur, pour tester ma Suse 9.0 et je reviendrais plus tard sur la configuration des utilisateurs et des droits, lorsque j'aurais réfléchi à mon organisation personelle.

Revenons à Windows quelques instants pour voir comment sont gérés les droits des utilisateurs avec Windows XP…. ( dans les anciennes versions cette notion n'existait même pas… et personne ne pouvait interdire quiconque de faire un format C: )

LE SYSTEME DE DROITS DE WINDOXS XP

Données

Microsoft à résolu la confidentialité des données avec un répertoire propre à chaque utilisateur …. jusque là ça va !

Il a résolu le partage des données avec un répertoire unique : dossiers partagés.

Plus simple , tu meurs !!!! Mais si ça marche il faut en voir les inconvénients et vous allez comprendre les avantages de linux !

Système

Dans Windows, il y a deux niveaux d'utilisateurs :

Avec windows, n'importe quel utilisateur peut lancer n'importe quelle application.

Si vous donnez un jour pour des raisons pratiques votre mdp utilisateur par téléphone à vos enfants pour qu'ils accèdent à vos données perso, si vous êtes administrateur du micro, vos gamins pourront tout faire , y compris formater le disque. Avec linux ça n'arrivera jamais !

Si vous mettez des données ou si vous faites des sauvegardes dans des partitions suplémentaires, comme windows ne gère pas les droits d'accès tous les utilisateurs ont accès à ces partitions précieuses. Avec Linux vous pourrez sélectionner qui a le droit d'accès et pour faire quoi sur cette partition.

Contrôle d'accès aux périphérique :

Controle du lancement des applications :

Effectivement c'est simple, pour ne pas dire archaïque, mais pas sans inconvénients et sans danger ! c'est pour celà que windows est un sytème plus fragile que linux.

C'est aussi pour celà que tout marche avec windows, et que par contre dans Linux il fait gérer les droits pour faire fonctionner ceratines choses.

Maintenant voyons comment Linux a résolu ces problèmes !

Les DROITS d'ACCES sous LINUX !

Juste quelques notions à intégrer mais incontournables ! par contre le système est d'un souplesse inconnue de windows, pourtant fort utile dans le cadre d'une utilisation familiale.

Les DOITS d'ACCES comportent deux notions : QUI et QUOI ?

Quoi ?

Qui ?

Dans Linux on appelle celà les “CLASSES d'UTILISATEURS”. ce sont donc trois façons d'accéder aux fichiers de données ou répertoires sur le disque.

Si vous êtes des fans de la base 2 puisque chaque droit est “vrai” ou “faux” et qu'il y a trois classes d'utilisateurs , cela fait 2 puissance ( 3+3) combianisons différentes possibles qui se résument dans un tableau de trois cases par trois cases ( clic droit sur le fichier >propriétés >droits d'accés ) = 64 combinaisons de bases possibles pour accéder un fichier ou un répertoire.

Oui mais le GROUPE C'est quoi ? Vous pouvez en créer autant que vous voulez dans Linux pour résoudre ce dilemme de partage et de confidentilité des données entre les utilisateurs., selon l'organisation familiale ou professionelle, ou personelle que vous gérez : il est possible de créer plus d'un millier de groupes et vous multipliez par autant le nombre de combinaisons possibles, pour accéder à un fichier..

Le GROUPE d'utilisateurs , ne se limite pas à un groupe d'individus.

Dans une utilisation familiale par exemple ces groupes : le couple, la famille entière, les enfants;, les enfants et leurs copains.

La notion de GROUPE même si on enregistre des utilisateurs dans Linux est bien plus subtile et surtout plus puissante :

On peut définir des GROUPES d'utilisateurs (donc les personnes) qui ont accès :

Celà simplifie la gestion des droits : au lieu de raisonner les groupes d'utilisateurs (par exemple un service ou les enfants, vous raisonnez : pour tel périph quel groupe de personnes y aura accès. Le groupe est alors associé au périph ( ou à un dossier, une partition…. )

Exemple familial ( pour illustrer les droits et les groupes de Linux lol ! ) : Qui dans la famille aura le droit de graver et donc d'effacer des Cdroms ?

Ainsi le petit dernier qui joue sur l'ordinateur, ne pourra pas effacer vos cdroms parce que vous ne l'aurez pas mis dans ce groupe.

Ca va encore plus loin en jonglant avec les “droits rwx” de linux et les GROUPES :

Autre exemple : Vous et vos ainés utilisez un compilateur pour faire des programmes.

Vous creéz un groupe pour cette application et seuls les membres de ce groupe auront le droit de lancer une compilation.

Vos enfants vont ils pour autant modifier ou lancer vos programmes ? Non parce que les droits des classes d'utilisateurs sur les répertoires et fichiers où vous mettez vos programmes sont différents.

Essayez de faire la même chose avec Windows.

ADMINISTRATION du STSTEME : LINUX

Sous Linux il n'y a qu' UN SEUL ADMINISTRATEUR avec son mot de passe unique : le mdp administrateur. il est indépendant des utilisateurs.

Contrairement à Windows où on affecte le droit d'administration du système à un ou plusieurs utilsateurs, par commodité pour compenser l'absence des nortions précitées,

Utilisateur et administrateur en même temps sous windows, vous pouvez faire n'importe quoi dans un moment d' étourderie…. Sous Linux , si vous vous connectez comme utilisateur , vous ne casserez jamais le systême ! vous êtes obligés de rentrer le mdp administrateur root à chaque fois !

Connecté en tant qu'administrateur vous avez absolument tous les droits sur TOUT ( y compris celui de faire des conneries )

QUI PEUT MODIFIER le DROITS D'ACCES à un fichier , un répertoire une application ?

Petit rappel c'est modifier les droits d 'écriture, lecture d'éxécution d'un programme ou d'exloration d'un repertoire, d'un dossier POUR CHAQUE CLASSE d'UTILISATEUR,… MAIS AUSSI DEFINIR QUEL GROUPE a accès à ces dossiers ou fichiers de données ou de programmes !

Si les possibilités de linux sont illimitées, là la réponse est beaucoup plus claire et limitée :

PROPRIETAIRE d'un FICHIER ?

Encore une notion de base fondamentale sous Linux, qui n'existe pas sous Windows.

Qui est le propriétaire des FICHIERS DU SYSTEME ( partition root ) ?

L'administrateur connecté avec le mdp root, et lui seul. c'est pour celà que vous ne pouvez pas casser votre système Linux “en tant qu'utilisateur”, ou en ecécutant un de vos programmes “en tant qu'utilisateur” . ( sous windows en lançant un programme de votre conception, vous pouvez aller crasher n'importe quoi si votre programme comporte une erreur.

Qui est le propriétaire des FICHIERS de la PARTION /HOME

Dans la partition /HOME chaque utilisateur a son “dossier utilisateur personnel ” L'UTILISATEUR est donc “LE PROPRIETAIRE” ( unique ) de son DOSSIER UTILISATEUR dans cette partition commune.

La notion de dossier “documents partagés ” n'existe pas sous Linux.

Seul l'utilisateur en tant que PROPRIETAIRE ( et l'administrateur du sytème ) peut MODIFIER les DROITS de ses dossiers inclus dans son dossier personnel et dons DECIDER DU PARTAGE de ses DOSSIERS.

PARTAGE DE DONNEES et CONFIDENTIALITE

DETERMINATION du PARTAGE pour un FICHIER ou un DOSSIER de DONNEES

Dans la partition :HOME chaque utilisateur accède à ses propres dossiers dont il est propriétaire par la CLASSE d'UTILISATEUR : “UTILISATEUR”.

C'est l'utilisateur qui CHOISIT ( en tant que propriétaire le GROUPE avec lequel il veut partager tel ou tel dossier parmi les groupes qui ont été créés par l'administrateur. l

Les “autres” utilisateurs qui ne font pas partie de ce groupe n'auront donc pas accès aux dossiers en tant que groupe.

Le propriétaire du dossier peut en DEFINISSANT LES DROITS de LECTURE/ECRITURE/ EXECUTION, pour chacune des CLASSES d'UTILSATEUR décider :

Une application familiale pratique ( et humoristique ! ) : votre album photo sur l'ordi.

De la même façon que vous ne déballez pas tous vos albums photos à tous vos invités, vous pouvez créer des sous dossiers différents qui seront accessibles ( un peu d'humour ! pour finir de découvrir les possibiltés de Linux qui peut s'adpater à tout ! )

Les copains de vos enfants qui viennent jouer avec eux sur l'ordi , n'y auront pas accès, si pour jouer vous avez créé un utilisateur “jeux” qui sera le seul à pouvoir accéder aux jeux présents dans le micro. Vous voyez qu'on peut vraiment tout faire avec les droits de linux et qu'il faut déborder d'imagination pour trouver des exemples pratiques !

La seule limite est qu'on ne peut pas affecter à un dossier, un groupe autorisé à lire et un groupe autorisé à écrire. ce sera forcément un groupe pour écrire et autres donc tout le monde pour lire, via la classe autres.

CASCADE des DROITS dans REPERTOIRES et les FICHIERS de votre DOSSIER UTILISATEUR

Vous n'avez pas besoin de fixer les droits de chaque fichier, ce serait fastidieux.

Il existe une case pour chaque dossier. “APPLIQUER LES DROITS A L4ENSEMBLE Des SOUS DOSSIERS ET FICHIERS de ce REPERTOIRE”

Ainsi chaque fois que vous créérez un fichier dans votre dossier perso co,fidentiel , ce fichier aura les droits pde confidentialité. et si vous crééz un fichier dans un dossier que vous avez décidé de partager avec tel groupe, il prendra utomatiquement les m^mes droits.

Par contre vous pouvez à l'intérieur d'un répertoire, vous pouvez changer INDIVIDUELLEMENT les droits d'un fichier, exemple : enlever votre droit d“ecriture pour peitéger une copie de sauvegarde d'un fichier.

CONTROLE d'ACCES sur les PERIPHS et PARTITIONS SUPPLEMENTAIRES .

( à vérifier encore par des manips pour confirmer )

La notion de droits de Linux ne sert plus de gérer la confidentialité ni le partage de données, elle s'élargit à la notion de CONTROLE d'ACCES.

Partitions windows

Si vous montez une partition FAT 32 ou NFTS, puisque les sytèmes de fichiers windows ne gèrent pas les notions d'utilisateur, de groupes ; il n'est plus possible de gérer la confidentialité , ni le partage des données et c'est tout ou rien !

Alors au montage avec les notions de groupe et des droits de lecture écriture vous pouvez faire du CONTROLE d'ACCES pour empêcher que n'importe quel utilisateur aille bricoler dans vos partitions windows et y faire exécuter des programmes.. ce qui pourrait être catstrophique !

Partitions linux

Si vous avez des partitions Linux suplémentaires de données, pour des utilistions bien précises, ( votre compta par exemple ) vous retrouvez toute les notions géres par Linux, mais pour assurer la sécurité de ces données vous pouvez faire du contrôle d'accès en définissant quel utilisiateur et quel groupe aura les droit de monter cette partition et pour y faire quoi ? lire écrire, lancer une application….

Périphérique

Les droits servent à gérer le CONTROLE d'ACCES aux periphs et ils interviennet au MONTAGE du périph.

Au montage vous allez pouvoir définir QUI sera PROPRIETAIRE du PERIPH.

Si vous avez mis comme moi au début par commodité l'option “users” dans la ligne de montage pour le graveur de cd : n'importe quel utilisateur qui se connecte devient alors propriétaire momentané du graveur de cd, c'est partique mais c'est foutu pour faire du CONTROLE d'ACCES sur ce PERIPH.

Il faut donc laisser le ROOT SEUL PROPRIETAIRE et UTILISATEUR du graveur.. ( voir montage de périphs.

Les utilisateurs que vous aurez définis comme ayant accès au groupe “gravage” y auront alors accès par la classe d'utilisateur GROUPE.

Vous gérerez le CONTROLE d'ACCES au graveur en affectant en tant qu'administrateur tel et tel utilisateur dans le groupe gravage.

C'est la solution la plus simple pour gérer efficaement le contrîole d'accès.

Dans la ligne de montage il vous suffira d'écrire une fois pour toutes, que le groupe gravage a le droit de monter ce périph.

CONTROLE DU LANCEMENT des APPLICATIONS

GROUPES SYSTEME

Groupes root et autres

A l'installation des groupes système sont créés pour les besoins du sytème. : exemple le groupe “root” avec l'utilisateur “root” ou le groupe “nobody” avec un utilisateur fantome.

A ne surtout pas toucher, parce qui si vous vous mettez dans le groupe root , vous aurez tous les droits du groupe root (finxès à l'install) et vous allez tout casser dans cette partition root en tant qu'utilisateur..

GROUPES APPLICATIONS

A l'intstall sont créés des groupes liès aux applications courantes, comme “audio” et dès que vous créez un utilisitateur , il est mis d'office dans ce groupe pour avoir accès à ces apllications. ceci pour vous faciliter la tache. Celà varie selon les distributions..

( je ferais la liste précise )

Ainsi il y a un groupe Cdrom pour le lecteur de cdroms , mais pas de groupes “cdrecoder” pour le graveur…

diablo.gif Ainsi , je me pose encore plein de questions pour faire le tour ce sujet des droits avec les applications .

CHANGEMENT DU PROPRIETAIRE ET DU GROUPE

Lorsque c'est absolument nécessaire cela se fait en administrateur avec les cdes ; chown et chgrp.

LE SUPER UTILISATEUR

A approfondir ! mais voilà pour l'instant ce que j'ai capté. mais je ne serais contente que lorsque j'aurais tout compris..

Le super utilisateur , différent de l'administrateur a les mêmes droits que le root, c'est pourquoi il nécessite le mdp root., mais ses droits sont limités

Celà fonctionne également avec le bit SUID dans les droits des fichiers. et par exemple servirait à lancer une application dans son dossier utilisateur , si elle a besoin des droits root pour fonctionner.

page de Alionet.org