Vous êtes sur la page 1sur 3

NF92 : Petit guide de survie sous Linux

Console
Linux s'utilise frquemment en mode console. Non ce n'est pas un mode de fonctionnement
prhistorique et oui les utilisateurs de Linux connaissent l'existence de la souris. Avec un peu
d'habitude on travaille cependant plus vite en mode console.
Cherchez donc le programme terminal dans le menu de votre distribution. Nous allons faire
quelques exercices.

Arborescence
Pas de disque C ou D, le principe sous Unix est qu'une machine = une arborescence.
Les ventuels disques supplmentaires (ou DVD) sont visibles dans des rpertoires de cette
arborescence unique. Par exemple on dit qu'un DVD est mont dans /media/dvdrom, ce qui
signifie qu'il faut aller dans ce rpertoire pour voir le contenu du DVD.
Dans le cas des machines que vous utilisez, les comptes tudiants sont monts dans /voletu, les
comptes des personnels dans /volper et les comptes d'UV dans /volsme
La commande df vous donne la liste de tous les rpertoires monts sur votre machine.

O sommes nous ?
La commande pwd (print working directory) vous indique o vous tes. Par exemple, juste aprs
tre logus vous tes dans :
/volsme-tuxa/user1x/uvs/nf92/nf92aXXX
C'est votre rpertoire maison (votre home directory ). C'est dans cette partie du disque que
vous allez stocker tous vos fichiers. Si vous utilisez la commande df dcrite prcdemment vous
constaterez que ce rpertoire est dans un point de montage. En effet les fichiers de votre rpertoire
maison ne sont pas stocks sur le PC que vous tes en train d'utiliser, ils sont stocks sur un serveur
distant (de faon vous permettre daccder vos fichiers depuis n'importe quel PC).

Cration de fichier
Utilisez le programme gedit pour lancer un diteur de texte simple. Son utilisation ne devrait pas
vous drouter outre mesure. Tapez un petit texte et sauvegardez le dans votre rp. maison pour faire
des tests.

Dplacement
Pour naviguer dans l'arborescence, utilisez les commandes :
cd <DIR>
aller dans le rpertoire <DIR> (cd = change directory)
ls [-a, -l] <DIR>
afficher la liste des fichiers du rpertoire <DIR> (rpertoire courant si pas <DIR>) (ls =
list)
l'option -a affiche tous les fichiers, y compris les fichiers cachs (un fichier est cach
si son nom commence par un . ) (a=all)
l'option -l affiche les dtails des fichiers (l=long). C'est dire les droits d'accs, le
propritaire, le groupe, la taille et la date de dernier accs de chaque fichier.

Aide
Pour connatre le dtail du fonctionnement d'une commande, utilisez la commande man (pour
manuel).
Commencez donc par essayer man man pour savoir comment le manuel s'utilise.
Essayez ensuite man ls pour connatre la liste des (innombrables) options de la commande ls.

Scurit
A chaque fichier est associ une 3 srie de 3 droits d'accs. La premire srie correspond ce que le
propritaire peut faire, la seconde ce qu'un membre du groupe associ au fichier peut faire, et la
dernire ce que n'importe qui peut faire.
Chaque srie prcise les droits en lecture, criture et excution.
Exemple :
ls -l
-rw-r-x---

1 nf92a001 nf92

234 19 sept. 10:14 essai

Ici nous nous intressons au fichier essai qui fait 234 octets et qui a t accd pour la dernire
fois le 19 sept ( 10h14 soyons prcis !). Le propritaire de ce fichier est nf92a001 et le groupe
associ ce fichier est nf92. Le tout premier caractre de la ligne ( - ) indique que c'est un fichier
normal , par opposition un rpertoire (il y aurait un d ) et toute une gamme de fichiers
spciaux exotiques que nous passerons pudiquement sous silence.
Dans cet exemple le propritaire, nf92a001, peut lire et crire dans ce fichier, mais pas l'excuter
(c'est le sens de -[rw-]r-x---).
Tout membre du groupe nf92 peut lire et excuter ce fichier, mais pas crire dedans (c'est le sens de
-rw-[r-x]---).
Les autres (les utilisateurs qui ne sont ni le propritaire, ni membres du groupe) ne peuvent...
rien faire avec ce fichier (c'est le sens de -rw-r-x[---])
Pour tre excut un fichier doit tre... excutable, mais il doit aussi tre lisible. Il est possible de
n'autoriser pour un fichier que l'excution (donc ni la lecture, ni l'criture), cependant cela n'a aucun
sens ! Il faut donc retenir d'tre prudent avec les permissions : le systme foi en vous et applique
diligemment vos instructions, mme les plus stupides (aprs tout c'est vous qui avez le cerveau).
Pour changer les droits on utilise la commande chmod (pour change mode). Pour changer le
propritaire (et le groupe) on utilise la commande chown (pour change owner).
Cas particulier : on ne vous a pas tout dit. Il existe sous linux un 4me droit (en plus de lecture ,
criture et excution ). Ce droit est notamment visible pour le rpertoire public_html dont les
droits sont :
drwxr-s---

3 nf92a001 apache

4096 19 sept. 12:12 public_html

Notez le 's' dans les droits du groupe. Il signifie que si un fichier est cr dans le rpertoire
public_html, alors le groupe de ce nouveau fichier sera forcment et automatiquement le groupe
associ au rpertoire, savoir apache dans cet exemple. Comme nous l'expliquerons un peu plus
tard, la prsence de ce bit s va revtir un grande importance pour l'accs vos fichiers depuis le
web.
Manipulation de fichiers
cp : copie un ou plusieurs fichiers

mv : dplace un fichier (astuce : pour renommer un fichier il suffit de le dplacer dans le mme
rpertoire mais avec un nom diffrent)
rm : dtruit (irrmdiablement) un fichier. En mode console il n'y a pas de poubelle dans laquelle
repcher les fichiers dtruits par erreur. Prenez l'habitude de renommer ou dplacer les fichiers que
vous ne voulez plus utiliser pour pouvoir revenir en arrire si ncessaire.
Accs depuis le web
Tous les comptes de l'UV sont monts sur le serveur tuxa.sme.utc. Un serveur web tourne en
permanence sur ce serveur et peut donner accs certains de vos fichiers via un navigateur web. Le
serveur utilis par le SME est apache .
Lorsque vous tapez l'URL http://tuxa.sme.utc/~nf92aXXX dans un navigateur, une requte est
envoye au serveur tuxa.sme.utc (en utilisant le protocole http), et la page ~nf92aXXX est
demande sur ce serveur.
Apache utilise la notation ~<login> pour rfrencer le rpertoire public_html de l'utilisateur <login>
sur le serveur. Par dfaut, apache recherche ensuite la prsence d'un fichier index.html dans ce
rpertoire et l'affiche.
La page ~nf92aXXX va donc correspondre au fichier index.html qui se trouve dans le rpertoire
public_html de l'utilisateur nf92aXXX. Essayez avec votre compte.
Crez ensuite un fichier hello.txt dans votre rpertoire public_html. Est-il possible d'y avoir accs
via un navigateur web ? Oui, il suffit de taper l'URL http://tuxa.sme.utc/~nf92aXXX/hello.txt
Attention, cela ne fonctionne que si les droits d'accs sont corrects !
Droits d'accs pour le serveur web
Vous avez crer ce fichier donc vous en tes le lgitime propritaire. Vous pouvez donc le lire (par
dfaut vous pouvez fort logiquement lire et crire les fichiers que vous crez).
Par contre c'est le serveur web apache qui est contact par le navigateur et qui va lui renvoyer votre
fichier. Ce serveur, apache, peut-il lire votre fichier ?
Si on regarde les droits attribus aux autres (ceux qui ne sont ni le propritaire, ni membre du
groupe associ au fichier) on constate qu'ils n'ont aucun droit sur ce fichier
-rw-r--[---] 1 nf92a001 apache

16 19 sept. 16:34 hello.txt

Tout programme sous unix a les droits de l'utilisateur qui l'a lanc. Ainsi lorsque vous utilisez le
programme gedit, celui-ci possde vos droits, il peut lire les fichiers que vous avez le droit de lire
mais pas les autres.
Le serveur apache est lanc par l'utilisateur apache , utilisateur qui est lui mme membre du
groupe apache (le monde est bien fait). Hors le groupe associ hello.txt est justement apache.
-rw-[r--]--- 1 nf92a001 apache
16 19 sept. 16:34 hello.txt
Les permissions de ce fichier pour le groupe permettant un membre du groupe de le lire, le
serveur apache peut le lire puis l'envoyer au navigateur qui l'affiche.
Mais au fait, pourquoi le groupe associ au fichier hello.txt est-il apache ? Par dfaut le groupe
auquel vous appartenez est nf92. D'ailleurs si vous crez un fichier dans votre rp. maison son
groupe sera nf92. Si le groupe de hello.txt est apache, c'est parce que vous l'avez cr dans le
rpertoire public_html, et que sur ce rpertoire est positionn le fameux bit s dont nous avons
parl prcdemment.