IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
next up previous contents index index
suivant: Administration des Systèmes Linux monter: Première Approche des distributions précédent: Les Éditeurs vi et   Table des matières   Index

Sous-sections

Commandes de bases:

Les aides.

___________________________________________________________________
man
man est la commande la plus utile du système car elle permet de connaître toutes les options possibles de chaques commandes.
man ls
On notera que les man sont toujours mis à jour sous les différents BSD ce qui n'est pas toujours le cas sous linux.
___________________________________________________________________
info
Semblable au man mais est aujourd'hui le format officiel de documentation sous Linux.
___________________________________________________________________
whatis
Comme son nom l'indique permet d'avoir une description succincte sur un programme.
___________________________________________________________________
HOWTO
Le Howto est une particularité linux, qui explique comment installer ou configurer certains programmes, fonctionnalitées ou services. On trouve généralement ces documentations au format HTML dans /usr/share/doc/HOWTO

Manipulation des fichiers et des répertoires.

Dans les systèmes de fichier Linux/Unix tous les fichiers sont définis selon trois types de droits:
  • les droits attribués au propriétaire du fichier sur le fichier,
  • les droits attribués au groupe du fichier sur le fichier,
  • et enfin les droits attribués pour tous les autres sur le fichier.
Ensuite pour chacun de ces type on attribuera de la même façon trois types de droits:
  • lecture. ( ou r pour read)
  • écriture. ( ou w pour write)
  • execution. ( ou x pour exécution)
Ainsi lors d'un ``ls -l '' on pourra voir apparaître la ligne:
  -rwxr-xr- 1 seb users 15 Aug 15 14:02 hello_world.pl

Nous allons donc décrire la signification de chacun des champs significatifs de cette ligne:
  • rwxr-xr- Sur ce premier champ apparaissent les droits du fichier que l'on pourra décomposer de la façon suivante:
    • rwx pour le propriétaire:
      • r: le propriétaire pourra lire ce fichier.
      • w: le propriétaire pourra modifier ce fichier.
      • x: le propriétaire pourra exécuter ce fichier.
    • r-x pour le groupe:
      • r: le groupe pourra lire ce fichier.
      • -: le groupe ne pourra pas modifier ce fichier.
      • x: le groupe exécuter ce fichier.
    • r- pour les autres:
      • r: les autres pourront lire ce fichier.
      • -: les autres ne pourront pas modifier ce fichier.
      • -: les autres ne pourront pas exécuter ce fichier.
  • seb le propriétaire du fichier.
  • users le groupe du fichier.
  • 15 Aug 14:02 date de création du fichier.
  • hello_world.pl nom du fichier.
___________________________________________________________________
ls
ls permet de visualiser les fichiers contenus dans le répertoire courant. Les options usuelles sont:
-l affichages de toutes les informations sur le fichier.
-R affiche également les fichiers des sous répertoires.
-a affiche les fichiers commençant par un ``.'' ie: ``cachés''
-h human readable
-F affiche les nom des répertoires en finissant par ``/''.
affiche les nom des fichiers exécutables en finissant par ``*''.
affiche les nom des liens en finissant par ``#9512#>
___________________________________________________________________
cd
cd : ``change directory'' ie: changer de répertoire
cd  ou cd : permet d'accéder au répertoire de l'utilisateur
cd - : permet de retourner au précèdent répertoire.
___________________________________________________________________
mv
``move'' signifie déplacer ou renommer
mv toto.txt toto2.txt : le fichier toto.txt sera renommer en toto2.txt
mv toto.txt tmp/ : le fichier toto.txt sera déplacé dans le répertoire tmp/
___________________________________________________________________
pwd
affiche le répertoire courant.
___________________________________________________________________
mkdir
création d'un répertoire.
mkdir répertoire
mkdir -p /home/seb/tmp/devel/test permet de créer les répertoires récursivement.
___________________________________________________________________
rmdir
suppression d'un répertoire s'il est vide si celui-ci n'est pas vide il faut utiliser la commande:
rm -rf répertoire
___________________________________________________________________
chmod
Permet de changer les permissions sur un fichier ou sur un répertoire. Chaque chiffre est interprété de la même façon:
1 pour l'exécution
2 pour l'écriture
3 pour la lecture
On peut cumuler les droits en ajoutant ces chiffres. Ainsi, si le premier chiffre du paramètre est 6, il correspond alors à 4+2 soit la lecture(4) et l'écriture
chmod 777 fichier Droits de lecture, d'écriture, d'exécution pour tout le monde. (dangereux).
chmod +s fichier Positionne le bit SUID a un, c'est a dire que si un utilisateur a suffisamment de droits pour pouvoir exécuter ce programme alors le système considérera que c'est le propriétaire du fichier qui l'aura exécuté.

Cette faille de sécurité est l'une des plus exploitées par les crackers,
Image images/noteg.jpg
Remarque : Si root utilise la commande ``chmod +s /bin/cat'' : Alors n'importe quel utilisateur pourra afficher le contenu de n'importe quel fichier du système: cat /etc/shadow
___________________________________________________________________
chown
permet de changer l'utilisateur et le groupe propriétaire d'un fichier:
chown seb.users fichier
``fichier'' appartiendra désormais à l'utilisateur seb et au group users. il est également possible de l'appliquer récursivement avec l'option ``-R'':
chown seb.users rep
___________________________________________________________________
du
La commande ``du'' permet entre autres de connaître la taille d'un répertoire par blocs d'un Ko. Néanmoins il est possible3.1 d'y ajouter l'option ``-h''3.2 pour rendre le résultat plus explicite.

Les outils de recherche.

___________________________________________________________________
find
permet de trouver un fichier a partir d'un répertoire donné:
find / -name ``httpd.conf'': permet de retrouver le fichier httpd.conf en cherchant dans tous les répertoires depuis la racine.
find / -user root -a (perm -4000 -o -perm -2000 ) print : cette commande permet d'afficher tous les fichiers ayant les droits SUID et appartenant a root du système.
___________________________________________________________________
locate
Beaucoup plus rapide que find, car il utilise une base de donnée pour trouver un fichier. Pour mettre à jour cette base de donnée il suffit en tant que root de lancer la commande:
updatedb sous Linux ou /usr/libexec/locate.updatedb sous bsd
pour chercher un fichier il suffit donc de taper:
locate httpd.conf pour en trouver l'occurrence.
Image images/noteg.jpg
Remarque : Ce programme se situe dans le rpm slocate
___________________________________________________________________
grep
Permet entre autre de rechercher une chaine de caractère dans un fichier:
grep toto fichier.txt
grep -r toto * : pour faire une recherche en incluant les fichiers des sous répertoires.
grep permet aussi de faire une recherche depuis la sortie standart:
ls |grep toto : dans cet exemple nous recherchons un ficher dans le répertoire courant dont le nom contient ``toto''.
Aussi on pourra lui demander de n'afficher que les résultats qui ne correspondent pas à la recherche demandée avec l'option ``-v'':
ls |grep -v toto: dans cet exemple nous recherchons un ficher dans le répertoire courant dont le nom ne contient pas ``toto''.

Commandes sur les processus.

___________________________________________________________________
top
Montre les principaux processus du système.
utilisation: $> top
___________________________________________________________________
ps
Utilitaire permettant de voir les processus actifs du système.
utilisation: $> ps -ax
___________________________________________________________________
kill
commande qui permet d'envoyer un signal à un processus:
1 HUP (hang up) Re-démarrage
2 INT (interrupt)  
3 QUIT (quit)  
6 ABRT (abort)  
9 KILL (non-catchable, non-ignorable kill) force l'arrêt
14 ALRM (alarm clock)  
15 TERM (software termination signal)  
Exemple: kill -9 pid_processus

Commandes sur les périphériques.

___________________________________________________________________
df
df (display free disk space), permet de connaître l'état d'utilisation d'une partition montée. On utilise généralement df avec l'option ``-h'' ("Human-readable" output) pour afficher ces statistiques en Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte, Exabyte, plutôt qu'en inode moins facile à estimer.
___________________________________________________________________
mount/umount
Permet de monter et de démonter des partitions:
Ex: mount -t ext2 /dev/hda7 /home
-t ext2 cette option permet de spécifier le type de partition pour
une partition Linux (ext2), Windows (vfat), dos (msdos),
cdrom(iso9660) ....
/dev/hda7 numéro de la partition ou du volume
/home répertoire dans lequel on va monter la partition c'est
à dire le répertoire à partir duquel les fichiers seront accessibles.

Il possible d'ajouter des options supplémentaires tel que:
nosuid: ne permet l'exécution des fichiers suid dans cette
partition ou ce volume.
noexec: ne permet aucune exécution.
...

Image images/lieng.jpg
______________________________________    
Pour plus de détails, voir les paragraphes:    
Montage d'une image ISO ......  10.8
Systèmes de Fichiers Journalisés ......  3.2
/etc/fstab ......  4.6.6
___________________________________________________________________
dd
dd - Convertir un fichier en le copiant. dd copie un fichier (par défaut, depuis l'entrée standard vers la sortie standard) en permettant de sélectionner la taille de bloc, et d'effectuer des conversions. Il lit son entrée bloc par bloc, en utilisant la taille des blocs d'entrée mentionnée (par défaut 512 octets). Si l'option bs=octets est présente, et si aucune autre conversion que sync, noerror ou notrunc n'est indiquée, il écrit la quantité de données lues (qui peut être plus petite que celle demandée) dans un bloc de sortie indépendant. Ce bloc a exactement la même taille que les données lues, sauf si la conversion sync a été réclamée, auquel cas les données sont complétées avec des octets nuls, ou des espaces (voir plus bas).
Options  
   
if=fichier Lire les données depuis le fichier indiqué plutôt
  que depuis l'entrée standard.
   
of=fichier Ecrire les données dans le fichier mentionné, et
  non pas sur la sortie standard. Si conv=notrunc
  n'est pas indiqué, le fichier est initialement
  tronqué à la taille spécifiée par seek= (0 octets
  si seek= n'est pas fourni).
   
ibs=nombre Lire le nombre indiqué d'octets en une fois. Par
  défaut 512.
   
obs=nombre Écrire le nombre indiqué d'octets en une fois. Par
  défaut 512.
   
bs=nombre Lire et écrire le nombre indiqué d'octets en une
  fois. A priori sur ibs et obs. (et indiquer bs
  n'est pas équivalent à indiquer la même valeur pour
  ibs et obs du moins lorsqu'aucune autre conversion
  que sync, noerror et notrunc n'est indiquée, car
  cela indique que chaque bloc d'entrée doit être
  copié dans un bloc de sortie indépendant, sans
  regrouper les blocs plus courts).
   
cbs=nombre Indique la taille des blocs pour les conversions
  block et unblock.
   
skip=nombre Ignorer le nombre indiqué de blocs (dont la taille
  est fournie par ibs) au début de la lecture.
   
seek=nombre Ignorer le nombre indiqué de blocs (dont la taille
  est fournie par ibs) au début de l'écriture.
   
count=nombre Copier seulement le nombre indiqué de blocs (dont
  la taille est fournie par ibs), et non pas tout
  jusqu'à la fin du fichier.
   

Commandes de connexion à distance.

___________________________________________________________________
ssh
Commande qui permet de se connecter de façon sécurisée ( les données qui transitent seront cryptées entre les deux machines).
ssh toto@192.168.0.1
___________________________________________________________________
scp
Commande qui permet de copier de façon sécurisé un fichier ou un répertoire sur le compte d'une autre machine.
scp fichier toto@192.168.0.1:.
scp -r répertoire toto@192.168.0.1:.

Autres commandes système.

___________________________________________________________________
tar et gzip
``tar'' est un utilitaire qui permet de concaténer plusieurs fichiers en un seul, mais ne les compressent pas. C'est pourquoi il est souvent utilisé en parallèle de gzip.
Ainsi pour concaténer plusieurs fichiers en un seul il suffit de taper:
``tar cvf fichier.tar répertoire'' ou ``tar cvfz fichier.tar.gz répertoire'' si l'on souhaite en plus compresser ces fichiers
De même pour décompacter ce fichier on tapera:
``tar xvf fichier.tar'' dans le cas d'un fichier avec une extension tar.
``tar xvfz fichier.tar.gz'' dans le cas d'un fichier avec une extension tar.gz.
___________________________________________________________________
chroot
permet de déplacer la racine d'un système.
Ex: chroot répertoire
Image images/noteg.jpg
Remarque : Cette commande est très utilisées pour sécuriser un serveur. En effet, lors d'attaque sur un serveur ftp ou http, une personne mal intentionnée n'aura aucun moyen de passer root (ce qui est le pire des cas) sur le système en entier, il sera limité au répertoire chrooté.
___________________________________________________________________
vipw
Commande utilisée pour modifier les attributs de chaque utilisateur:
seb:$2a$06$M:1000:10::0:0::/home/seb:/bin/zsh
On trouvera dans l'ordre:
  • le login
  • le mot de passe crypté
  • uid : numéro de l'utilisateur
  • gid : numéro du groupe
  • ...
  • répertoire HOME de l'utilisateur
  • et enfin shell par défaut pour l'utilisateur.

next up previous contents index index
suivant: Administration des Systèmes Linux monter: Première Approche des distributions précédent: Les Éditeurs vi et   Table des matières   Index