Sous-sections
___________________________________________________________________ |
man |
|
man est la commande la plus utile du système car elle permet de connaître toutes les options possibles
de chaques commandes.
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
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 -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:
___________________________________________________________________ |
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, |
|
|
|
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:
``fichier'' appartiendra désormais à l'utilisateur seb et au group users.
il est également possible de l'appliquer récursivement avec l'option ``-R'':
___________________________________________________________________ |
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.
___________________________________________________________________ |
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. |
|
|
|
Remarque : Ce programme se situe dans le rpm slocate
|
|
|
|
___________________________________________________________________ |
grep |
Permet entre autre de rechercher une chaine de caractère dans un fichier:
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''. |
___________________________________________________________________ |
top |
Montre les principaux processus du système.
___________________________________________________________________ |
ps |
Utilitaire permettant de voir les processus actifs du système.
___________________________________________________________________ |
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 |
___________________________________________________________________ |
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. |
... |
|
|
|
|
______________________________________ |
|
|
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. |
|
|
___________________________________________________________________ |
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).
___________________________________________________________________ |
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:. |
|
___________________________________________________________________ |
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.
|
|
|
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.
|