LPI-101-2-3
De RotomaLUG.
| Frontal web | Wiki accueil | Les forums | La galerie | La liste LUG | La liste INSTALL PARTY |
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
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 :
- export EDITOR=/usr/bin/emacs
- 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 :
- Daniel Robbins, au <chez-at> gentoo.org drobbins <chez-at> gentoo.org
- Chris Houser, au <chez-at> gentoo.org chouser <chez-at> gentoo.org
- Aron Griffis, au <chez-at> gentoo.org agriffis <chez-at> gentoo.org
Mise à jour du 11 décembre 2005.
Copyright 2001-2006 Gentoo Foundation, Inc. Questions, Commentaires? Courriel <chez-at>gentoo.org wwww <at> gentoo.org.