2020 Sysadmin slides - ViAREZO...5 0.4 Linux Les serveurs sont majoritairement sous Linux. Linux est...

Preview:

Citation preview

FORMATION SYSADMIN

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

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

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

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

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

7

I. Les

Bases

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

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

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

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>

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>

13

I.3 Mini capture the flag

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

15

II.Permissions et utilisateurs

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 »

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

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>

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

20

III. Pour aller plus loin

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

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

• …

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

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

25

III.4 Htop

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/