Trailing whitespaces

Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
ceph
Yohann D'ANELLO 2022-04-16 18:35:43 +02:00
parent ba7f565d23
commit d6c9aaf6cd
Signed by: _ynerant
GPG Key ID: 3A75C55819C8CF85
1 changed files with 80 additions and 80 deletions

View File

@ -1,40 +1,40 @@
# Comment devenir nounou ? # Comment devenir nounou ?
Bonjour jeune apprenti⋅e, tu regardes surement avec des œils pleins d'étoiles Bonjour jeune apprenti⋅e, tu regardes surement avec des œils pleins d'étoiles
tes ainé⋅es qui actuellement disposent des droits suprèmes sur l'infrastructure tes ainé⋅es qui actuellement disposent des droits suprèmes sur l'infrastructure
du crans. Ce petit document est là pour t'expliquer comment toi aussi un jour tu du crans. Ce petit document est là pour t'expliquer comment toi aussi un jour tu
pourras devenir l'un⋅e d'elleux. Et quand il sera temps et que tu commenceras à pourras devenir l'un⋅e d'elleux. Et quand il sera temps et que tu commenceras à
t'encrouter comment tu pourras rendre tes droits. t'encrouter comment tu pourras rendre tes droits.
Déjà commençons par une question un peu conne mais néanmoins légitime « Qui Déjà commençons par une question un peu conne mais néanmoins légitime « Qui
"mérite" d'être nounou ? » Premièrement, devenir nounou **N'EST PAS** une "mérite" d'être nounou ? » Premièrement, devenir nounou **N'EST PAS** une
question de compétence. Pas besoin de connaître l'infrastructure par cœur, tous question de compétence. Pas besoin de connaître l'infrastructure par cœur, tous
les fichiers de conf, être un pro d'apt, d'ansible et de la couche 2. Tout ce les fichiers de conf, être un pro d'apt, d'ansible et de la couche 2. Tout ce
qu'on attend d'une nouvelle nounou c'est d'être capable de ne pas faire qu'on attend d'une nouvelle nounou c'est d'être capable de ne pas faire
n'importe quoi avec ces droits. Devenir nounou ce n'est pas avoir fini son n'importe quoi avec ces droits. Devenir nounou ce n'est pas avoir fini son
apprentissage mais bien la deuxième étape de celui-ci où on commence à mettre apprentissage mais bien la deuxième étape de celui-ci où on commence à mettre
les mains dans le camboui. Et ça ça présuppose seulement qu'on va pas causer du les mains dans le camboui. Et ça ça présuppose seulement qu'on va pas causer du
tort en utilisant ces droits. tort en utilisant ces droits.
Détaillons les un peu ces droits, ce qu'il permette de faire et qu'est ce qu'on Détaillons les un peu ces droits, ce qu'il permette de faire et qu'est ce qu'on
entends par « causer du tort ». En devenant nounou, vous débloquez les accès à entends par « causer du tort ». En devenant nounou, vous débloquez les accès à
toute l'infrastructure. Techniquement, il n'y a plus de fichiers que vous ne toute l'infrastructure. Techniquement, il n'y a plus de fichiers que vous ne
pouvez pas voir, modifier ou supprimer et ce sur toutes les machines du crans. pouvez pas voir, modifier ou supprimer et ce sur toutes les machines du crans.
De même, on chiffre pour vous tous les mots de passe qui ont trait au technique De même, on chiffre pour vous tous les mots de passe qui ont trait au technique
du crans. Ce sont des droits très extensifs. D'où la possibilité de faire une du crans. Ce sont des droits très extensifs. D'où la possibilité de faire une
erreur de manipulation. Normalement tout est fait dans l'infrastructure pour erreur de manipulation. Normalement tout est fait dans l'infrastructure pour
limiter la casse possible. On a de la redondance où c'est possible et limiter la casse possible. On a de la redondance où c'est possible et
nécessaire, on fait des backups quotidiennes à la fois des données utilisateurs nécessaire, on fait des backups quotidiennes à la fois des données utilisateurs
mais aussi des données d'administration. Cependant, tout ça ne change pas le mais aussi des données d'administration. Cependant, tout ça ne change pas le
fait qu'une mauvaise commande rentrée dans votre shell peut rendre le fait qu'une mauvaise commande rentrée dans votre shell peut rendre le
crans hors ligne pour quelques heures ou supprimer de manière irreversible des crans hors ligne pour quelques heures ou supprimer de manière irreversible des
données. Quand vous devenez nounou, on vous fait confiance pour éviter ce genre données. Quand vous devenez nounou, on vous fait confiance pour éviter ce genre
de choses au maximum. Après les erreurs ça arrive toujours. La personne qui de choses au maximum. Après les erreurs ça arrive toujours. La personne qui
écrit ces lignes en a fait un certain nombre avec des conséquences diverses écrit ces lignes en a fait un certain nombre avec des conséquences diverses
qui compte ce n'est pas de ne pas en faire du tout, c'est d'en faire peu, qui compte ce n'est pas de ne pas en faire du tout, c'est d'en faire peu,
d'apprendre de celle ci et de s'assurer qu'elles ne sont pas irreversible. d'apprendre de celle ci et de s'assurer qu'elles ne sont pas irreversible.
Il y a aussi quelque chose qu'il faut souligner. Et normalement quand vous Il y a aussi quelque chose qu'il faut souligner. Et normalement quand vous
deviendrez nounou vous allez le voir assez fréquement (à chaque fois que vous deviendrez nounou vous allez le voir assez fréquement (à chaque fois que vous
faîtes un sudo pour la première fois sur une machine) : faîtes un sudo pour la première fois sur une machine) :
``` ```
We trust you have received the usual lecture from the local System We trust you have received the usual lecture from the local System
@ -44,93 +44,93 @@ Administrator. It usually boils down to these three things:
#2) Think before you type. #2) Think before you type.
#3) With great power comes great responsibility. #3) With great power comes great responsibility.
``` ```
Ce court texte résume bien ce que je veux aborder ici. Les droits que vous vous Ce court texte résume bien ce que je veux aborder ici. Les droits que vous vous
voyez confier sont une intrusion phénoménale dans la vie privée des gens. Si voyez confier sont une intrusion phénoménale dans la vie privée des gens. Si
vous voulez une métaphore, vous pouvez voir ça comme si les adhérent⋅es du crans vous voulez une métaphore, vous pouvez voir ça comme si les adhérent⋅es du crans
vous avait donné la clé de leur maison pour que vous puissiez réparer quand il y vous avait donné la clé de leur maison pour que vous puissiez réparer quand il y
a une fuite d'eau, mais pas pour que vous fouillez dans le bureau pour voir leur a une fuite d'eau, mais pas pour que vous fouillez dans le bureau pour voir leur
papier. Beaucoup de nos adhérent⋅es utilisent les outils qu'on met à leur papier. Beaucoup de nos adhérent⋅es utilisent les outils qu'on met à leur
disposition pour organiser une partie de leur vie, que ce soit d'utiliser disposition pour organiser une partie de leur vie, que ce soit d'utiliser
l'adresse mail qui leur est fournie ou stocker des données dans leur owncloud, l'adresse mail qui leur est fournie ou stocker des données dans leur owncloud,
et nous en sommes très heureux⋅ses. La charte que vous avez signé en devenant et nous en sommes très heureux⋅ses. La charte que vous avez signé en devenant
apprenti⋅e mentionne déjà ces problématiques mais il est important que ce soit apprenti⋅e mentionne déjà ces problématiques mais il est important que ce soit
très clair. **Vous ne pouvez consulter ou diffuser les données personnelles très clair. **Vous ne pouvez consulter ou diffuser les données personnelles
d'un⋅e adhérent⋅e qu'avec son consentement explicite.** On a parfois tendance à d'un⋅e adhérent⋅e qu'avec son consentement explicite.** On a parfois tendance à
l'ENS à faire des abus de droits une blague, ce n'est pas le cas au crans ! l'ENS à faire des abus de droits une blague, ce n'est pas le cas au crans !
Bon maintenant que ces clarifications et rappels ont été faits, on va pour Bon maintenant que ces clarifications et rappels ont été faits, on va pour
passer aux choses plus intéréssantes: comment on se donne ces droits (et dans la passer aux choses plus intéréssantes: comment on se donne ces droits (et dans la
marge, comment on se les retire) ? marge, comment on se les retire) ?
## Rentre dans le cercle ## Rentre dans le cercle
Le groupe des superadministrateurs au crans est le groupe nounou. On va donc Le groupe des superadministrateurs au crans est le groupe nounou. On va donc
faire un petit tour dans le ldap et sous ou=groups,cn=_nounou on rajoute les faire un petit tour dans le ldap et sous ou=groups,cn=_nounou on rajoute les
uids correspondant au⋅x personne⋅s qu'on souhaite ajouter. Voilà, vous avez uids correspondant au⋅x personne⋅s qu'on souhaite ajouter. Voilà, vous avez
normalement:tm: les accès roots sur toutes les machines du crans. Cependant, normalement:tm: les accès roots sur toutes les machines du crans. Cependant,
vous allez peut-être constater qu'il y a certaines machines où cela ne vous allez peut-être constater qu'il y a certaines machines où cela ne
fonctionne pas. C'est sûrement dû à ces ~~conneries~~ de replicat ldap. Il faut fonctionne pas. C'est sûrement dû à ces ~~conneries~~ de replicat ldap. Il faut
à ce moment là aller faire un tour dessus pour forcer la resynchro (c.f. à ce moment là aller faire un tour dessus pour forcer la resynchro (c.f.
`tools/ldap.md`). `tools/ldap.md`).
## Give me the password ## Give me the password
Vous avez *50* nouveaux mot de passes. Il est maintenant nécessaire de Vous avez *50* nouveaux mot de passes. Il est maintenant nécessaire de
rechiffrer le pass pour vous. C'est un peu chiant mais on s'y fait. Voilà la rechiffrer le pass pour vous. C'est un peu chiant mais on s'y fait. Voilà la
procédure: procédure:
1. On se souvient du hash de commit courant : 1. On se souvient du hash de commit courant :
`HASH=$(git rev-parse HEAD)` `HASH=$(git rev-parse HEAD)`
1. On ajoute toutes les personnes concernées dans le groupe nounou dans le 1. On ajoute toutes les personnes concernées dans le groupe nounou dans le
fichier `.groups.yml` du store et on commit ces changements `git commit -m fichier `.groups.yml` du store et on commit ces changements `git commit -m
toto1234`. toto1234`.
1. On rechiffre tous les fichiers à rechiffrer 1. On rechiffre tous les fichiers à rechiffrer
`cat .last_group.json | jq -r '. | with_entries( select(.value | any( .== `cat .last_group.json | jq -r '. | with_entries( select(.value | any( .==
"nounou"))) | keys[]' | while read passfile; do pass crans reencrypt "nounou"))) | keys[]' | while read passfile; do pass crans reencrypt
$passfile; done` $passfile; done`
1. On supprime tous les commits inutiles : 1. On supprime tous les commits inutiles :
`git reset --soft $HASH; git commit -m 'Coucou les copains'` `git reset --soft $HASH; git commit -m 'Coucou les copains'`
1. On vérifie que ça marche et on push :) 1. On vérifie que ça marche et on push :)
Petit point pour quand on retire des droits au gens. Là où pour tous les autres Petit point pour quand on retire des droits au gens. Là où pour tous les autres
droits, quand vous les retirez à quelqu'un⋅e bah iel les a plus, ce n'est pas le droits, quand vous les retirez à quelqu'un⋅e bah iel les a plus, ce n'est pas le
cas pour les mots de passe. Il reste dans l'historique de git un moment où la cas pour les mots de passe. Il reste dans l'historique de git un moment où la
personne qui perds ces droits à toujours les mots de passes chiffrées pour elle. personne qui perds ces droits à toujours les mots de passes chiffrées pour elle.
On choisit généralement de s'en tamponner l'oreille avec une babouche. On choisit généralement de s'en tamponner l'oreille avec une babouche.
Cependant, il peut y avoir certains moments où on veut effectivement retirer Cependant, il peut y avoir certains moments où on veut effectivement retirer
complètement à quelqu'un⋅e la possibilité d'utiliser un mot de passe. Dans ce complètement à quelqu'un⋅e la possibilité d'utiliser un mot de passe. Dans ce
cas il faut le changer :( cas il faut le changer :(
## Thank you for your services ## Thank you for your services
Au crans on a **plein** de services. Certains sont gentils et écoutent Au crans on a **plein** de services. Certains sont gentils et écoutent
directement le ldap pour savoir qui a des droits, d'autres s'en foutent et ils directement le ldap pour savoir qui a des droits, d'autres s'en foutent et ils
faut se rajouter dans les admins à la main. Petite liste ci dessous. faut se rajouter dans les admins à la main. Petite liste ci dessous.
### Gitlab ### Gitlab
Il faut aller dans la zone d'administration, puis dans la liste Il faut aller dans la zone d'administration, puis dans la liste
d'utilisateur⋅ices et changez le profil de l'utilisateur⋅ice de regular à admin. d'utilisateur⋅ices et changez le profil de l'utilisateur⋅ice de regular à admin.
### Horde ### Horde
Si le service existe encore (ce que je ne vous souhaite pas), il faut aller Si le service existe encore (ce que je ne vous souhaite pas), il faut aller
faire un tour dans la configuration dans `/etc/horde/horde/config.php` et faire un tour dans la configuration dans `/etc/horde/horde/config.php` et
rajouter son login ldap **adhérents** à la liste. rajouter son login ldap **adhérents** à la liste.
### Mailman ### Mailman
Il faut se connecter normalement au logiciel, puis allez dans la section admin Il faut se connecter normalement au logiciel, puis allez dans la section admin
https://lists.crans.org/admin, dans la sous page utilisateur⋅ices, on peut https://lists.crans.org/admin, dans la sous page utilisateur⋅ices, on peut
rechercher les personnes concernées pour leur donner les deux statuts admin rechercher les personnes concernées pour leur donner les deux statuts admin
(accès à la zone d'administration) et superutilisateur (bypass tous les checks (accès à la zone d'administration) et superutilisateur (bypass tous les checks
de droits). de droits).
### Owncloud ### Owncloud
Il faut aller dans la zone d'administration et rajouter les utilisateur⋅icess au Il faut aller dans la zone d'administration et rajouter les utilisateur⋅icess au
groupe d'administration. groupe d'administration.
### Re2o ### Re2o
Oh lad, j'espère que ça aussi ça existe plus. Il faut aller dans la section Oh lad, j'espère que ça aussi ça existe plus. Il faut aller dans la section
gestion des groupes et rajouter les personnes aux groupes nounous et au groupe gestion des groupes et rajouter les personnes aux groupes nounous et au groupe
superutilisateur. superutilisateur.
### Kiwi ### Kiwi
On edite le fichier de conf du wiki sous `/etc/moin/mywiki.py` et on rajoute son On edite le fichier de conf du wiki sous `/etc/moin/mywiki.py` et on rajoute son
compte wiki dans la liste des administrateurs. compte wiki dans la liste des administrateurs.
### IRC ### IRC
@ -147,10 +147,10 @@ On édite le fichier `/etc/inspircd/opers.conf` pour rajouter un bloc suivant
autologin="on" autologin="on"
> >
``` ```
Où le hash du mot de passe peut être obtenu en envoyant `/quote mkpasswd Où le hash du mot de passe peut être obtenu en envoyant `/quote mkpasswd
hmac-sha256 <password>`. Pour rendre les changements effectifs on reload le hmac-sha256 <password>`. Pour rendre les changements effectifs on reload le
service inspircd (tips, la manière la plus rapide de perdre ses droits est de service inspircd (tips, la manière la plus rapide de perdre ses droits est de
restart le serveur plutôt que de le reload ^^). restart le serveur plutôt que de le reload ^^).
Voilà, tu as maintenant gagné le droit de t'ajouter ou de te retirer de Voilà, tu as maintenant gagné le droit de t'ajouter ou de te retirer de
https://wiki.crans.org/CransNounous ! https://wiki.crans.org/CransNounous !