parent
ba7f565d23
commit
d6c9aaf6cd
|
@ -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 !
|
||||||
|
|
Loading…
Reference in New Issue