deb-on-air logo
Actualisé le 22/02/2007

Gestion sommaire des Utilisateurs et des permissions dans Sidux

La modularité du système et la performance des systèmes de fichiers font de GNU/Linux un environnement héritier des avantages d'Unix, en matière de propriétés et de permissions sur les fichiers et répertoires.

Les 'permissions' des fichiers et répertoires correspondent au droit pour tel ou tel utilisateur ou groupe d'utilisateurs de lire, d'écrire ou d'exécuter un fichier.

La définition du propriétaire principal d'un fichier ou d'un répertoire est donc un paramètre qui conditionnera toujours en aval, les permissions sur ces objets.

Sur le CD-ROM les seuls utilisateurs sont l'utilisateur "sidux" et l'utilisateur-superadministrateur "root". Lors de votre installation de Sidux vous avez un créé un premier utilisateur.

Ce chapitre vous explique sommairement comment ajoûter des utilisatrices et utilisateurs et comment aborder la question des propriétés et permissions sur les fichiers et les répertoires de votre ordinateur.

Faites bien attention à ce que vous faites ! Si les commandes qui suivent sont pour celles apportant des modifications, des commandes de l'administrateur 'root' ce n'est pas par hasard !

Ajoûter des utilisatrices et utilisateurs

Avec KUser

En lançant l'interface KUser depuis 'Menu K -> Système -> KUser', après avoir entré votre mot de passe d'administration vous pouvez modifier les comptes des utilisateurs de l'ordinateur, et notamment ajoûter des comptes.

Ajoûter a minima un compte vous permet par exemple, de pouvoir prêter votre machine Linux sans permettre à la personne utilisatrice occasionnelle de modifier voir même de lire (pour cette option cf plus loin la partie sur les permissions) vos fichiers personnels. Mais surtout ajoûter des comptes laisse à chaque personne utilisatrice toute la liberté d'adapter son bureau et son répertoire personnel à ses goûts et à ses habitudes de travail, de loisirs, de communication.

L'onglet "Utilisateurs"

Dans ce premier onglet "Utilisateurs" qui s'affiche à l'ouverture, figure une liste de comptes dont la plupart correspondent à des services, mais dont les derniers, ceux ayant les identifiants les plus hauts, correspondent aux utilisateurs humains à proprement parler.

Avec précaution, nous allons double-cliquer sur l'identité de l'utilisateur créé à l'installation, dont l'identifiant correspond à 1000.

Ne tentez aucune action sur le compte 'root' avec cet utilitaire ni même en mode console si vous êtes novice sous GNU/Linux. Modifier ce compte peut aisément rendre votre configuration totalement inutilisable !

Les paramètres de l'utilisateur initial

Dans la nouvelle boîte de dialogue qui s'ouvre alors, figurent un certain nombre de spécifications, parmi lesquelles nous remarquerons en particulier :

Cliquez ensuite sur l'onglet "Groupes" dans la partie supérieure de la boîte, qui vous permet de connaître les groupes auxquels appartient chaque utilisateur. Il sera intéressant de noter sur un callepin à quels groupes - à l'exclusion de celui correspondant à l'id même de cet utilisateur, ainsi qu'à 'sudo', qui leur permettraient d'exécuter des commandes d'administration - appartient l'utilisateur par défaut que vous avez créé ; en assignant l'appartenance aux mêmes groupes à vos nouveaux utilisateurs, ceux-ci disposeront des mêmes facilités que celles auxquelles vous avez accès pour l'utilisation courante votre propre compte.

Ajoût de l'utilisatrice 'Polette'

Pour exemple, nous allons créer un compte pour 'Polette', une nouvelle utilisatrice qui ainsi pourra évoluer dans notre tout nouvel environnement Sidux, y travailler et disposer de son répertoire particulier d'utilisatrice.

Ceci s'opère bien entendu via le sous-menu "Ajoûter" (ADD) du menu "Utilisateurs" de la fenêtre principale de KUser.

Nous donnerons à Polette le numéro d'utilisatrice 1001, lui demanderons de choisir son mot-de-passe avec le bouton ad hoc (six lettres minimum, et si possible en combinant majuscules, minuscules et chiffres ; exemple : p0l3TT3), lui assignerons le shell /bin/bash pour pouvoir se connecter, le répertoire /home/Polette, et puis nous l'enregistrerons comme nouvelle membre des mêmes groupes que l'utilisateur initial comme indiqué plus haut.

Ces paramétrages effectués, la case "compte désactivé" décochée et KUser fermé, nous pourrons alors fermer la session KDE pour bien vérifier que l'utilisatrice 'Polette' figure bien dans la liste s'affichant dans la fenêtre de Login de Kdm.

On ouvrira alors une session sur ce compte pour quelques derniers réglages et vérifier que tout va bien. Nous devrons à l'ouverture de la première session, specifier au script Kpersonalizer (K desktop Wizard) la localisation et la langue utilisée pour le compte et différents paramétrages de performance graphique. Une fois la session ouverte, nous effectuerons une vérification des paramètres de réglage du clavier dans le centre de côntrole de KDE, afin d'épargner à la nouvelle personne utilisatrice d'éventuelles difficultés d'accessibilité.

Si tout est correct, après lui avoir montré comment se loguer, c'est-à-dire comment ouvrir et fermer sa session, ainsi qu'allumer, éteindre et redémarrer l'ordinateur, on pourra alors laisser 'Polette', s'approprier tranquillement son espace de loisir et de travail dans Sidux.

Personnaliser le menu K pour chaque utilisateur
Vous pouvez personnaliser le menu K dans votre environnement utilisateur en créant de nouvelles entrées avec l'outil 'Menu K -> Configuration -> KMenuEdit'.
Par exemple, pour rendre l'outil GtkDiskFree accessible dans le menu principal, à l'ouverture de KMenuEdit, choisissez 'Fichier -> Nouvel élément'.
-> Titrez votre élément GtkDiskFree
-> L'élément est créé
-> à la ligne de programmation de la commande, entrez simplement gtkdiskfree
-> Puis cliquez sur l'icône vide et choisissez par exemple parmi les icônes d'applications l'icône 'kcmdf'
-> Retournez au menu 'Fichier" et choisissez "Enregistrer"
-> Le nouveau raccourci est désormais accessible dans le menu K
Dans KMenuEdit, les objets-raccourcis peuvent être déplacés en les faisant glisser d'un endroit à l'autre, on peut créer de nouveaux répertoires, et personnaliser en fonction de ses besoins, son menu le plus pratique. Il suffit d'enregistrer ses modifications pour qu'elles s'appliquent.
Lisez la prise en main rapide de KDE disponible dans l'aide de KDE qui vous apprendra à personnaliser votre environnement d'utilisation à bon escient. Un bon réglage du tableau de bord est souvent bien plus pratique que des modifications dans le menu K.

En mode console

La commande pour créer un nouveau compte utilisateur est :

# adduser

dont la documentation est accessible via :

$ man adduser

À titre d'exemple, voici quelle serait la commande d'entrée pour créer l'utilisatice 'Polette' depuis la console :

# adduser --home=/home/Polette --shell=/bin/bash --uid=1001 --ingroup=audio --ingroup=camera --ingroup=cdrom --ingroup=dialout --ingroup=dip --ingroup=fax --ingroup=fuse --ingroup=games --ingroup=plugdev --ingroup=powerdev --ingroup=tape --ingroup=usb --ingroup=users --ingroup=video --ingroup=voice Polette

Cette commande entrée, il vous sera demandé de compléter l'information nécessaire à la configuration du compte : mot-de-passe, nom complet, puis de certaines autres informations de coordonnées personnelles (l'entrée de ces dernières est tout-à-fait facultative).

Supprimer un compte utilisateur

La robustesse des systèmes d'exploitation GNU/linux conduit à pouvoir les utiliser en production, souvent durant plusieurs années ; il est donc utile de connaître la commande permettant de résilier un compte utilisateur devenu inutile. Voici cette commande :

# userdel -r nom_de_l'utilisateur

(l'option -r a pour effet de supprimer le répertoire /home de l'utilisateur en question, ainsi que tous les fichiers que celui-ci contenait.)

Il est bien entendu vivement conseillé de jeter un oeil attentif au résultat de

$ man userdel
avant de s'aventurer à utiliser cette commande.

Propriétaires des fichiers et des répertoires

Identification

En mode console, il est possible d'afficher les permissions des fichiers et répertoires en ajoûtant l'option -l à la commande ls de listage du contenu d'un répertoire :

$ ls -l

est la commande permettant d'obtenir un listage détaillant les permissions des fichiers et répertoires d'un point quelconque de l'arborescence de GNU/Linux.

Les droits d'accès et le propriétaire d'un fichier sont également visibles dans le mode d'affichage détaillé de Konqueror au droit des colonnes y correspondant.

Il est rarement nécessaire d'opérer des modifications sur ces propriétés, car GNU/linux assigne par défaut les fichiers, répertoires et exécutables de configuration à l'administrateur, et les fichiers personnels des utilisateurs à ces derniers. Cette description est donc destinée à favoriser des modifications éventuelles, pour des cas de figure particuliers qui les rendraient nécessaires.

Assignation et modification : chown

La commande pour modifier le propriétaire d'un fichier est chown (change owner) :

# chown nouveau_propriétaire [fichier]

Pour un répertoire.

# chown -R nouveau_propriétaire [répertoire]

Cette dernière déclinaison de la commande chown pourra vous servir à assigner à un simple utilisateur la propriété d'un fichier ou d'un répertoire partagé pour du travail collaboratif. Convenez que c'est bien plus sécure que de permettre à tous les utilisateurs de pouvoir administrer le système !

Permissions des fichiers et répertoires

Syntaxe des permissions

Le tout premier code de la chaîne, et qui précède la série de caractères correspondant aux droits, décrit le type d'objet :

Les permissions des fichiers et des répertoires s'écrivent ensuite sous la forme de trois paramétrages juxtaposés, chacun constitué de trois signes :

Le sens des codes est le suivant :

Ainsi par exemple un objet se présentant avec les permissions qui suivent :

-rw-r--r-- 1 toto toto 2 2006-10-01 09:12 machin.txt

Reprenons, cette fois face à un fichier 'bidule' s'affichant ainsi :

drw-rw-rw- 1 root root 2 2006-10-01 09:12 bidule
Code d rw- rw- rw-
Sensrépertoirelisible et éditable par le propriétairelisible et éditable par le groupe du propriétairelisible et éditable par tous les autres utilisateurs

Changer les permissions : chmod

La commande chmod (change mode) est celle qui permet de modifier les droits d'un fichier.

La manière la plus simple de l'utiliser emploie des paramètres et un opépateur symbolique. D'autres méthodes existent, plus complexes, que vous pourrez apprendre en consultant la documentation d'internet relative aux commandes Unix/Linux.

Notre syntaxe utilisera les éléments qui vont suivre de cette manière :

$ chmod [type(s) d'utilisateur(s)] Opérateur [droit(s)] Fichier

Voici ces éléments, que nous feront suivre de quelques exemples expliquant leur emploi.

Type d'utilisateurOpérateurdroits
Choix multiple possibleOn n'utilise chaque fois qu'un seul et unique opérateurChoix multiple possible
u : propriétaire + : ajoûterr : lecture
g : groupe - : enleverw : écriture
a : autres = : définir directementx : exécution

Premier exemple d'application sur notre fichier 'machin.txt'. (créez-vous répertoire /test avec quelques fichiers bidons pour expérimenter ces commandes)

$ chmod g+w machin.txt 

donne au groupe l'accès en écriture sur le fichier.

$ chmod uga=rwx machin.txt 

donne au propriétaire, au groupe et aux utilisateurs les droits en lecture, écriture et exécution sur le fichier. (même si l'exemple en lui-même est débile vu qu'il n'y a aucun intérêt à donner des droits d'excution à un fichier de texte, s'il ne s'agit pas d'un script !)

De cet usage, on peut déduire que les commandes simples pour conférer un caractère privatif à un fichier pour soi-même et l'administrateur du système - puisque ce dernier par définition a tous les droits ! - le rendant non-lisible et encore moins éditable ou exécutable par qui que ce soit d'autre seraient cette combinaison :

$ chmod uga=rwx machin.txt 

(on commence par donner tous les droits à tout le monde)

Pour voir ce que ça donne on lance dans le répertoire /test :

$ ls -l
toto@machine:~/test$ ls -l
total 4
-rwxrwxrwx 1 toto toto 2 2006-10-01 09:12 machin.txt

On s'en réserve l'exlusivité ensuite, en supprimant les prérogatives du groupe et des autres :

$ chmod ga-rwx machin.txt 

Ce qui nous donne :

toto@machine:~/test$ ls -l
total 4
-rwx------ 1 toto toto 2 2006-10-01 09:12 machin.txt

À titre complémentaire, nous allons corriger le caractère exécutable du .txt afin de faciliter l'identification des types de fichier en mode console :

$ chmod u-x machin.txt 
ls -l
dans le répertoire /test donne alors :
toto@machine:~/test$ ls -l
total 4
-rw------- 1 toto toto  2 2006-10-01 09:12 machin.txt

Ceci n'est bien entendu qu'un aperçu plus que léger pour ces commandes ; vous gagnerez à les expérimenter - en tant que simple utilisateur ! les tester en tant que 'root' n'est pas sans risque ! - avec des fichiers et répertoires de test dans votre /home d'utilisateur ainsi qu'à vous documenter à leur sujet par la consultation des pages man ainsi que de manuels et tutoriaux Unix/linux disponibles sur Internet.