26
FORMATION SYSADMIN

2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

FORMATION SYSADMIN

Page 2: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

0.1 SysAdmin, c’est quoi ?

SysAdmin pour « System Administrator »

2

Il s’agit de la personne responsable des systèmes informatiques

Gestion de BDD Gestion de réseau

Administrateur web Sécurité

Maintenance hardware

Page 3: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

0.2 Premiers pas en ligne de commande

ssh (Secure Shell) : commande utilisée pour établir une connexion

sécurisée à une machine à distance soit par mot de passe, soit avec une

paire de clés publique/privée

ssh -p <port> <pseudo>@<machine>

Sous Linux et MAC

Ouvrir le terminal

Sous Windows :

Installer Gitbash (https://git-

scm.com/downloads) et lancer Gitbash

22 par

défaut

Préciser

l’utilisateur

Adresse IP ou

nom de domaine

Page 4: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

4

0.3 Connexion à Padawan

Rendez-vous sur : https://padawan.viarezo.fr

Pour ceux que cela intéresse : vous allez vous connectez sur un

conteneur. Un conteneur c’est une « boîte » qui tourne sur une machine

et qui est isolée des autres « boites » qui se trouvent sur la même

machine

Page 5: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

5

0.4 Linux

Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à

la base de beaucoup de systèmes d’exploitation (Ubuntu, Debian, Arch

Linux, Android, …).

On parle parfois de GNU/Linux quand Linux est accompagné des paquets

logiciels GNU (Android n’est par exemple pas un GNU/Linux)

~ 2 à 3 % 96,6% en 2015 + de 80% des

smartphones

100% des

supercalculateurs

Page 6: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

6

0.4 Linux

Avant de commencer à taper des commandes, parlons un peu… de

l’arborescence Linux !

• / : Racine de toute l’arborescence Linux

• /etc : Configuration de plusieurs programmes et services du système

• /var : Variables diverses, notamment les logs

• /home : Fichiers personnels des utilisateurs

• /bin : Exécutables des commandes de base ( ls, rm, nano, cat)

• /tmp : Fichiers temporaires

Page 7: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

7

I. Les

Bases

Page 8: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

8

I.1 Les bases

Où suis-je ?

Que contient le dossier courant ?

pwd pour print working directory

pwd

ls

abréviation de list

Options utiles :

• l : pour avoir un affichage détaillé

• a : pour afficher même les fichiers cachés

Exemples :

• ls

• ls /etc -la

Page 9: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

9

I.1 Les bases

Se déplacer

Manuel

cd pour change directory

cd <dossier>

man <nom de la commande>

Abréviation de manual

Chemins spéciaux :

• Ici : .

• Fichier parent : ..

• Mon home : ~

On peut l’utiliser :

• en relatif : cd .cache

• en absolu : cd /usr/bin

Page 10: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

10

I.2 Gestion de fichiers/dossiers

Créer un dossier

Créer un fichier

mkdir pour make directorymkdir <dossier>

touch <fichier>

Copier un fichier

cp <source> <destination> cp pour copy

Supprimer un fichier/dossier

rm [ -r ] <dossier/fichier> rm pour remove et –r pour recursive

Page 11: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

11

I.2 Gestion de fichiers/dossiers

Modifier un fichier

nano <fichier>

Afficher les contenu d’un fichier

cat <fichier>

Il est préférable d’utiliser nano pour les débutants

vim <fichier> vi pour visual; nano est un jeu de mots

less <fichier>

head <fichier>

tail <fichier>

Page 12: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

12

I.2 Gestion de fichiers/dossiers

Chercher un motif dans un fichier

grep <motif_cherché> [fichier]

| (AltGr+6 ou Alt+Shift+I) : pipe, renvoie le résultat d'une commande dans la suivante

Quelques exemples d’utilisation :

• cat fichier.txt | grep mot

• cat fichier.txt | grep mot > result.txt

> : écrit le résultat dans un fichier

>> : ajoute le résultat à la fin d'un fichier

>! : comme > mais remplace le fichier s'il existe déjà

Chercher un fichier dans un dossier

find <location> -name <fichier>

Page 13: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

13

I.3 Mini capture the flag

Page 14: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

14

I.3 Mini capture the flag

Le mot de passe est viarezo.

L'objectif est de changer d'utilisateur

(jusqu'au level5) en trouvant les

mots de passe nécessaires qui se

cachent dans les fichiers.

Changer d'utilisateur

su level0

su pour switch user Commandes utiles (non exhaustif)

• ls : affiche le contenu d’un fichier

• cd : changer de dossier

• cat : lire un fichier

• find <dossier> -name <nom du fichier> : chercher

un fichier

• cat <fichier> | grep <"string"> : chercher un motif

dans un fichier

Page 15: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

15

II.Permissions et utilisateurs

Page 16: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

16

II.1 Gestion des permissions

Il existe 3 permissions pour les fichiers et les dossiers:

• read ( r ) : Lire le fichier

• write ( w ) : Modifier un fichier

• execute ( x ) : Executer un fichier

ls -l Permet d’afficher les fichiers avec leurs permissions

- rwx rw- r-x owner group file.txt

Permissions du propriétaire

Permissions du groupe propriétaire

Permissions des « autres »

Page 17: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

17

II.1 Gestion des permissions

Modifier les permissions d’un fichier

chmod <permission> <fichier>

L’argument <permission> est une suite de 3 chiffres entre 0 et 7, un chiffre pour les

permissions du propriétaire, un pour celles du groupe, un pour celles des autres. Par

exemple 751 correspond à rwx r-x –x.

Modifier le propriétaire d’un fichier

chmod <propriétaire>:<groupe> <fichier>

L’utilisateur propriétaire devient propriétaire du fichier et groupe devient le groupe

propriétaire du fichier

Page 18: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

18

II.2 Gestion des utilisateurs

Créer un nouvel utilisateur

adduser <utilisateur>

Créer un nouveau groupe

addgroup <groupe>

Ajouter un utilisateur (existant ) à un groupe

adduser <utilisateur> <groupe>

Page 19: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

19

III.3 Utilisateur 'root'

root est le super-utilisateur

Peu importent les permissions, il a tous les droits

Les commandes lancées en tant que root peuvent altérer votre système d'exploitation.

Quelques commandes dangereuses:

• chmod –R 777 /

• rm –rf /

• :() { :|: & }; :

Beaucoup de commandes ne peuvent être lancées qu'en tant

que root.

La commande sudo permet d'executer des commandes en tant

que root

Page 20: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

20

III. Pour aller plus loin

Page 21: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

21

III.1 Apt

Les commandes apt ou apt-get (advanced packaging tool) permettent

l’installation et la désinstallation de paquets (des programmes) provenant

d’un dépôt APT.

Gérer les paquets

apt install <paquet>

apt remove <paquet>

apt update

apt upgrade

Installer un paquet

Désinstaller un paquet

Mettre à jour la liste des paquets

disponibles dans les dépôts

Mettre à jour les paquets installés

Page 22: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

22

III.2 Systemctl

Il existe des processus appelés daemons. Ces processus s’exécutent en

arrière plan (mysql, apache, nginx, network, …). En pratique il sont souvent

lancés au démarrage et tournent principalement en continu, ce qui est très

utile pour des serveurs.

Gérer les daemons

systemctl <action> <nom>(.service)

Les actions disponibles :

• status

• start

• restart

• stop

• reload

• enable

• disable

• …

Page 23: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

23

III.3 Crontab

Permet d’exécuter planifier des tâches. Crontab est utile pour les backups,

les mails, les vérifications, …

Gérer crontab

crontab -e

crontab -l

Editer la cron

Afficher la cron

Exemple de crontab:

15 00 25 12 * echo "Le père Noël est passé !" Affiche un message tous les ans le 25 decembre à 00:15

15 02 * * * /usr/bin/eix-sync Execute une commande tous les jours à 2:15

Page 24: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

24

III.4 Htop

Htop permet de superviser les ressources d’une machine. Il correspond en

quelque sorte au gestionnaire de tâche sous windows.

Voir le moniteur système

htop

Page 25: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

25

III.4 Htop

Page 26: 2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est un noyau qui est à la base de beaucoup de systèmes d’exploitation (Ubuntu,

Merci pour votre attention !

26

La liste des commandes présentées n’est évidemment pas exhaustive. Si vous

voulez en découvrir de nouvelles, vous pourrez trouver des CTF en ligne :

https://overthewire.org/wargames/bandit/