Update tuto2 for 2021
This commit is contained in:
parent
eb4bef9753
commit
1650c7df13
66
tuto2.yml
66
tuto2.yml
|
@ -1,11 +1,9 @@
|
|||
kernel:
|
||||
image: linuxkit/kernel:4.9.165
|
||||
# cmdline: "console=ttyS0 console=tty0"
|
||||
# cmdline: "console=tty0 console=ttyS0 root=/dev/sda1 root=/dev/sr0 adlin.net=easy"
|
||||
image: linuxkit/kernel:4.19.104
|
||||
cmdline: "console=tty0 console=ttyS0 root=/dev/sda1 root=/dev/sr0 adlin.format=/dev/sda quiet"
|
||||
|
||||
init:
|
||||
- nemunaire/adlin-tuto2:017a5c0b4eb825e9f7f979e7261fa17573ee3c58
|
||||
- nemunaire/adlin-tuto2:41e341472a4a1b27dcf61c7d364f1f0a5f76fbe7
|
||||
|
||||
files:
|
||||
- path: etc/hostname
|
||||
|
@ -50,21 +48,20 @@ files:
|
|||
[ "$value" != "" ] && echo "$value"
|
||||
}
|
||||
|
||||
# Hide us!
|
||||
/bin/rm -f /init /linuxrc
|
||||
|
||||
mount -n -t devtmpfs devtmpfs /dev
|
||||
mount -n -t proc proc /proc
|
||||
#mount -n -t tmpfs run /run
|
||||
#mount -m -t sysfs sys /sys
|
||||
|
||||
INITDEBUG=$(cmdline adlin.debuginit)
|
||||
[ -n "${INITDEBUG}" ] && /bin/busybox cttyhack ${INITDEBUG}
|
||||
|
||||
INITP=$(cmdline init)
|
||||
[ -z "$INITP" ] && INITP=/lib/systemd/systemd
|
||||
WGTOKEN=$(cmdline adlin.token)
|
||||
|
||||
|
||||
ROOTFS=$(cmdline root)
|
||||
echo "rootfs=$ROOTFS"
|
||||
[ -z "$ROOTFS" ] && { echo "No root= provided, continuing on initramfs only."; exec "${INITP}"; }
|
||||
[ "$ROOTFS" = "/dev/sr0" ] && { echo "No root= provided, continuing on initramfs only."; exec "${INITP}"; }
|
||||
[ -b "$ROOTFS" -a -z "$(cmdline adlin.alwaysformat)" ] || {
|
||||
|
@ -93,8 +90,6 @@ files:
|
|||
mkdir -p ${ovr_rwdata}/work
|
||||
/bin/mount -n -t overlay -o upperdir=${ovr_rwdata}/data,workdir=${ovr_rwdata}/work,lowerdir=${ovr_robase} overlay ${ovr_combined} || { echo "Unable to create overlayfs."; exit 3; }
|
||||
|
||||
/bin/umount -n /proc
|
||||
|
||||
/bin/mkdir -p ${ovr_combined}/overlay/rwdata
|
||||
/bin/mount -n --move ${ovr_rwdata} ${ovr_combined}/overlay/rwdata
|
||||
/bin/mkdir -p ${ovr_combined}/overlay/robase
|
||||
|
@ -104,6 +99,7 @@ files:
|
|||
cd ${ovr_combined}
|
||||
|
||||
mount --move /dev dev
|
||||
mount --move /proc proc
|
||||
mount --move . /
|
||||
/bin/umount -n /overlay
|
||||
|
||||
|
@ -116,8 +112,8 @@ files:
|
|||
echo -n "You didn't define your token to connect the network. Please copy it here now: "
|
||||
read WGTOKEN
|
||||
}
|
||||
/sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0
|
||||
/bin/ip link set up dev eth0 || { /sbin/modprobe e1000; /bin/ip link set up dev eth0; }
|
||||
/sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0
|
||||
/bin/busybox udhcpc -n -q
|
||||
[ -f "etc/wireguard/adlin.conf" ] && WGPRVKEY=$(sed 's/^.*PrivateKey *= *//p;d' etc/wireguard/adlin.conf)
|
||||
[ -z "${WGPRVKEY}" ] && WGPRVKEY=$(/usr/bin/wg genkey)
|
||||
|
@ -192,31 +188,29 @@ files:
|
|||
|
||||
- path: etc/shadow
|
||||
contents: |
|
||||
root:$6$B0qzwsEh$vfWGpIFUrKGrkT0PVtGhhomBwc.60IBIxjMLyG8mz.NJLFRryjqLK9sA/mzxNSaQViiHsYYrsgmcWVHblfdHg1:17968:0:99999:7:::
|
||||
daemon:*:17575:0:99999:7:::
|
||||
bin:*:17575:0:99999:7:::
|
||||
sys:*:17575:0:99999:7:::
|
||||
sync:*:17575:0:99999:7:::
|
||||
games:*:17575:0:99999:7:::
|
||||
man:*:17575:0:99999:7:::
|
||||
lp:*:17575:0:99999:7:::
|
||||
mail:*:17575:0:99999:7:::
|
||||
news:*:17575:0:99999:7:::
|
||||
uucp:*:17575:0:99999:7:::
|
||||
proxy:*:17575:0:99999:7:::
|
||||
www-data:*:17575:0:99999:7:::
|
||||
backup:*:17575:0:99999:7:::
|
||||
list:*:17575:0:99999:7:::
|
||||
irc:*:17575:0:99999:7:::
|
||||
gnats:*:17575:0:99999:7:::
|
||||
nobody:*:17575:0:99999:7:::
|
||||
_apt:*:17575:0:99999:7:::
|
||||
messagebus:*:17594:0:99999:7:::
|
||||
sshd:*:17594:0:99999:7:::
|
||||
systemd-timesync:*:17594:0:99999:7:::
|
||||
systemd-network:*:17594:0:99999:7:::
|
||||
systemd-resolve:*:17594:0:99999:7:::
|
||||
systemd-bus-proxy:*:17594:0:99999:7:::
|
||||
root:$6$QNuPvO59Xk4UO3le$3P0V2ef6dHlKgO1FHsKcPPgOvL.YeCOPFqfIVTtpYn5eEn3xkgGYeM1RMCQ9l/eTc6rRc.l.WeRe1iJVznVGj/:18336:0:99999:7:::
|
||||
daemon:*:18316:0:99999:7:::
|
||||
bin:*:18316:0:99999:7:::
|
||||
sys:*:18316:0:99999:7:::
|
||||
sync:*:18316:0:99999:7:::
|
||||
games:*:18316:0:99999:7:::
|
||||
man:*:18316:0:99999:7:::
|
||||
lp:*:18316:0:99999:7:::
|
||||
mail:*:18316:0:99999:7:::
|
||||
news:*:18316:0:99999:7:::
|
||||
uucp:*:18316:0:99999:7:::
|
||||
proxy:*:18316:0:99999:7:::
|
||||
www-data:*:18316:0:99999:7:::
|
||||
backup:*:18316:0:99999:7:::
|
||||
list:*:18316:0:99999:7:::
|
||||
irc:*:18316:0:99999:7:::
|
||||
gnats:*:18316:0:99999:7:::
|
||||
nobody:*:18316:0:99999:7:::
|
||||
_apt:*:18316:0:99999:7:::
|
||||
systemd-timesync:*:18333:0:99999:7:::
|
||||
systemd-network:*:18333:0:99999:7:::
|
||||
systemd-resolve:*:18333:0:99999:7:::
|
||||
sshd:*:18333:0:99999:7:::
|
||||
mode: "0640"
|
||||
|
||||
trust:
|
||||
|
|
|
@ -41,14 +41,14 @@ Résultat attendu
|
|||
nouvelle machine, identique à celle que vous venez de configurer, à partir
|
||||
d'une ISO et d'un nouveau disque.
|
||||
|
||||
Le fichier à rendre est un playbook `login_x-TP2/basis.yml`, accompagné de
|
||||
Le fichier à rendre est un playbook `login-x-TP2/basis.yml`, accompagné de
|
||||
toutes ses dépendances : celui-ci doit faire les configurations basiques du
|
||||
système et des utilisateurs.
|
||||
|
||||
Un deuxième playbook est à rendre : `login_x-TP2/vitrine.yml`, celui-ci doit
|
||||
Un deuxième playbook est à rendre : `login-x-TP2/vitrine.yml`, celui-ci doit
|
||||
permettre de déployer (en parallèle de tous les autres), une page vitrine
|
||||
typique d'une entreprise (cf. la 4e question de cours ;)). Cette page doit être
|
||||
accessible depuis votre domaine <https://login_x.adlin2020.p0m.fr/>.
|
||||
accessible depuis votre domaine <https://login-x.adlin2021.p0m.fr/>.
|
||||
|
||||
|
||||
Mon première commande
|
||||
|
@ -139,7 +139,7 @@ exister. À l'application de cette nouvelle recette, si un tel utilisateur est
|
|||
trouvé, il sera donc supprimé.
|
||||
|
||||
|
||||
### Collecte du mercredi
|
||||
### Collecte du lundi
|
||||
|
||||
Parmi les modules de base, le module `setup` permet de récupérer un grand
|
||||
nombre de caractéristiques de la machine distance, voyez plutôt :
|
||||
|
@ -183,8 +183,8 @@ Par exemple, voici à quoi pourrait ressembler un tel recueil :
|
|||
tasks:
|
||||
- name: ensure postgresql is at the latest version
|
||||
yum: name=postgresql state=latest
|
||||
- name: ensure that postgresql is started
|
||||
service: name=postgresql state=started
|
||||
- name: ensure that mysql is started
|
||||
service: name=mysqld state=started
|
||||
```
|
||||
</div>
|
||||
|
||||
|
|
|
@ -24,10 +24,9 @@ une solution de messagerie décentralisée et permet de réaliser du chiffrement
|
|||
de bout-en-bout.
|
||||
|
||||
Vous trouverez la documentation d'installation précise et détaillée à :
|
||||
<https://github.com/matrix-org/synapse/blob/master/README.rst> (attention, une
|
||||
release 1.0 est prévue pour dans peu de temps, pensez à vous fixer une version,
|
||||
n'utilisez pas la branche master qui risque de ne plus fonctionner au moment du
|
||||
moulinétage de votre rendu).
|
||||
<https://github.com/matrix-org/synapse/blob/master/README.rst> (attention,
|
||||
pensez à vous fixer une version, n'utilisez pas la branche master qui risque de
|
||||
ne plus fonctionner au moment du moulinétage de votre rendu).
|
||||
|
||||
Vous devrez attacher une importance tout particulière à la sécurité de
|
||||
la solution que vous déployez : configurations durcies, utilisateur
|
||||
|
@ -61,7 +60,7 @@ de données. Le *dump* obtenu est à placer dans `/var/backups/`.
|
|||
Vous n'êtes pas tenu d'installer un client. Pour vos tests, vous pouvez
|
||||
utiliser <https://riot.im/app/>, en changeant l'adresse du serveur Matrix pour
|
||||
votre sous-domaine dédié à Matrix (normalement
|
||||
<https://matrix.login_x.srs.p0m.fr/>). (Conservez le serveur d'identité à
|
||||
<https://matrix.login-x.srs.p0m.fr/>). (Conservez le serveur d'identité à
|
||||
<https://vector.im>).
|
||||
|
||||
|
||||
|
|
|
@ -62,8 +62,8 @@ Domaine de test
|
|||
En plus de vous fournir une IPv6, vous disposerez d'un nom de domaine ainsi
|
||||
qu'une délégation sur un sous-domaine.
|
||||
|
||||
Commencez par demander un nom de domaine *Association simple*, sans un premier
|
||||
temps. Ceci créera un domaine qui vous permettra d'accéder à votre machine dans
|
||||
Commencez par demander un nom de domaine *Association simple*, dans un premier
|
||||
temps. Ceci créera un domaine qui vous permettra d'accéder à votre machine sans
|
||||
avoir à connaître son IP.
|
||||
|
||||
Dans un deuxième temps, nous verrons comment tirer parti de la délégation. Vous
|
||||
|
|
|
@ -13,9 +13,9 @@ Voici les grandes étapes :
|
|||
* choisir un serveur DNS autoritaire (BIND, NSD, Knot, PowerDNS, djbDNS, ...) ;
|
||||
* éditer la zone de votre domaine ;
|
||||
* configurer ce serveur pour qu'il réponde effectivement aux requêtes de votre zone ;
|
||||
* tester avec `dig @votreIPv4locale ANY login_x.srs.p0m.fr` que votre serveur réagit bien correctement ;
|
||||
* publier sur Maatma le nom de domaine où votre serveur de nom est joignable (généralement `ns.login_x.srs.p0m.fr`), il s'agit d'un enregistrement `NS` ;
|
||||
* tester avec `dig @votreIPv4locale ANY login-x.srs.p0m.fr` que votre serveur réagit bien correctement ;
|
||||
* publier sur Maatma le nom de domaine où votre serveur de nom est joignable (généralement `ns.login-x.srs.p0m.fr`), il s'agit d'un enregistrement `NS` ;
|
||||
* publier également sa *GLUE*, afin de résoudre le problème de poule et d'œuf (le domaine de votre serveur de noms étant dans la zone qu'il est sensé servir, le bureau d'enregistrement enverra également l'IP correspondant au domaine) ;
|
||||
* tester avec `dig @9.9.9.9 ANY login_x.srs.p0m.fr` que votre serveur est bien joignable.
|
||||
* tester avec `dig @9.9.9.9 ANY login-x.srs.p0m.fr` que votre serveur est bien joignable.
|
||||
|
||||
Un ouvrage de référence, qui répondra à l'intégralité de vos questions et manières d'utiliser votre serveur DNS se trouve à <http://www.zytrax.com/books/dns/>.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
title: Administration Linux avancée -- TP n^o^ 2
|
||||
subtitle: Maatma : l'hébergeur DIY
|
||||
subtitle: "Maatma : l'hébergeur DIY"
|
||||
author: Pierre-Olivier *nemunaire* [Mercier]{.smallcaps}
|
||||
institute: EPITA
|
||||
date: Jeudi 14 mars 2019
|
||||
date: Lundi 16 mars 2020
|
||||
abstract: |
|
||||
Durant ce deuxième TP, nous allons apprendre à déployer des services sur un
|
||||
serveur, de manière industrielle !
|
||||
|
@ -11,14 +11,14 @@ abstract: |
|
|||
\vspace{1em}
|
||||
|
||||
La partie 4 de ce TP est un projet à rendre à <adlin@nemunai.re> au plus tard
|
||||
le **vendredi 29 mars 2019 à 00 h 42 du matin**. Consultez la dernière
|
||||
le **dimanche 29 mars 2020 à 00 h 42 du matin**. Consultez la dernière
|
||||
section de chaque partie pour plus d'information sur les éléments à
|
||||
rendre. Et n'oubliez pas de répondre aux [questions de
|
||||
cours](https://www.epitaf.fr/moodle/mod/quiz/view.php?id=268).
|
||||
cours](https://adlin.nemunai.re/quiz/2).
|
||||
|
||||
En tant que personnes sensibilisées à la sécurité des échanges électroniques,
|
||||
vous devrez m'envoyer vos rendus signés avec votre clef PGP. Pensez à
|
||||
[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96)
|
||||
[me](https://keys.openpgp.org/search?q=nemunaire%40nemunai.re)
|
||||
faire signer votre clef et n'hésitez pas à [faire signer votre
|
||||
clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
|
||||
...
|
||||
|
|
|
@ -20,7 +20,7 @@ reporter dans un fichiers au chapitre suivant !
|
|||
Ma première vitrine
|
||||
-------------------
|
||||
|
||||
Sur le domaine `login_x.adlin2020.p0m.fr`, déployez une vitrine d'entreprise
|
||||
Sur le domaine `login_x.adlin2021.p0m.fr`, déployez une vitrine d'entreprise
|
||||
basique (pas besoin d'un Wordpress, un simple lot de pages HTML fera l'affaire).
|
||||
|
||||
Vous aurez pour cela besoin d'un serveur web, dont le choix est laissé à votre
|
||||
|
|
|
@ -7,7 +7,7 @@ Accéder à la machine virtuelle
|
|||
------------------------------
|
||||
|
||||
Une fois la machine virtuelle démarrée, vous pouvez vous y connecter en `root`
|
||||
avec le mot de passe `adlin2020`.
|
||||
avec le mot de passe `adlin2021`.
|
||||
|
||||
Vous pouvez également démarrer en mode *single user*, mais comme votre disque
|
||||
n'est sans doute pas encore utilisable à ce stade, vous ne pourrez pas changer
|
||||
|
|
Reference in New Issue