LPI-101-2-3

De RotomaLUG.

Frontal web Wiki accueil Les forums La galerie La liste LUG La liste INSTALL PARTY


Retourner à l'index des cours

Sommaire

Site original

http://www.gentoo.org/doc/en/articles/lpi-101-intermediate-p3.xml

Participer à la traduction

Pour participer aux traductions vous devez tout d'abord :

  • vous inscrire sur le wiki (Pour créer un compte sur ce wiki, envoyez nous un courrier en suivant ce lien [1] )
  • suivre au maximum le petit guide du traducteur
  • nous contacter (via l'adresse info@rotomalug) pour l'organisation du travail


Notes de version

Date de version : --StéphaneLassire 20 aout 2006 à 21:00 (CET)

Avancement traduction : 100% (taux affiché dans Vi)

Relecture : --EricDeschamps 29 janvier 2007 à 21:54 (CET) , 100 %

Note de licence : ce document est mis sous licence Creative Commons, pour respecter la licence du document original.

LPI certification 101 (release 2) exam prep, Partie 3 - Traduction

Avertissement

   La version originale de cet article a d'abord été publiée sur le site
   IBM developerWorks, et est la propriété de Westtech Information Services.
   Ce document est une version mise à jour de l'article d'origine et contient 
   plusieurs améliorations faites par l'équipe de Gentoo Linux Documentation.
   Ce document n'est pas maintenu activement.


Avant de commencer

Au sujet de ce tutoriel

Bienvenue à "Administration intermédiaire", le troisième des 4 tutoriels conçus pour vous préparer à l'examen du Linux Profesionnal Institute 101. Ce tutoriel (troisième partie) est idéal pour ceux qui veulent améliorer leur connaissance des concepts de base de l'administration de Linux. Nous couvrirons une variété de sujets, sur la documentation sur le système et sur internet, le modèle des permissions Linux, la gestion des comptes utilisateurs, et le réglage de l'environnenent de connexion.

A propos des auteurs

Note du traducteur : reprise depuis le LPI-101-2-2

Daniel Robbins réside à Albuquerque, nouveau Mexique et est le créateur de la distribution Gentoo Linux une distribution Linux avancée basée sur les ports (au sens BSD). Il écrit également des articles, tutoriels ou conseils pour IBM developerWorks Linux zone et Intel Developer Services et a également contrbué à plusieurs livres comme Samba Unleashed et SuSE Linux Unleashed. Daniel apprécie de passer son temps libre avec sa femme, Mary et sa fille Hadassah. Vous pouviez contacter Daniel à drobbins _CHEZ_ gentoo _POINT_ org.

Note du traducteur : voir également le contenu actuel du Wikipedia sur l'auteur, plus à jour :

Créateur en 2002 de la distribution GNU/Linux Gentoo et fondateur de la fondation Gentoo. Le 26 avril 2004, il quitte le projet pour passer plus de temps avec sa famille. Du 13 juin 2005 au 9 janvier 2006, il rejoint Microsoft, expliquant qu'il souhaitait aider Microsoft à comprendre l'Open Source et les projets communautaires. Avant de quitter gentoo, il a transféré toute propriété intellectuelle de Gentoo vers la fondation Gentoo. Le 9 janvier 2006, il quitte Microsoft.

Chris Houser, connu par ses amis comme "Chouser", est un partisan d'UNIX depuis 1994 alors qu'il rejoint l'équipe d'administration à l'université Taylor dans L'Indiana, où il a obtenu son baccalauréat en informatique et mathématique. Depuis, il travaille dans la programmation d'applications Web, d'interfaces homme-machine, logiciels vidéo professionnels, et maintenant dans la programmation de pilotes UNIX pour Tru64 chez Compaq. Il a aussi contribué à divers projets libres et plus particulièrement Gentoo. Il vit avec sa femme et ses deux chats dans le New Hampshire. Vous pouvez le contacter à chouser _CHEZ_ gentoo _POINT_ org .

Aron Griffis est titulaire d'un diplôme d'informatique de l'université Taylor et d'une distinction qui le désigne : "Futur fondateur d'une communauté utopienne UNIX". Il travaille dans ce but. Aron est employé par la société Compaq afin de programmer des pilotes de cartes réseau pour UNIX Tru64, et il partage son temps avec entre jouer des airs au piano et développer pour Gentoo Linux. Il vit avec sa femme Amy, qui est elle aussi ingénieur UNIX à Nashua dans le New Hampshire

Documentation système et en ligne

Les types de documentation d'un système Linux

Il y a essentiellement trois sources de documentation sur un système Linux : les pages man, les pages info, et les documentations fournies avec l'application dans /usr/share/doc. Dans cette partie, nous explorerons chacune de ces sources avant de rechercher ailleurs plus d'information.

Pages man

Les pages de manuel, ou pages "man" (NDT : j'utilise page man pour simplifier ensuite), sont la forme classique de la documentation de référence UNIX et Linux. Idéalement, vous pouvez consulter la page man pour toute commande, fichier de configuration, ou appel de bibliothèque. Dans la pratique, Linux est un logiciel libre, et certaines pages n'ont pas été écrites ou montrent leur âge. Néanmoins, les pages man sont les premiers endroits à consulter quand on a besoin d'aide.

Pour consulter une page man, taper simplement man suivi par le sujet de votre requête. Un programme de consultation sera lancé, vous aurez a taper q quand la lecture sera terminée. Par exemple, pour obtenir de l'information sur la commande ls , vous devriez taper :

 man ls

Il est utile de connaître la structure d'une page man pour aller rapidement à l'information désirée. En général, vous trouverez les sections suivantes dans une page man :


NAME Nom et description de la commande
SYNOPSIS Comment utiliser cette commande
DESCRIPTION Chapitre approfondi sur la fonctionnalité de cette commande
EXAMPLES Suggestions d'utilisation de cette commande
SEE ALSO Sujets connexes (normalement d'autres pages man)


Les fichiers qui contiennent les pages man sont stockés dans /usr/share/man (ou dans /usr/man sur des systèmes plus anciens). A l'intérieur de ce répertoire, vous trouverez les pages man organisées selon les sections suivantes : (NDT : je laisse les titres en langue anglaise car on les verra souvent)

man1 User programs Programmes utilisateur
man2 System calls Appels système
man3 Library functions Bibliothèque de fonctions
man4 Special files Fichiers spéciaux
man5 File formats Formats de fichier
man6 Games Jeux
man7 Miscellaneous Divers


Certains sujets existent dans plusieurs sections. Pour le montrer, examinons la commande whatis, qui montre toutes les pages man pour un sujet :

whatis printf
printf               (1)  - format and print data
printf               (3)  - formatted output conversion

Dans ce cas, man printf montrera pas défaut la page de la section 1 ("Programme utilisateur"). Si nous sommes en train d'écrire un programme en C, nous serions plus intéressé par la page de la section 3 ("Bibliothèque de fonction"). Vous pouvez appeler une page man depuis une section en le précisant sur la ligne de commande, pour cela vous devriez taper :

man 3 printf
Trouver la bonne page

Parfois, il est difficile de trouver la bonne page sur un sujet précis. Dans ce cas, vous devriez essayer man -k pour chercher la section NAME des pages man. Faites attention que cela fait une recherche de chaîne , donc taper quelque chose comme man -k ls vous donnera beaucoup de réponses !

Voici un exemple sur une recherche spécifique :

man -k whatis
apropos              (1)  - search the whatis database for strings
makewhatis           (8)  - Create the whatis database
whatis               (1)  - search the whatis database for complete words
Tout sur apropos

L'exemple précédent fait remonter plusieurs points. Premièrement, la commande apropos est exactement l'équivalente de man -k. (En fait, je vais vous dire un petit secret. Quand vous taper man -k, cela execute en fait apropos). Le second point est la commande makewhatis, qui balaye toutes les pages man sur votre système Linux et construit la base de données pour whatis et apropos. Habituellement cela est fait périodiquement par root pour conserver la base à jour :

  makewhatis

Pour plus d'information sur "man" et ses amis, vous devriez commencer par sa page man:

  man man
Le MANPATH

Par défaut, le programme man cherchera les pages man dans /usr/share/man, /usr/local/man, /usr/X11R6/man, and peut-être /opt/man. Parfois, vous trouverez que vous avez besoin d'ajouter un chemin à cette liste. Pour cela éditez simplement /etc/man.conf avec un éditeur de texte et ajoutez une ligne de ce type :

 MANPATH /opt/man

A partir de là, chaque page man dans le dossier /opt/man/man* sera trouvée. Rappelez vous que vous devrez lancer à nouveau makewhatis pour ajouter ces nouvelles pages à la base de données de whatis.

GNU info

Un manque des pages man est qu'elles ne supportent pas les liens hypertextes, de fait vous ne pouvez pas basculer facilement de l'une à l'autre. Les utilisateurs GNU ont reconnu ce manque , et ils ont créé un autre type de format de documentation : les pages "info". Beaucoup de programmes GNU sont livrés avec une abondante documentation au format info. Vous pouvez lire ces pages avec la commande info :

 info

Lancer info de cette manière affichera un index des pages disponibles du système. Vous pouvez vous déplacer avec les touches fléchées, suivre les liens (repéré par une étoile) en utilisant la touche Entrée, et quitter en pressant q. Les touches sont basées sur Emacs, vous devez donc être à l'aise si vous êtes un habitué à cet éditeur. Pour débuter sous Emacs, voyez le tutoriel DeveloperWorks , [http://www-106.ibm.com/developerworks/edu/l-dw-linuxemacs-i.html Living in Emacs].

Vous pouvez aussi spécifier une page info à la ligne de commande :

 info diff

Pour plus d'information sur l'utilisation de la commande info, essayer en lisant sa page info. Vous devriez être capable de naviguer simplement en utilisant les quelques touches que j'ai mentionné :

 info info

/usr/share/doc

Il y a une dernière source d'aide sur votre système Linux. Plusieurs programmes sont livrés avec une documentation supplémentaire dans d'autres formats : texte, PDF, Poscript, HTML pour en nommer quelques uns. Jeter un oeil dans /usr/share/doc (ou /usr/doc sur des systèmes plus anciens). Vous y trouverez une longue liste de répertoires, chacun lié à une application particulière de votre système. Fouiner dans cette documentation peut souvent révéler des trésors qui ne sont pas disponibles sur les pages man ou info, comme des tutoriaux ou des documentations techniques supplémentaires. Un contrôle rapide montre qu'il y a beaucoup de lectures disponibles :

 cd /usr/share/doc
 find . -type f | wc -l
 7582

Fichtre !, votre mission ce soir est de lire seulement la moitié (3791) de ces documents. Il y a une interrogation demain. ;-)

Le projet de documentation Linux

En complément de la documentation système, il y a beaucoup de sites excellents sur Internet. Le Projet de Documentation Linux (LDP) est un groupe de volontaires qui travaille de concert pour faire une documentation libre de Linux. Ce projet existe pour consolider différentes sources de documentation Linux en un endroit facile à utiliser et à consulter.

Un apercu du LDP

Le LDP est fait des sections suivantes :

  • Guides - Livres détaillés et pointus comme le Le Guide du programmeur Linux
  • HOWTOs - Aide spécifique à un sujet, comme le HOWTO DSL
  • FAQs - Questions fréquentes et réponses, comme le FAQ Linux condensé
  • Man pages - Aide sur des commandes (les mêmes pages man que vous avez sur votre système linux quand vous utilisez la commande man)

Si vous ne savez pas quelle section prendre, vous pouvez préférer la zone de recherche, qui vous permets de chercher sur un sujet.

Le site LDP fournit aussi une liste de liens et de ressources comme la Gazette Linux (voir liens dans [#resources Ressources] et LinuxFocus, et des liens vers des listes de diffusion et de news.

Listes de diffusion

Les listes de diffusion fournissent surement le plus important point de collaboration pour les programmeurs Linux. Les projets sont souvents développés par des contributeurs distants, des fois même aux extrémités du globe. Les listes de diffusion fournissent un moyen à chaque développeur d'un projet de contacter tous les autres, et de conserver une discussion de groupe par le courrier électronique. Une des listes de diffusion les plus connues est la Liste de diffusion du noyau Linux.

Plus sur les Listes de diffusion

En plus du développement, les listes de diffusion donnent la possibilité de poser des questions et de recevoir des réponses depuis des programmeurs connus, ou même d'autres utilisateurs. Par exemple les distributions fournissent souvent des listes de diffusion pour les nouveaux venus. Vous pouvez vérifier sur le site Web de votre distribution les listes de diffusions possibles.

Si vous avez pris le temps de lire la FAQ LKML sur lien du chapitre précédent, vous avez remarqué que les membres de cette liste ne répondent pas facilement aux questions récurrentes. Il est recommandé de rechercher dans les archives d'une liste de diffusion avant de poser une question. Il y a des chances que vous y gagniez du temps.

Newsgroups

Les "newsgroups" sur internet sont similaires aux listes de diffusion, mais sont basés sur un protocole appelé NNTP ("Network News Transfer Protocol") au lieu du courrier électronique. Pour participer, vous devez utiliser un client NNTP comme slrn ou pan.

L'intéret principal est que vous ne prenez part à la discussion qu'au moment voulu, au lieu de l'avoir en continu dans votre messagerie.

Le newsgroup d'intéret majeur est comp.os.linux. Vous pouvez consulter la Liste du projet LDP.

Comme pour les listes de diffusion, les discussions des newsgroups sont souvent archivées. Un site connu d'archives est Deja news.

Sites web commerciaux et tiers

Les sites Web des différentes distributions Linux fournissent souvent des documentations à jour, des instructions d'installation, des tests de compatibilité/incompatibilité matérielle, et d'autres support comme un outil de recherche dans une base de connaissances. Par exemple :

Vendeurs de logiciels et de matériels

Beaucoup de vendeurs de matériel et de logiciel ont ajouté un support de Linux dans leurs produits ces dernières années. Sur leur sites Web vous trouverez des informations sur quels matériels supportent Linux, les outils de développement, les sources délivrées, les téléchargements de pilotes Linux, et d'autres projets spéciaux liés à Linux.

Par exemple :

Ressources pour développeurs

De plus, beaucoup de vendeurs de matériel / logiciels ont développés des ressources épatantes pour les développeurs et les administrateurs Linux. Au risque de ressembler à de la publicité, une des ressources les intéressantes tournant chez un vendeur de matériel et de logiciels est IBM developerWorks Linux Zone.

Le modèle de permissions Linux

Un utilisateur, un groupe

Dans cette section, nous jeterons un oeil sur le modèle de permissions et de propriétaire de Linux. Nous avons déjà vu que chaque fichier posséde un utilisateur et un groupe. C'est le coeur même du modèle de permissions de Linux. Vous pouvez voir le propriétaire et le groupe d'un fichier par la liste de la commande ls -l :

ls -l /bin/bash
-rwxr-xr-x    1 root     wheel      430540 Dec 23 18:27 /bin/bash

Dans cet exemple précis, l'éxécutable /bin/bash est la propriété de root et dans le groupe wheel. Le modèle de permissions Linux fonctionne en attribuant trois niveaux indépendants de permissions à positionner pour chaque objet du système de fichiers -- Celui du propiétaire, celui du groupe, et celui pour tous les autres utilisateurs.

Comprendre ls -l

Regardons de plus près notre sortie de ls -l et examinons la première colonne de la liste :

ls -l /bin/bash
-rwxr-xr-x    1 root     wheel      430540 Dec 23 18:27 /bin/bash

Le premier champ -rwxr-xr- contient une représentation symbolique de ces permissions de fichier. Le premier caractère (-) dans ce champ détermine le type de fichier, qui est dans ce cas un fichier normal. Les autres cas possibles sont :

'd' répertoire
'l' lien symbolique
'c' périphérique en mode caractères 
'b' périphérique en mode bloc
'p' fifo
's' socket

Trois triplets

ls -l /bin/bash
-rwxr-xr-x    1 root     wheel      430540 Dec 23 18:27 /bin/bash

Le reste du champ consiste en trois triplet de caractères. Le premier triplet représente les permissions du propriétaire du fichier, le second représente les permissions du groupe, et le troisième représente les permissions pour tous les autres utilisateurs :

"rwx"
"r-x"
"r-x"

Ci-dessus, la lettre r signifie que la lecture (consulter les données du fichier) est permise. Le w signifie que l'écriture (modifier le fichier, ainsi que le supprimer) est autorisé, et le x signifie que "exécuter" (lancer le programme) est autorisé. En assemblant ensemble toute cette information, on peut voir que tout le monde est autorisé à lire le contenu et à exécuter ce fichier, mais seul le propriétaire (root) est autorisé à modifier ce fichier. Donc, même si les utilisateurs normaux peuvent copier ce fichier, seul root est autorisé à le mettre à jour ou à le supprimer.

Qui suis-je ?

Avant de regarder comment changer les permissions de l'utilisateur et du groupe, jetons un oeil sur comment savoir quel est notre identifiant utilisateur et groupe actuel. A moins d'avoir utilisé la commande su dernièrement, votre identifiant utilisateur est celui utilisé au moment du login au système. Si vous utilisez su fréquement, cependant, vous pouvez ne pas vous souvenir de votre identifiant utilisateur. Pour le voir, taper whoami :

whoami
root
su drobbins
whoami
drobbins

Dans quel groupe suis-je ?

Pour connaitre les groupes auxquels vous appartenez, utilisez la commande groups :

groups
drobbins wheel audio

Dans l'exemple ci-dessus, je suis un membre des groupes drobbins, wheel et audio. Pour savoir dans quels groupes les autres utilisateurs sont, spécifiez leur identifiants comme argument :

groups root daemon
root : root bin daemon sys adm disk wheel floppy dialout tape video
daemon : daemon bin adm

Changer l'utilisateur et le groupe propriétaire

Pour changer le propriétaire ou le groupe d'un fichier ou d'un autre objet du système de fichier, utilisez respectivement chown ou chgrp. Chacune de ces commandes prends un nom suivi de un ou plusieurs fichiers.

chown root /etc/passwd
chgrp wheel /etc/passwd

Vous pouvez aussi mettre le propriétaire et le groupe en même temps avec la forme alternative de la commande chown :

chown root:wheel /etc/passwd

Vous ne devriez pas utiliser chown à moins d'être le superutilisateur, mais chgrp peut être utilisé par tout le monde pour changer le propriétaire du groupe d'un fichier auquel on appartient.

Changement de propriétaires récursifs

Les deux commandes chown et chgrp ont une option -R qui peut-être utilisée pour appliquer les changements de droits de propriétaire et de groupe de facon récursive à une arborescence de dossiers.

chown -R drobbins /home/drobbins

Introduction à chmod

chown et chgrp peuvent être utilisées pour changer le propriétaire et le groupe d'un objet du système de fichiers, mais un autre programme appellé -- chmod -- est utilisé pour changer les droits rwx que nous voyons dans une liste ls -l. chmod prend deux ou plus d'arguments : un "mode", désignant comment les permissions doivent être changées, suivi d'un fichier ou d'une liste de fichiers devant être affectés :

chmod +x scriptfile.sh

Dans cet exemple, notre "mode" est +x. Comme vous pouvez le deviner, un mode +x demande à chmod de mettre ce fichier particulier exécutable pour l'utilisateur, le groupe et n'importe qui d'autre.

Si nous voulons supprimer toutes les permissions d'exécution, nous devrions taper :

chmod -x scriptfile.sh

Précision Utilisateur/Groupe/Autres

Pour l'instant, nos exemples chmod ont eu un impact sur les trois triplets --l'utilisateur, le groupe, et les autres. Souvent il est pratique de modifier seulement un ou deux triplets à la fois. Pour cela, spécifier simplement le caractère symbolique pour les triplets particuliers que vous voulez modifier avant le signe + ou -. Utilisez u pour le triplet "utilisateur", g pour le triplet du "groupe", et o pour le triplet "autres/tout le monde".

$chmod go-w scriptfile.sh

Nous avons juste supprimé la permission d'écriture pour le groupe et les autres, mais laissé inchangées les permissions de l'utilisateur.

Repositionner les permissions

En plus de changer les bits de permissions, nous pouvons aussi les forcer tous ensemble. En utilisant l'opérateur =, nous pouvons dire à chmod que nous voulons les permissions désirées et rien d'autres :

$chmod =rx scriptfile.sh

Ci dessus, nous avons positionné tous les bits "lecture" et "exécution" et enlever tous les bits "écritures". Si vous désirez positionner un triplet précis, vous pouvez spécifier le nom symbolique du triplet avant le signe = comme ici :

$chmod u=rx scriptfile.sh

Mode numérique

Jusqu'à maintenant nous avons utilisé ce qui est appelé les modes symboliques pour spécifier les permissions. Cependant il y a un autre moyen pratique de spécifier les permissions : utiliser un nombre de 4 chiffres en mode octal. En utilisant cette syntaxe, appelée syntaxe numérique des permissions, chaque chiffre représente un triplet de permission. Par exemple avec 1777, le 777 positionne les bits "utilisateur", "groupe" et "autres" que nous avons vus dans cette section. Le 1 est utilisé pour mettre les bits de permissions spéciaux que nous verrons plus tard (voir Le premier bit (NDT ELUSIVE me gène) à la fin de cette section). Ce tableau montre comment sont interprétés les 4 autres chiffres (777) :


Mode Valeur octale
rwx 7
rw- 6
r-x 5
r-- 4
-wx 3
-w- 2
--x 1
--- 0

Syntaxe du mode numérique

La syntaxe numérique des permissions est pratique quand vous avez besoin de spécifier toutes les permissions pour un fichier, comme dans l'exemple suivant :

$chmod 0755 scriptfile.sh
$ls -l scriptfile.sh
-rwxr-xr-x    1 drobbins drobbins        0 Jan  9 17:44 scriptfile.sh

Dans cet exemple, nous avons utilisé le mode 0755, qui corresponds à un positionnement des permissions à -rwxr-xr-x.

Umask

Quand un process créé un nouveau fichier, il spécifie les permissions que ce nouveau fichier doit avoir. Souvent, le mode requis est 0666 (lecture et écriture par tout le monde), qui est plus permissif que nous aimerions. Heureusement, Linux consulte quelque chose appelé « umask » à chaque fois qu'un fichier est créé. Le système utilise cette valeur umask pour réduire les permissions spécifiées d'origine à quelque chose de plus raisonnable et sécurisé. Vous pouvez voir votre valeur courante de l'umask en tapant umask à la ligne de commande

$umask 
0022

Sur les systèmes Linux, le umask est par défaut à 022, qui permets aux autres de lire vos nouveaux fichiers (si ils peuvent les voir) mais ne peuvent les modifier.

Pour faire les nouveaux fichiers plus sécurisés par défaut, vous pouvez changer la valeur de l'umask :

$umask 0077

Cet umask garantira que le groupe et les autres n'auront absolument pas de permissions pour tout nouveau fichier. Alors, comment fonctionne cet umask ? Au lieu des permissions habituelles sur les fichiers, l'umask spécifie quelles permissions doivent être enlevées. Regardons notre tableau des modes et valeurs octales et nous comprendrons ce qu'un umask de 0077 signifie :


Mode Valeur octale
rwx 7
rw- 6
r-x 5
r-- 4
-wx 3
-w- 2
--x 1
--- 0

En utilisant notre tableau, les trois derniers chiffres de 0777 se transforment en ---rwxrwx. Maintenant rappelez vous que umask dit au système quelles permissions enlever. En mettant deux et deux ensemble, nous pouvons voir que les permissions au niveau « groupe » et « autres » ont été désactivées, cependant que les permissions « utilisateur » restent identiques.

Introduction à suid et sgid

A l'origine de votre connexion, un nouveau process de session est lancé. Vous le savez déjà, mais vous ne savez peut être pas que ce nouveau process de session (typiquement bash) tourne sous votre identifiant utilisateur. Ainsi, le programme Bash peut accéder à tous les fichiers et dossiers qui vous appartiennent. En fait, en tant qu'utilisateur nous sommes dépendant d'autres programmes qui font des opérations qui nous concernent. Parce que les programmes que vous lancez héritent de votre identifiant, ils ne peuvent accéder à d'autres objets du système de fichiers où vous n'êtes pas autorisé.

Par exemple, le fichier passwd ne peut être changé directement par des utilisateurs normaux, car le droit d'écriture n'est pas mis sauf pour root  :

$ls -l /etc/passwd
-rw-r--r--    1 root     wheel        1355 Nov  1 21:16 /etc/passwd

Cependant, les utilisateurs normaux ont besoin de changer /etc/passwd (de façon indirecte) quand ils ont besoin de modifier leur mot de passe. Mais, si l'utilisateur ne peut modifier ce fichier, comment cela fonctionne t-il exactement ? (NDT : le mot de passe est maintenant stocké dans le fichier /etc/shadow, mais le principe est le même).

suid

Heureusement, le modèle de permissions de Linux possède deux attributs spéciaux appelés suid et sgid. Quand un programme a l'attribut suid, il sera lancé comme le propriétaire du programme plutôt que la personne qui a exécuté le programme.

Maintenant, retournons au problème du fichier /etc/passwd. Si nous jetons un œil au programme passwd, nous voyons qu'il est la propriété de root :

$ls -l /usr/bin/passwd
-rwsr-xr-x    1 root     wheel       17588 Sep 24 00:53 /usr/bin/passwd

Vous noterez aussi qu'à la place d'un x dans le triplet de permissions de l'utilisateur, il y a un s. Cela indique que pour ce programme particulier, les attributs suid et exécution sont mis. Grâce à cela, quand passwd est lancé, il s'exécute sous l'utilisateur root (avec tous les droits de superuser) plutôt que celui de la personne qui le lance. Et parce que passwd est lancé sous les droits de root, il peut modifier le fichier /etc/passwd sans problème.

Précautions sur suid/sgid

Nous avons vu comment suid fonctionne, et sgid fait de même. Il permet aux programmes d'hériter des droits du groupe du programme plutôt que celui de l'utilisateur courant.

Important : Voici quelques informations diverses et importantes sur suid et sgid . D'abord les bits d'attributs de suid et sgid occupent la même place que les bits x dans une liste ls -l. Si le bit x est aussi positionné, les attributs apparaitront comme un s (minuscule). Cependant si l'attribut x n'est pas mis, il sera affiché un S (majuscule).

Un autre point important : suid et sgid apparaissent pratique dans beaucoup de cas, mais une mauvaise utilisation de ces attributs peut altérer la sécurité du système. Il est préférable d'avoir le moins de programmes avec suid que possible. La commande passwd est un des rares cas qui doit être suid.

Changer les droits suid et sgid

Mettre et enlever les attributs suid et sgid est assez facile. Voici comment mettre l'attribut suid :

#chmod u+s /usr/bin/myapp

Et maintenant nous enlevons l'attribut sgid d'un répertoire. Nous verrons comment l'attribut sgid affecte des répertoires un peu plus loin.

#chmod g-s /home/drobbins

Les permissions et les répertoires

Jusqu'ici nous avons regardé les permissions sur les fichiers standards. Pour le cas des répertoires, c'est un peu différent. Les répertoires utilisent les mêmes attributs, mais ils sont interprétés d'une manière un peu différente.

Pour un répertoire, si l'attribut "lecture" est mis (NDT r pour read), vous pouvez voir le contenu du répertoire ; "écriture" (NDT w pour write) signifie que vous pouvez créer des fichiers dans ce répertoire; et "exécuter" (NDT x pour Xecute) signifie que vous pouvez aller dans ce répertoire et ses sous répertoires internes. Sans l'attribut "exécuter" les objets du système de fichiers ne sont pas accessibles. Sans l'attribut "lecture" les objets du système de fichiers ne sont pas visibles, mais les objets du répertoire sont toujours accessibles tant que l'on connait le chemin complet sur le disque.

Répertoires et sgid

Et, si un répertoire posséde l'attribut "sgid", tous les objets créés à l'intérieur hériteront du groupe de ce répertoire. Cette fonctionnalité particulière montre son utilité quand vous avez besoin de créer une arborescence qui sera utilisée par un même groupe d'utilisateurs. Il faut simplement faire :

#chgrp mygroup /home/groupspace
#chmod g+s /home/groupspace

Maintenant tous les utilisateurs du groupe mygroup peuvent créer des fichiers ou des répertoires à l'intérieur de /home/groupspace, et ils seront automatiquement attribués comme propriété de ce groupe. Selon le paramétrage umask des utilisateurs, les nouveaux objets du système de fichier pourront ou pas être lisibles, modifiables ou exécutables par d'autres membres du groupe mygroup.

Répertoires et suppression

Par défaut les répertoires se comportent d'une façon pas toujours idéale dans certaines situations. Normalement tout le monde peut renommer ou supprimer un fichier dans un répertoire, tant qu'il possède les droits d'écriture dans ce répertoire. Pour les répertoires des utilisateurs standards ce comportement est correct.

Cependant pour les répertoires qui sont utilisés par plusieurs utilisateurs, spécialement /tmp et /var/tmp ce comportement peut être gênant. Comme tout le monde peut écrire dans ces répertoires, tout le monde peut aussi supprimer et renommer les fichiers des autres, même s'ils ne leur appartiennent pas !

Évidement il est difficile d'utiliser /tmp pour quelque chose d'utile quand n'importe qui peut taper rm -rf /tmp/* n'importe quand et effacer tous les fichiers de tous.

Heureusement Linux possède un attribut appelé le sticky bit. Quand /tmp possède l'attribut sticky bit (mis avec chmod +t), les seules personnes autorisées à supprimer ou renommer les fichiers dans /tmp sont les propriétaires du répertoire (typiquement root), le propriétaire du fichier, ou root. Virtuellement toutes les distributions Linux mettent le sticky bit sur /tmp par défaut, mais vous pouvez trouver le sticky bit utile dans d'autres situations.

Le fameux premier chiffre

Et pour conclure cette section, voyons finalement la subtilité du premier chiffre en mode numérique. Comme vous pouvez le voir, le premier chiffre est utilisé pour positionner les attributs sticky, suid et sgid :


suid sgid sticky mode numérique
on on on 7
on on off 6
on off on 5
on off off 4
off on on 3
off on off 2
off off on 1
off off off 0

Voici un exemple pour utiliser le mode numérique à 4 chiffres pour mettre les permissions à un répertoire qui sera utilisé par un groupe :

#chmod 1775 /home/groupfiles

Comme devoir à la maison, expliquez la raison du code numérique 1755. :)

Gestion des comptes sous Linux

Introduction à /etc/passwd

Dans cette section nous regarderons le mécanisme de gestion des comptes, en commencant par le fichier /etc/passwd qui défini tous les utilisateurs qui existent sur un système Linux. Vous pouvez voir votre propre fichier /etc/passwd en tapant less /etc/passwd.

Chaque ligne de /etc/passwd défini un compte utilisateur. Voici un exemple depuis depuis mon fichier :

drobbins:x:1000:1000:Daniel Robbins:/home/drobbins:/bin/bash

Comme vous pouvez le voir, il y a quelques informations sur cette ligne. En fait chaque ligne de /etc/passwd consiste en plusieurs champs, chacun séparé par un :.

Le premier champ défini le nom d'utilisateur (drobbins), et le second champ contient un x. Sur les vieux systèmes Linux, ce champ contient un mot de passe crypté utilisé pour l'authentification, mais tous les systèmes Linux actuels stockent maintenant cette information dans un autre fichier.

Le troisième champ (1000) défini l'identifiant numérique de cet utilisateur, et le quatrième champ (1000) associe cet utilisateur avec un groupe particulier; Dans quelques paragraphes nous verrons où le groupe 1000 est défini.

Le cinquième champ contient une description textuelle de ce compte -- dans cet exemple, le nom de l'utilisateur. Le sixième champ défini le répertoire personnel du compte et le septième champ spécifie le shell (NDT : l'interpréteur de commandes) par défaut de l'utilisateur - celui qui sera lancé quand est démarrée une session utilisateur.

Trucs sur /etc/passwd

Vous avez sûrement noté qu'il y a plus d'un compte utilisateur de défini dans /etc/passwd que de connectés sur votre système. Cela parce que plusieurs composants Linux utilisent des comptes utilisateurs pour augmenter la sécurité. Typiquement ces comptes systèmes ont un identifiant utilisateur ("uid") sous 100, et beaucoup d'entre eux auront un shell par défaut ressemblant à /bin/false. Comme le programme /bin/false ne fait rien mais se termine par un code erreur, cela empêche en effet ces comptes d'être utilisés comme des comptes de connexion -- ils existent pour des utilisations internes seulement.

/etc/shadow

Donc les comptes utilisateurs sont définis dans /etc/passwd. Les systèmes Linux contiennent un fichier lié de /etc/passwd qui s'appelle /etc/shadow. Ce fichier, au contraire de /etc/passwd, est lisible uniquement par root et contient les mots de passe cryptés. Regardons une ligne d'exemple depuis /etc/shadow :

drobbins:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0

Chaque ligne définie une information de mot de passe pour un compte particulier, et une fois de plus, chaque champ est séparé par un :. Le premier champ défini le compte utilisateur qui est lié avec l'entrée shadow. Le second champ contient un mot de passe crypté. Les champs restants sont décrits dans la table suivante :


Champ 3 Nombre de modifications du mot de passe depuis le 1/1/1970
Champ 4 Nombre de jours avant que le mot de passe soit autorisé à être changé (0 signifie "changement n'importe quand")
Champ 5 Nombre de jours avant que le système force l'utilisateur à changer pour un nouveau mot de passe

(-1 signifie "jamais")

Champ 6 Nombre de jours avant expiration du mot de passe pour avertir l'utilisateur

(-1 signifie "pas d'avertissement")

Champ 7 Nombre de jours après expiration du mot de passe pour désactiver le compte par le système

(-1 signifie "jamais désactivé")

Champ 8 Nombre de jours depuis désactivation

(-1 signifie "ce compte est actif")

Champ 9 Réservé pour un usage futur

/etc/group

Maintenant jetons un oeil au fichier /etc/group, qui défini tous les groupes sur un système Linux. Voici un exemple :

drobbins:x:1000:

Les formats des champs de /etc/group sont fait ainsi. Le premier champ défini le nom du groupe; le second champ est un mot de passe antique qui maintenant prends juste un x, et le troisième champ défini l'identifiant numérique de ce groupe particulier. Le quatrième champ (vide dans notre exemple) donne les utilisateurs qui sont membres de ce groupe.

Vous vous rappellez dans notre ligne échantillon de /etc/passwdune référence à un identifiant groupe 1000. Cela à pour effet de mettre l'utilisateur drobbins dans le groupe drobbins, même si le nom drobbins n'est pas listé dans le quatrième champ de /etc/group.

Note sur les groupes

Une explication sur l'association des utilisateurs et des groupes : sur certains systèmes, vous trouverez que chaque nouveau compte est associé avec un groupe du même nom (et parfois numéroté pareil). Sur d'autres systèmes, tous les comptes utilisateurs seront rattachés à un seul groupe. L'approche de cette utilisation vous appartient. Créer des groupes identiques pour chaque utilisateur possède l'avantage de permettre aux utilisateurs de mieux contrôler l'accès à leurs fichiers en mettant leurs amis connus dans leur groupe personnel.

Ajout manuel d'un utilisateur et d'un groupe

Maintenant, je vais vous montrer comment créer votre propre compte utilisateur et groupe. Le meilleur moyen d'apprendre à le faire est d'ajouter un nouvel utilisateur au système à la main. Pour commencer, soyez sûr que votre variable d'environnement EDITOR pointe sur votre éditeur préféré :

#echo $EDITOR
vim

Si ce n'est pas le cas, vous pouvez mettre EDITOR en tapant :

  1. export EDITOR=/usr/bin/emacs
  2. vipw

Vous devriez vous trouver dans votre éditeur favori avec le fichier /etc/passwd chargé à l'écran. Quand vous modifiez les fichiers systèmes passwd et group, il est très important d'utiliser les commandes vipw et vigr. Elles prennent des mesures supplémentaires pour garantir que les fichiers critiques passwd et group sont verrouillés correctement et ne peuvent être corrompus.

Editer /etc/passwd

Maintenant que le fichier /etc/passwd est chargé, allons plus loin et ajoutons la ligne suivante :

testuser:x:3000:3000:LPI tutorial test user:/home/testuser:/bin/false

Nous avons juste ajouté un utilisateur "testuser" avec un UID (NDT IDentifiant Utilisateur) de 3000. Nous l'avons ajouté à un groupe avec un GID de 3000, que nous n'avons pas encore créé. Alternativement nous pouvions mettre cet utilisateur dans un groupe d'utilisateurs. Ce nouvel utilisateur possède une description "LPI tutorial test user"; le dossier personnel de cet utilisateur est /home/testuser, et le shell est mis à /bin/false pour des raisons de sécurité. Si nous avions créé un compte hors test, nous aurions mis un shell comme /bin/bash. OK, continuons, sauvegardons nos modifications et quittons.

Editer /etc/shadow

Nous avons besoin d'ajouter une entrée dans /etc/shadow pour ce compte particulier. Pour cela tapez vipw -s. Vous allez recevoir dans votre éditeur favori le fichier /etc/shadow'. Pour continuer copiez une ligne d'un compte existant (qui possède un mot de passe et plus long que les comptes systèmes) :

drobbins:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0

Changez le nom d'utilisateur sur la ligne copiée pour le nom du nouvel utilisateur, et assurez vous que tous les champs (surtout ceux sur la durée de validité du mot de passe) sont mis convenablement :

testuser:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0

Sauvegardez et quittez.

Mettre un mot de passe

Vous êtes revenu au prompt. Maintenant il faut mettre un mot de passe à ce nouvel utilisateur.

#passwd testuser
Enter new UNIX password: (entrez un mot de passe pour testuser)
Retype new UNIX password: (entrez à nouveau le mot de passe de testuser)

Editer /etc/group

Maintenant que /etc/passwd et /etc/shadow sont faits, il est temps de configurer correctement /etc/group. Pour cela tapez :

#vigr

Le fichier /etc/group apparait devant vous , prêt à être édité. Maintenant si vous choisissez de mettre un groupe d'utilisateurs par défaut pour l'utilisateur testuser, vous n'avez pas besoin d'ajouter un groupe à /etc/group. Cependant, si vous choisissez de créer un nouveau groupe pour l'utilisateur ajoutez la ligne suivante :

testuser:x:3000:

Sauvegardez et quittez.

Créer un répertoire personnel

Nous sommes presque au bout. Tapez les commandes suivantes pour créer le répertoire personnel de testuser :

#cd /home
#mkdir testuser
#chown testuser.testuser testuser
#chmod o-rwx testuser

Le répertoire de notre compte test est maintenant en place et le compte prêt a être utilisé. Enfin, presque prêt. Si vous vouliez utiliser ce compte, vous devriez utilisez vipw pour changer le shell par défaut pour /bin/bash pour que cet utilisateur puisse se connecter.

Utilitaires de gestion des comptes

Maintenant que vous savez ajouter un compte et un groupe à la main, voyons les différents outils d'administration sous Linux qui font gagner du temps. A cause du manque de place nous ne verrons pas tous les détails sur ces commandes. Rappelez vous que vous pouvez toujours avoir plus d'informations sur une commande en consultant la page man de la commande. Si vous projetez de passer l'examen LPIC 101, vous devriez passer du temps pour être à l'aise avec chacune de ces commandes.

newgrp

Par défaut tous les fichiers qu'un utilisateur créé sont affectés au groupe de l'utilisateur spécifié dans /etc/passwd. Si l'utilisateur appartient à d'autres groupes, il ou elle peut taper newgrp thisgroup pour mettre le groupe par défaut au groupe thisgroup. Maintenant tous les nouveaux fichiers créés hériteront du groupe thisgroup.

chage

La commande chage est utilisée pour voir et changer les durées de validité du mot de passe stockées dans /etc/shadow

gpasswd Un outil généraliste de gestion des groupes
groupadd/groupdel/groupmod Pour ajouter/supprimer et modifier des groupes dans /etc/group
useradd/userdel/usermod Pour ajouter/supprimer et modifier des utilisateurs dans /etc/passwd.

Ces commandes fournissent aussi d'autres fonctions intéréssantes. Voir les pages man pour cela.

pwconv/grpconv Utilisées pour convertir les fichiers passwd et group au nouveau format de mot de

passe shadow. Virtuellement tous les systèmes Linux utilisent déjà les mots de passe shadow, vous ne devriez pas avoir besoin de ces commandes.

Personnalisation de l'environement utilisateur

Introduction aux "fortunes"

Votre shell dispose de nombreuses options utiles que vous pouvez paramétrer afin de partager vos préférences personnelles. Nous n'avons cependant pas encore discuté de la façon d'obtenir ces réglages automatiquement, à chaque fois que vous vous connectez, sans avoir à les re taper à chaque fois. Dans cette section, nous allons voir comment personnaliser votre environnement de connection en modifiant vos fichiers de démarrage.

Tout d'abord, ajoutons un message amicale lorsque vous vous connectez la première fois. Pour voir un exemple de ce message, exécutez fortune :

$ fortune
Pourquoi les flics sont-ils par trois dans les bureaux ?
Un sait lire, un sait écrire et le troisième garde un oeil sur les
deux intellectuels.

.bash_profile

Configurons maintenant fortune pour qu'il s'exécute à chaque fois que vous vous connectez. Utilisez votre éditeur de texte préféré pour éditer un texte nommé .bash_profile dans votre répertoire personnel. Si ce fichier n'exciste pas déjà, créez le. Insérer une ligne au début :

fortune

Essayez de vous déconnecter puis de vous reconnecter. Même si vous ulitisez un gestionnaire d'affichage comme xdm, gdm ou kdm, vous devriez être chaudement accueilli lorsque vous vous connectez :

mycroft.flatmonk.org login: chouser
Password:
Scandale dans le monde des deux roues :
les motos japonaises ont des moteurs brides.
        -+- Les nuls -+-
$

Le shell de connection

Lorsque le bash démarre, il parcourt le fichier .bash_profile de votre répertoire personnel, exécutant chaque ligne comme si elle avait été tapée à l'invite de commande.

Bash procède différemment suivant la façon dont il est démarré. S'il est démarré comme un shell de connection, il fonctionnera comme auparavent; d'abord en parcourant le système /etc/profile, puis votre fichier personnel ~/.bash_profile.

Il y a deux manières d'indiquer au bash de s'exécuter comme un shell de conection. Une façon est utilisée lorsque vous vous connectez pour la première fois : bash est démarré avec avec un processus nommé -bash. Vous pouvez voir cela dans la liste de vos processus :

$ ps u
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
chouser    404  0.0  0.0  2508  156 tty2     S     2001   0:00 -bash

Vous verrez probablement une liste plus longue, mais vous devriez avoir au moins une commande du nom de votre shell, précedée d'un tiret, comme -bash dans l'exemple précédent. Ce tiret permet au shell de déterminer s'il doit être exécuté comme un shell de connection.

Comprendre --login

La seconde façon d'indiquer au bash de s'excécuter comme un shell de conection est avec l'option --login. C'est parfois utilisé par les émulateurs de terminaux (comme xterm) pour que leur session bash se comporte comme une session de connection.

Après que vous vous soyez connecté, des copies de votre shell vont s'exécuter. Même si elles sont démarrées avec l'option --login ou qu'elles ont un tiret dans leur nom de processus, ces sessions ne seront pas des shells de connection. S'ils vous retournent une invite de commande cependant, ils s'appellent des shells intéractifs. Si le bash est démarré de manière intéractive, et non comme un shell de connection, il ignorera les fichiers /etc/profile et ~/.bash_profile, mais lira ~/.bashrc.

intéractif login profile rc
oui oui lit ignore
oui non ignore lit
non oui lit ignore
non non ignore ignore

Tester l'interactivité

Parfois bash source votre ~/.bashrc, même s'il n'est pas interactif, par exemple quand vous utilisez des commandes comme rsh et scp. Il est important de le garder à l'esprit car afficher des textes, comme nous le faisions avec la commande fortune juste avant, peut vraiment mélanger les sessions bash non interactives. C'est une bonne idée d'utiliser la variable PS1 pour détecter si le shell actuel est vraiment interactif avant d'envoyer du texte depuis le fichier de démarrage :

if [ -n "$PS1" ]; then
   fortune
fi

/etc/profile et /etc/skel

En tant qu'administrateur système, vous avez la charge de /etc/profile. Puisqu'il est sourcé par tout le monde quand on se connecte, il est important de le garder en bon état de fonctionnement. C'est aussi un formidable outil pour que tout se bien passe pour les nouveaux utilisateurs quand ils se connectent à leur nouveau compte.

Cependant il y a des paramétres que vous voulez que les nouveaux utilisateurs aient par défaut, mais qu'ils puissent aussi les changer facilement. C'est là que le répertoire /etc/skel entre en jeu. Quand vous utilisez la commande useradd pour créer un nouveau compte utilisateur, cela copie tous les fichiers depuis /etc/skel dans son répertoire personnel. Cela signifie donc que vous pouvez utilement mettre les fichiers .bash_profile et .bashrc dans /etc/skel pour donner un bon départ aux nouveaux utilisateurs.

export

Les variables de bash peuvent être marquées pour être positionnées dans n'importe quel nouveau shell qui se lance ; cela s'appelle marqué à l'export. Vous pouvez connaitre la liste de toutes les variables bash qui sont actuellement marquées à l'export dans votre session :

$export
declare -x EDITOR="vim"
declare -x HOME="/home/chouser"
declare -x MAIL="/var/spool/mail/chouser"
declare -x PAGER="/usr/bin/less"
declare -x PATH="/bin:/usr/bin:/usr/local/bin:/home/chouser/bin"
declare -x PWD="/home/chouser"
declare -x TERM="xterm"
declare -x USER="chouser"

Marquer des variables à l'export

Si une variable n'est pas marquée à l'export, chaque nouveau shell qui se lanceras n'auras pas cette variable. Cependant vous pouvez marquer une variable à l'export à la passant à la commande export :

$FOO=foo
$BAR=bar
$export BAR
$echo $FOO $BAR
foo bar
$bash
$echo $FOO $BAR
bar

Dans cet exemple les variables FOO et BAR ont été initialisées, mais seulement BAR a été exportée. Quand un nouveau bash est lancé, il a perdu la valeur de FOO. Si vous quittez ce nouveau bash, vous pouvez voir que celui d'origine contient toujours les valeurs de FOO et BAR :

$echo $FOO $BAR
foo bar

Export et l'option -x

Grace à cette fonctionnalité, des variables peuvent être initialisées dans ~/.bash_profile ou /etc/profile et marquées pour l'export, ainsi il n'est plus utile de les déclarer à nouveau. Il y a cependant quelques options qui ne peuvent être exportées et elles doivent être mises dans votre ~/.bashrc et votre profile pour être initialisées correctement. Ces options sont mises avec la commande set :

$set -x

L'option -x demande à bash d'afficher chaque commande lancée :

$echo $FOO
$echo foo
foo

Cela peut-être très utile pour comprendre un comportement inattendu de délimiteur ou une bizarrerie de même genre. Pour annuler l'option -x, faites set +x. Regardez la page man de bash pour connaître toutes les options de cette commande interne.

Déclarer des variables avec "set"

La commande interne set peut aussi être utilisée pour déclarer des variables, mais de cette façon c'est optionel. La commande bash set FOO=foo signifie exactement la même chose que FOO=foo. Annuler une déclaration se fait avec la commande interne unset :

$FOO=bar
$echo $FOO
bar
$unset FOO
$echo $FOO
Unset comparé à FOO=

Ce n'est pas pareil d'affecter une valeur nulle à une variable, bien qu'il soit difficile de décrire la différence. Une des façons est d'utiliser la commande interne set sans paramètre pour lister toutes les variables courantes :

$FOO=bar
$set | grep ^FOO
FOO=bar
$FOO=
$set | grep ^FOO
FOO=
$unset FOO
$set | grep ^FOO

Utiliser set sans paramètre comme ça est identique à l'utilisation de la commande interne export, excepté que set liste toutes les variables et pas seulement que celles marquées à l'export.

Exporter pour changer le comportement des commandes

Souvent le comportement des commandes peut-être modifié en ajustant des variables d'environnement. Comme pour des nouvelles sessions de bash, d'autres programmes lancés depuis votre invite bash seront capables de voir les variables marquées à l'export. Par exemple, la commande man vérifie la variable PAGER pour savoir quel programme utilisé pour visualiser un texte page à page.

$ PAGER=less
$ export PAGER
$ man man

Avec PAGER mis sur less, vous verrez une page à la fois, et en appuyant sur la barre d'espace vous passez à la page suivante. Si vous changez PAGER pour cat, le texte sera affiché en entier, sans pause.

$ PAGER=cat
$ man man

Utiliser "env"

Malheureusement, si vous oubliez de remettre PAGER à less, man (comme d'autres commandes) continuera d'afficher tous les textes sans pause. Si vous voulez PAGER mis sur cat juste une fois, vous pouvez utiliser la commande env :

$PAGER=less
$env PAGER=cat man man
$echo $PAGER
less

Cette fois, PAGER a été exporté à man avec la valeur cat, mais la variable PAGER elle même reste inchangée dans la session bash.

Sommaire et ressources

Sommaire

Félicitations pour avoir terminé la partie 3 de cette série de tutoriels. A ce point, vous devriez savoir localiser l'information du système et la documentation Internet, et vous devez avoir une bonne connaissance du modèle de permission Linux, de la gestion des comptes et de la personnalisation de l'environnement d'accueil.

Ressources

Assurez vous de vérifier les différentes sources de documentation sur Linux couvertes dans ce tutoriel, en particulier Projet de documentation Linux. Vous y trouverez sa collection de guides, HOWTOs, FAQs, et les inestimables pages de manuel. Consultez aussi Linux Gazette et LinuxFocus.

Le Guide de l'Administrateur Système Linux (disponible dans la section "Guides" au www.tldp.org) est un bon complément de cette série de tutoriels, lisez les !, vous trouverez aussi le HOWTO pratique de Eric S. Raymond [http://www.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/ HOWTO fondamental sur Unix et Internet] .

Vous pouvez lire la documentation en ligne du projet GNU sur le système info (appelé aussi "texinfo") au Page de documentation GNU texinfo .

Visitez la Liste des newsgroup Linux sur le site LDP, et les archives de newsgroup au Deja News.

Dans la série d'articles Bash par l'exemple sur developerWorks, Daniel montre comment utiliser des éléments de programmation bash pour vos propres scripts. Cette série (surtout les parties 1 et 2) est une bonne préparation pour l'examen de niveau 1 LPIC et confirmer les concepts couverts dans ce manuel "Personnaliser l'environnement utilisateur"

Bash par l'exemple, Partie 1: Programmation de base dans le shell Bourn-again

Bash par l'exemple, Partie 2: Plus loin avec la programmation bash

Bash par l'exemple, Partie 3: Explorer le système interne

Nous recommandons fortement la FAQ Technique par les utilisateurs linux de MArk Chapman, une liste détaillée de 50 pages sur les questions fréquentes sous linux avec leur réponses. La FAQ est en format PDF (Adobe Acrobat). Si vous êtes un utilisateur linux débutant ou moyen, vous devriez consulter cette FAQ. Nous recommandons aussi le Glossaire Linux aussi de Mark.

Si vous n'êtes pas familier avec l'éditeur vi, jetez un œil à la page de Daniel : Vi introduction - Manuel à base d'astuces. Ce manuel vous donnera une introduction rapide et facile a ce puissant éditeur. Ce manuel doit être lu si vous ne savez pas utiliser vi.

Pour une introduction à l'éditeur Emacs, voir le manuel developerWorks, Exploiter Emacs.

Feedback

Aidez nous s'il vous plait a connaître l'utilité de ce manuel et comment l'améliorer. Nous voudrions aussi connaître vos attentes sur des thèmes à couvrir par des manuels sur developersWorks.

Pour des questions sur le contenu de ce manuel, contacter les auteurs :


Mise à jour du 11 décembre 2005. Copyright 2001-2006 Gentoo Foundation, Inc. Questions, Commentaires? Courriel <chez-at>gentoo.org wwww <at> gentoo.org.


Retourner à l'index des cours

Outils personnels