Académique Documents
Professionnel Documents
Culture Documents
Commandes Usuelles PDF
Commandes Usuelles PDF
Un des utilitaires le plus important sous les systmes UNIX et GNU/Linux est l'interprteur de
commandes (shell). Le "shell", la coquille qui entoure le noyau (kernel), ne fait pas partie du
systme d'exploitation mais il constitue la premire interface avec l'utilisateur (user).
Utilitaire de commandes
Le rle essentiel du shell est d'interprter toutes les commandes et d'excuter des programmes.
Pour cela, il effectue (en boucle infinie) :
la lecture d'une ligne sa comprhension comme une demande d'excution d'un programme
avec d'ventuels paramtres.
le lancement de ce programme avec passage des paramtres d'ventuelles redirections
d'entres-sorties
les excutions de scripts (fichiers de commandes)
Le programme /bin/bash est lanc ds qu'un utilisateur se connecte ou lorsque l'on ouvre une
fentre xtermou un pseudo terminal (console) dans un environnement graphique tels que KDE,
GNOME, XFCE ... fonctionnant avec le serveur X.
(*) Note : dans les exemples qui suivront dans tous les exercices des chapitres suivants, nous
nous rfrerons principalement au GNU BASH, Bourne Again SHell.
Connexion utilisateurs (*) :
Dbut de session et de connexion : une session sous les systmes de type UNIX est donc la
premire tape qui permet de se connecter en saisissant un nom d'utilisateur suivi d'un mot de
passe. Ces derniers sont lus par le programme /bin/login qui les vrifie.
Passez en mode console (si le mode graphique apparat), en pressant [CtrlAltF1...F6]:
l'invite (prompt) du domaine_machinelogin: entrez le nom d'utilisateur[Return]
ex : login:toto[Return]Password: entrez votre mot de passe [Return]
(*)Note : le systme offre plusieurs comptes pr-installs, tel que root qui est destin aux tches
administratives. En tant que super-utilisateur ou root vous avez tous les privilges et le droit
d'accder tous les fichiers, ce qui peut s'avrer dangereux. N'utilisez ce compte que lorsque que
c'est absolument ncessaire.
useradd crer un nouvel utilisateur ou mettre jour linformation par dfaut sur un nouvel
utilisateur
ex : useraddtoto2
userdel modifie les fichiers des comptes du systme, en supprimant toutes les entres qui se
rfrent login. Lutilisateur nomm doit exister.
ex : userdeltoto2
(*) Note : seulement le super-utilisateur ou racine (root) peut utiliser ces commandes.
lesssimilaire more, mais permet des mouvements en arrire quen avant dans les fichiers
ex : less/proc/modules
Aide en ligne : man
man, MANual, formate et affiche les pages du manuel en ligne. Avec l'argument k, manpermet
de trouver une commande (en fait, beaucoup trop de commandes) partir d'un mot-cl.
ex : manman affiche les pages du manuel de la commande man
mank printrecherche et affiche les commandes relatives print
rmdirsupprime chaque rpertoire vide indiqu (utiliser rmfr si rpertoire non vide)
ex : rmdirtiti
umask commande interne de bash : argument similaire au mode absolu chmod mais la
signification des bits est invers.
ex : umask027 (urwx,gr+wx,o+rwx) inverse de chmod750 (u+rwx,g+rw+x,orwx)
Protections :
La protection d'un fichier ainsi que le nom du propritaire et le nom du groupe du propritaire sont
tablis sa cration et ne peuvent tre modifis que par son propritaire.
La commande umask permet de dfinir un masque de protection des fichiers (et rpertoires) lors
de leur cration. Cette commande se trouve gnralement dans le fichier d'initialisation de votre
shell mais elle peut tre excute tout moment. Le masque est exprim en base 8 (octal).
Le masque de protection le plus utilis est umask022 :
ex : la valeur 022 est soustraite de la permission permanente 111111111.
111111111 : permission permanente
000010010 : on enlve les bits dont on ne veut pas
111101101 : 755
umask022permet de crer des fichiers dont la protection est rwxrxrx
(*) Note : pour les fichiers ordinaires, umask022 donnera une protection de type rwrr,
car la possibilit d'excution n'est pas autorise sur les fichiers ordinaires.
La forme symbolique de la commande umask est beaucoup plus agrable l'utilisation que la
forme octale. De plus elle est totalement cohrente avec la forme symbolique du chmod,
prfrer donc :
ex : [toto@domaine~]$umasku=rwx,g=rx,o=rx
[toto@domaine~]$umask affiche0022
[toto@domaine~]$umaskS afficheu=rwx,g=rx,o=rx
Utilisateur :
Lorsque plusieurs personnes ont accs un systme, il est ncessaire que l'administrateur
systme gre les utilisateurs. Pour cela, les commandes usuelles telles que usermod, groupmod
et les fichiers configurer doivent tre connus. Il s'agit des fichiers : /etc/passwd et /
etc/group.
Le fichier /etc/passwd contient des attributs et les informations relatives aux utilisateurs
(users) ; login, mots de passe (password). Il faut toujours le laisser librement accessible en lecture
tous car certaines applications l'emploient. Seul le super-utilisateur (suou root) doit pouvoir le
modifier. Il faut donc modifier les droits de ce fichier de faon ce qu'il soit en lecture seule pour
les autres utilisateurs.
ex : chmod644/etc/passwd
Ce fichier possde un format spcial permettant de reprer chaque utilisateur ; chacune de ses
lignes prend le format suivant :
toto:x:500:500:Toto:/home/toto:/bin/bash
Description :
nom_du_compte : mot_de_passe : numero_utilisateur : numero_de_groupe : commentaire :
repertoire_de_connexion : programme_de_demarrage
Lorsqu'un utilisateur se connecte, le programme login compare le mot de passe saisi par
l'utilisateur (aprs l'avoir chiffr) celui qui est dans le fichier shadow. S'ils sont diffrents, la
connexion ne peut tre tablie. Pour interdire l'utilisation, il suffit de remplacer le mot_de_passe
(/etc/passwd) par une toile "*".
Les accs un compte peuvent ventuellement tre ouverts en laissant le champ mot_de_passe
(/etc/passwd) vide. Toute personne voulant se connecter avec ce compte pourra alors le faire.
Pour pouvoir modifier le mot de passe d'un compte grce la commande passwd, il faut tre soit
administrateur systme, soit propritaire du compte (le systme demandera alors l'utilisateur
d'entrer l'ancien mot de passe avant de lui demander d'entrer 2 fois son nouveau mot de passe).
UID : identifiant unique de chaque compte utilisateur (user). Les nombres de 0 99 sont
frquemment rservs des comptes propres la machine. Les valeurs suprieures 100 sont
elles rserves aux comptes utilisateurs (users).
GID : identifiant de groupe. Le groupe (group) par dfaut porte le numro 500. Cet identifiant est
utilis en relation avec les droits d'accs aux fichiers. Cette question ne vous proccupera que si
votre systme comporte plus d'un seul groupe d'utilisateurs. Il faudra alors se proccuper du
fichier /etc/group.
Il est possible partir du shell de modifier l'interprteur de commandes. Pour ceci, il faut utiliser la
commande chsh ou passwd s. Linux cherche alors dans le fichier /etc/shells le
programme que vous avez spcifi. Seules les commandes prsentes dans ce fichier seront
acceptes et remplaceront la valeur actuelle du champ programme_de_demarrage. Ces
restrictions ne s'appliquent pas au compte du super-utilisateur root.
ex : chshs/bin/bash
Assurez-vous que les droits d'accs du fichier /etc/shellssont les mmes que pour le fichier
/etc/passwd.
Description :
nom_du_groupe : champ_special : numero_du_groupe (GID) : liste_utilisateurs (membre1,
membre2)
Lorsque l'on utilise la commande ls avec l'option l, le numro de groupe est affich avec le
numro de l'utilisateur qui appartient le fichier (ou le rpertoire). Ce numro unique correspond
un nom de groupe unique (souvent 8 caractres max.).
Un mme utilisateur peut apparatre dans plusieurs groupes. Lorsqu'il se connecte au systme, il
appartient au groupe spcifi dans le fichier /etc/passwd (le champ GID). Il peut en changer
l'aide de la commande newgrp. Des droits d'accs aux fichiers sont alors dfinis.
Les protections du fichier doivent empcher sa modification par les utilisateurs non privilgis.
Pour ajouter un groupe, l'administrateur peut modifier le fichier /etc/group l'aide d'un diteur
de texte. Il peut galement utiliser la commande addgroup ou groupadd (pas toujours
prsentes).
Dans le premier cas, il aura uniquement la ou les lignes correspondant aux groupes, ajouter.
ex : titi:x:502:toto