Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour...
Transcript of Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour...
![Page 2: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/2.jpg)
Disclaimer
sysadmin#6 Gestion de services sous Unix 2 of 16
![Page 3: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/3.jpg)
L’arlésienne
systemdrcNG
SMF
OpenRC
launchdrelaunchd
daemontools
rc
watchman
svceINIT SysVinit
SystemXVInoshupstart monit
Epoch
finitRunit
initngminit
sinitninit
perp
sparkrc
supervisor
circus
Shepherd
procd DEMONS
sysadmin#6 Gestion de services sous Unix 3 of 16
![Page 4: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/4.jpg)
Il était une fois init(8)
▶ petit mais costaud
▶ I’m your father(c)(tm)▶ laisse la main a d’autres pour la gestion des services... presque
▶ /etc/inittab▶ /etc/ttys
▶ Généralement des scripts shell▶ SysVinit▶ rcNG▶ rc
sysadmin#6 Gestion de services sous Unix 4 of 16
![Page 5: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/5.jpg)
Il était une fois init(8)
▶ petit mais costaud▶ I’m your father(c)(tm)
▶ laisse la main a d’autres pour la gestion des services... presque▶ /etc/inittab▶ /etc/ttys
▶ Généralement des scripts shell▶ SysVinit▶ rcNG▶ rc
sysadmin#6 Gestion de services sous Unix 4 of 16
![Page 6: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/6.jpg)
Il était une fois init(8)
▶ petit mais costaud▶ I’m your father(c)(tm)▶ laisse la main a d’autres pour la gestion des services...
presque▶ /etc/inittab▶ /etc/ttys
▶ Généralement des scripts shell▶ SysVinit▶ rcNG▶ rc
sysadmin#6 Gestion de services sous Unix 4 of 16
![Page 7: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/7.jpg)
Il était une fois init(8)
▶ petit mais costaud▶ I’m your father(c)(tm)▶ laisse la main a d’autres pour la gestion des services... presque
▶ /etc/inittab▶ /etc/ttys
▶ Généralement des scripts shell▶ SysVinit▶ rcNG▶ rc
sysadmin#6 Gestion de services sous Unix 4 of 16
![Page 8: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/8.jpg)
Il était une fois init(8)
▶ petit mais costaud▶ I’m your father(c)(tm)▶ laisse la main a d’autres pour la gestion des services... presque
▶ /etc/inittab▶ /etc/ttys
▶ Généralement des scripts shell▶ SysVinit▶ rcNG▶ rc
sysadmin#6 Gestion de services sous Unix 4 of 16
![Page 9: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/9.jpg)
Il était une fois init(8)
▶ petit mais costaud▶ I’m your father(c)(tm)▶ laisse la main a d’autres pour la gestion des services... presque
▶ /etc/inittab▶ /etc/ttys
▶ Généralement des scripts shell▶ SysVinit▶ rcNG▶ rc
sysadmin#6 Gestion de services sous Unix 4 of 16
![Page 10: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/10.jpg)
Alors pourquoi tout ce bordel?
▶ trop naïf▶ framework complexes▶ cohérence compliquée▶ gestion de ressource complexe▶ peu réactif
sysadmin#6 Gestion de services sous Unix 5 of 16
![Page 11: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/11.jpg)
Alors pourquoi tout ce bordel?
▶ trop naïf
▶ framework complexes▶ cohérence compliquée▶ gestion de ressource complexe▶ peu réactif
sysadmin#6 Gestion de services sous Unix 5 of 16
![Page 12: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/12.jpg)
Alors pourquoi tout ce bordel?
▶ trop naïf▶ framework complexes
▶ cohérence compliquée▶ gestion de ressource complexe▶ peu réactif
sysadmin#6 Gestion de services sous Unix 5 of 16
![Page 13: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/13.jpg)
Alors pourquoi tout ce bordel?
▶ trop naïf▶ framework complexes▶ cohérence compliquée
▶ gestion de ressource complexe▶ peu réactif
sysadmin#6 Gestion de services sous Unix 5 of 16
![Page 14: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/14.jpg)
Alors pourquoi tout ce bordel?
▶ trop naïf▶ framework complexes▶ cohérence compliquée▶ gestion de ressource complexe
▶ peu réactif
sysadmin#6 Gestion de services sous Unix 5 of 16
![Page 15: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/15.jpg)
Alors pourquoi tout ce bordel?
▶ trop naïf▶ framework complexes▶ cohérence compliquée▶ gestion de ressource complexe▶ peu réactif
sysadmin#6 Gestion de services sous Unix 5 of 16
![Page 16: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/16.jpg)
Trop naïf
▶ ne peut superviser qu’un process simple (via son pid)▶ perdu si double fork▶ interactions limitées▶ gestion de dépendance faible
sysadmin#6 Gestion de services sous Unix 6 of 16
![Page 17: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/17.jpg)
Trop naïf
▶ ne peut superviser qu’un process simple (via son pid)
▶ perdu si double fork▶ interactions limitées▶ gestion de dépendance faible
sysadmin#6 Gestion de services sous Unix 6 of 16
![Page 18: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/18.jpg)
Trop naïf
▶ ne peut superviser qu’un process simple (via son pid)▶ perdu si double fork
▶ interactions limitées▶ gestion de dépendance faible
sysadmin#6 Gestion de services sous Unix 6 of 16
![Page 19: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/19.jpg)
Trop naïf
▶ ne peut superviser qu’un process simple (via son pid)▶ perdu si double fork▶ interactions limitées
▶ gestion de dépendance faible
sysadmin#6 Gestion de services sous Unix 6 of 16
![Page 20: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/20.jpg)
Trop naïf
▶ ne peut superviser qu’un process simple (via son pid)▶ perdu si double fork▶ interactions limitées▶ gestion de dépendance faible
sysadmin#6 Gestion de services sous Unix 6 of 16
![Page 21: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/21.jpg)
Framework complexes
▶ généralement en shell▶ complexe à isoler (cf commande service(8))▶ complexe à garder une cohérence entre les scripts d’init▶ complexe d’intégrer les systèmes de gestion de ressources▶ souvent inefficace (performances)▶ pas de mécanismes de surveillance de processus▶ peu de contrôle sur les processus (double fork)▶ fiabilité aléatoire du statut
sysadmin#6 Gestion de services sous Unix 7 of 16
![Page 22: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/22.jpg)
Framework complexes
▶ généralement en shell
▶ complexe à isoler (cf commande service(8))▶ complexe à garder une cohérence entre les scripts d’init▶ complexe d’intégrer les systèmes de gestion de ressources▶ souvent inefficace (performances)▶ pas de mécanismes de surveillance de processus▶ peu de contrôle sur les processus (double fork)▶ fiabilité aléatoire du statut
sysadmin#6 Gestion de services sous Unix 7 of 16
![Page 23: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/23.jpg)
Framework complexes
▶ généralement en shell▶ complexe à isoler (cf commande service(8))
▶ complexe à garder une cohérence entre les scripts d’init▶ complexe d’intégrer les systèmes de gestion de ressources▶ souvent inefficace (performances)▶ pas de mécanismes de surveillance de processus▶ peu de contrôle sur les processus (double fork)▶ fiabilité aléatoire du statut
sysadmin#6 Gestion de services sous Unix 7 of 16
![Page 24: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/24.jpg)
Framework complexes
▶ généralement en shell▶ complexe à isoler (cf commande service(8))▶ complexe à garder une cohérence entre les scripts d’init
▶ complexe d’intégrer les systèmes de gestion de ressources▶ souvent inefficace (performances)▶ pas de mécanismes de surveillance de processus▶ peu de contrôle sur les processus (double fork)▶ fiabilité aléatoire du statut
sysadmin#6 Gestion de services sous Unix 7 of 16
![Page 25: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/25.jpg)
Framework complexes
▶ généralement en shell▶ complexe à isoler (cf commande service(8))▶ complexe à garder une cohérence entre les scripts d’init▶ complexe d’intégrer les systèmes de gestion de ressources
▶ souvent inefficace (performances)▶ pas de mécanismes de surveillance de processus▶ peu de contrôle sur les processus (double fork)▶ fiabilité aléatoire du statut
sysadmin#6 Gestion de services sous Unix 7 of 16
![Page 26: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/26.jpg)
Framework complexes
▶ généralement en shell▶ complexe à isoler (cf commande service(8))▶ complexe à garder une cohérence entre les scripts d’init▶ complexe d’intégrer les systèmes de gestion de ressources▶ souvent inefficace (performances)
▶ pas de mécanismes de surveillance de processus▶ peu de contrôle sur les processus (double fork)▶ fiabilité aléatoire du statut
sysadmin#6 Gestion de services sous Unix 7 of 16
![Page 27: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/27.jpg)
Framework complexes
▶ généralement en shell▶ complexe à isoler (cf commande service(8))▶ complexe à garder une cohérence entre les scripts d’init▶ complexe d’intégrer les systèmes de gestion de ressources▶ souvent inefficace (performances)▶ pas de mécanismes de surveillance de processus
▶ peu de contrôle sur les processus (double fork)▶ fiabilité aléatoire du statut
sysadmin#6 Gestion de services sous Unix 7 of 16
![Page 28: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/28.jpg)
Framework complexes
▶ généralement en shell▶ complexe à isoler (cf commande service(8))▶ complexe à garder une cohérence entre les scripts d’init▶ complexe d’intégrer les systèmes de gestion de ressources▶ souvent inefficace (performances)▶ pas de mécanismes de surveillance de processus▶ peu de contrôle sur les processus (double fork)
▶ fiabilité aléatoire du statut
sysadmin#6 Gestion de services sous Unix 7 of 16
![Page 29: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/29.jpg)
Framework complexes
▶ généralement en shell▶ complexe à isoler (cf commande service(8))▶ complexe à garder une cohérence entre les scripts d’init▶ complexe d’intégrer les systèmes de gestion de ressources▶ souvent inefficace (performances)▶ pas de mécanismes de surveillance de processus▶ peu de contrôle sur les processus (double fork)▶ fiabilité aléatoire du statut
sysadmin#6 Gestion de services sous Unix 7 of 16
![Page 30: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/30.jpg)
Réactivité
▶ gestion événementielle forcément externe (cron, udev/devd,inetd)
▶ duplication de la gestion des services▶ incohérence dans la gestion des services
▶ gestion événementielle souvent peu réactive: latence entrel’arrivée de l’évènement et l’action
▶ fault management absent
sysadmin#6 Gestion de services sous Unix 8 of 16
![Page 31: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/31.jpg)
Réactivité
▶ gestion événementielle forcément externe (cron, udev/devd,inetd)
▶ duplication de la gestion des services▶ incohérence dans la gestion des services
▶ gestion événementielle souvent peu réactive: latence entrel’arrivée de l’évènement et l’action
▶ fault management absent
sysadmin#6 Gestion de services sous Unix 8 of 16
![Page 32: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/32.jpg)
Réactivité
▶ gestion événementielle forcément externe (cron, udev/devd,inetd)
▶ duplication de la gestion des services▶ incohérence dans la gestion des services
▶ gestion événementielle souvent peu réactive: latence entrel’arrivée de l’évènement et l’action
▶ fault management absent
sysadmin#6 Gestion de services sous Unix 8 of 16
![Page 33: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/33.jpg)
Réactivité
▶ gestion événementielle forcément externe (cron, udev/devd,inetd)
▶ duplication de la gestion des services▶ incohérence dans la gestion des services
▶ gestion événementielle souvent peu réactive: latence entrel’arrivée de l’évènement et l’action
▶ fault management absent
sysadmin#6 Gestion de services sous Unix 8 of 16
![Page 34: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/34.jpg)
Réactivité
▶ gestion événementielle forcément externe (cron, udev/devd,inetd)
▶ duplication de la gestion des services▶ incohérence dans la gestion des services
▶ gestion événementielle souvent peu réactive: latence entrel’arrivée de l’évènement et l’action
▶ fault management absent
sysadmin#6 Gestion de services sous Unix 8 of 16
![Page 35: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/35.jpg)
D’autre soucis: pas simple d’être un bon daemoniste
▶ utiliser setuid(2), setgid(2) ET setgroup(2) (Vérifier quel’opération c’est réellement effectuée)
▶ toujours faire un chdir(2) après un chroot(2) (Vérifier leur bonfonctionnement)
▶ configurer de manière portable les setrlimit(2)▶ utiliser les mécanismes OS spécifiques de sandboxing
sysadmin#6 Gestion de services sous Unix 9 of 16
![Page 36: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/36.jpg)
D’autre soucis: pas simple d’être un bon daemoniste
▶ utiliser setuid(2), setgid(2) ET setgroup(2) (Vérifier quel’opération c’est réellement effectuée)
▶ toujours faire un chdir(2) après un chroot(2) (Vérifier leur bonfonctionnement)
▶ configurer de manière portable les setrlimit(2)▶ utiliser les mécanismes OS spécifiques de sandboxing
sysadmin#6 Gestion de services sous Unix 9 of 16
![Page 37: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/37.jpg)
D’autre soucis: pas simple d’être un bon daemoniste
▶ utiliser setuid(2), setgid(2) ET setgroup(2) (Vérifier quel’opération c’est réellement effectuée)
▶ toujours faire un chdir(2) après un chroot(2) (Vérifier leur bonfonctionnement)
▶ configurer de manière portable les setrlimit(2)▶ utiliser les mécanismes OS spécifiques de sandboxing
sysadmin#6 Gestion de services sous Unix 9 of 16
![Page 38: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/38.jpg)
D’autre soucis: pas simple d’être un bon daemoniste
▶ utiliser setuid(2), setgid(2) ET setgroup(2) (Vérifier quel’opération c’est réellement effectuée)
▶ toujours faire un chdir(2) après un chroot(2) (Vérifier leur bonfonctionnement)
▶ configurer de manière portable les setrlimit(2)
▶ utiliser les mécanismes OS spécifiques de sandboxing
sysadmin#6 Gestion de services sous Unix 9 of 16
![Page 39: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/39.jpg)
D’autre soucis: pas simple d’être un bon daemoniste
▶ utiliser setuid(2), setgid(2) ET setgroup(2) (Vérifier quel’opération c’est réellement effectuée)
▶ toujours faire un chdir(2) après un chroot(2) (Vérifier leur bonfonctionnement)
▶ configurer de manière portable les setrlimit(2)▶ utiliser les mécanismes OS spécifiques de sandboxing
sysadmin#6 Gestion de services sous Unix 9 of 16
![Page 40: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/40.jpg)
Le problème des PIDs
▶ concept "racy"▶ services avec multiple workers hors de contrôle :
▶ les fils qui échappent à la surveillance des parents▶ les parents laxistes qui abandonnent leurs enfants
sysadmin#6 Gestion de services sous Unix 10 of 16
![Page 41: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/41.jpg)
Le problème des PIDs
▶ concept "racy"
▶ services avec multiple workers hors de contrôle :▶ les fils qui échappent à la surveillance des parents▶ les parents laxistes qui abandonnent leurs enfants
sysadmin#6 Gestion de services sous Unix 10 of 16
![Page 42: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/42.jpg)
Le problème des PIDs
▶ concept "racy"▶ services avec multiple workers hors de contrôle :
▶ les fils qui échappent à la surveillance des parents▶ les parents laxistes qui abandonnent leurs enfants
sysadmin#6 Gestion de services sous Unix 10 of 16
![Page 43: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/43.jpg)
Ça manque de sucre un peu tout ça
▶ y a des trous dans ma syslog :(▶ c’est pas très parallèle tout ça▶ comment je m’assure que ça marche?
sysadmin#6 Gestion de services sous Unix 11 of 16
![Page 44: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/44.jpg)
Des solutions possibles?
▶ Pour les PIDs :
▶ process descriptors (pas suffisant) (Linux 4.1, FreeBSD 10.0)▶ les reapers (Linux 3.4, FreeBSD 10.2, Dragonfly 4.0, Solaris
10)
▶ Gérer les ressources le sandboxing et la daemonisation via degénération de services
▶ La réactivité : faire communiquer nativement les différentscomposants
▶ La complexité : décrire au maximum les services via desformat de description
sysadmin#6 Gestion de services sous Unix 12 of 16
![Page 45: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/45.jpg)
Des solutions possibles?
▶ Pour les PIDs :▶ process descriptors (pas suffisant) (Linux 4.1, FreeBSD 10.0)
▶ les reapers (Linux 3.4, FreeBSD 10.2, Dragonfly 4.0, Solaris10)
▶ Gérer les ressources le sandboxing et la daemonisation via degénération de services
▶ La réactivité : faire communiquer nativement les différentscomposants
▶ La complexité : décrire au maximum les services via desformat de description
sysadmin#6 Gestion de services sous Unix 12 of 16
![Page 46: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/46.jpg)
Des solutions possibles?
▶ Pour les PIDs :▶ process descriptors (pas suffisant) (Linux 4.1, FreeBSD 10.0)▶ les reapers (Linux 3.4, FreeBSD 10.2, Dragonfly 4.0, Solaris
10)
▶ Gérer les ressources le sandboxing et la daemonisation via degénération de services
▶ La réactivité : faire communiquer nativement les différentscomposants
▶ La complexité : décrire au maximum les services via desformat de description
sysadmin#6 Gestion de services sous Unix 12 of 16
![Page 47: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/47.jpg)
Des solutions possibles?
▶ Pour les PIDs :▶ process descriptors (pas suffisant) (Linux 4.1, FreeBSD 10.0)▶ les reapers (Linux 3.4, FreeBSD 10.2, Dragonfly 4.0, Solaris
10)
▶ Gérer les ressources le sandboxing et la daemonisation via degénération de services
▶ La réactivité : faire communiquer nativement les différentscomposants
▶ La complexité : décrire au maximum les services via desformat de description
sysadmin#6 Gestion de services sous Unix 12 of 16
![Page 48: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/48.jpg)
Des solutions possibles?
▶ Pour les PIDs :▶ process descriptors (pas suffisant) (Linux 4.1, FreeBSD 10.0)▶ les reapers (Linux 3.4, FreeBSD 10.2, Dragonfly 4.0, Solaris
10)
▶ Gérer les ressources le sandboxing et la daemonisation via degénération de services
▶ La réactivité : faire communiquer nativement les différentscomposants
▶ La complexité : décrire au maximum les services via desformat de description
sysadmin#6 Gestion de services sous Unix 12 of 16
![Page 49: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/49.jpg)
Des solutions possibles?
▶ Pour les PIDs :▶ process descriptors (pas suffisant) (Linux 4.1, FreeBSD 10.0)▶ les reapers (Linux 3.4, FreeBSD 10.2, Dragonfly 4.0, Solaris
10)
▶ Gérer les ressources le sandboxing et la daemonisation via degénération de services
▶ La réactivité : faire communiquer nativement les différentscomposants
▶ La complexité : décrire au maximum les services via desformat de description
sysadmin#6 Gestion de services sous Unix 12 of 16
![Page 50: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/50.jpg)
Et un peu de sucre en poudre
▶ Préparer les sockets :▶ aide à la parallélisation▶ simplifie la séparation de privilèges▶ aide à la robustesse
▶ utiliser un IPC:▶ limite la duplication de code▶ permet la séparation des tâches (KISS)
sysadmin#6 Gestion de services sous Unix 13 of 16
![Page 51: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/51.jpg)
Et un peu de sucre en poudre
▶ Préparer les sockets :▶ aide à la parallélisation▶ simplifie la séparation de privilèges▶ aide à la robustesse
▶ utiliser un IPC:▶ limite la duplication de code▶ permet la séparation des tâches (KISS)
sysadmin#6 Gestion de services sous Unix 13 of 16
![Page 52: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/52.jpg)
Et un peu de sucre en poudre
▶ Préparer les sockets :▶ aide à la parallélisation▶ simplifie la séparation de privilèges▶ aide à la robustesse
▶ utiliser un IPC:▶ limite la duplication de code▶ permet la séparation des tâches (KISS)
sysadmin#6 Gestion de services sous Unix 13 of 16
![Page 53: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/53.jpg)
Oui mais...
▶ Faut il remplacer init(8) ? pas nécessairement▶ Un des systèmes existant permet il corrige t il tout ça ? NON▶ Un des systèmes adresse t il les problèmes majeures ? OUI▶ Allez lequel ?
SMFmais over engineer :(
sysadmin#6 Gestion de services sous Unix 14 of 16
![Page 54: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/54.jpg)
Oui mais...
▶ Faut il remplacer init(8) ?
pas nécessairement▶ Un des systèmes existant permet il corrige t il tout ça ? NON▶ Un des systèmes adresse t il les problèmes majeures ? OUI▶ Allez lequel ?
SMFmais over engineer :(
sysadmin#6 Gestion de services sous Unix 14 of 16
![Page 55: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/55.jpg)
Oui mais...
▶ Faut il remplacer init(8) ? pas nécessairement
▶ Un des systèmes existant permet il corrige t il tout ça ? NON▶ Un des systèmes adresse t il les problèmes majeures ? OUI▶ Allez lequel ?
SMFmais over engineer :(
sysadmin#6 Gestion de services sous Unix 14 of 16
![Page 56: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/56.jpg)
Oui mais...
▶ Faut il remplacer init(8) ? pas nécessairement▶ Un des systèmes existant permet il corrige t il tout ça ?
NON▶ Un des systèmes adresse t il les problèmes majeures ? OUI▶ Allez lequel ?
SMFmais over engineer :(
sysadmin#6 Gestion de services sous Unix 14 of 16
![Page 57: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/57.jpg)
Oui mais...
▶ Faut il remplacer init(8) ? pas nécessairement▶ Un des systèmes existant permet il corrige t il tout ça ? NON
▶ Un des systèmes adresse t il les problèmes majeures ? OUI▶ Allez lequel ?
SMFmais over engineer :(
sysadmin#6 Gestion de services sous Unix 14 of 16
![Page 58: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/58.jpg)
Oui mais...
▶ Faut il remplacer init(8) ? pas nécessairement▶ Un des systèmes existant permet il corrige t il tout ça ? NON▶ Un des systèmes adresse t il les problèmes majeures ?
OUI▶ Allez lequel ?
SMFmais over engineer :(
sysadmin#6 Gestion de services sous Unix 14 of 16
![Page 59: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/59.jpg)
Oui mais...
▶ Faut il remplacer init(8) ? pas nécessairement▶ Un des systèmes existant permet il corrige t il tout ça ? NON▶ Un des systèmes adresse t il les problèmes majeures ? OUI
▶ Allez lequel ?
SMFmais over engineer :(
sysadmin#6 Gestion de services sous Unix 14 of 16
![Page 60: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/60.jpg)
Oui mais...
▶ Faut il remplacer init(8) ? pas nécessairement▶ Un des systèmes existant permet il corrige t il tout ça ? NON▶ Un des systèmes adresse t il les problèmes majeures ? OUI▶ Allez lequel ?
SMFmais over engineer :(
sysadmin#6 Gestion de services sous Unix 14 of 16
![Page 61: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/61.jpg)
Oui mais...
▶ Faut il remplacer init(8) ? pas nécessairement▶ Un des systèmes existant permet il corrige t il tout ça ? NON▶ Un des systèmes adresse t il les problèmes majeures ? OUI▶ Allez lequel ?
SMF
mais over engineer :(
sysadmin#6 Gestion de services sous Unix 14 of 16
![Page 62: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/62.jpg)
Oui mais...
▶ Faut il remplacer init(8) ? pas nécessairement▶ Un des systèmes existant permet il corrige t il tout ça ? NON▶ Un des systèmes adresse t il les problèmes majeures ? OUI▶ Allez lequel ?
SMFmais over engineer :(
sysadmin#6 Gestion de services sous Unix 14 of 16
![Page 63: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/63.jpg)
Un peu de lecture
▶ Solaris Service Management Facility: Modern System Startupand Administration
▶ The Design and Implementation of the NetBSD rc.d system▶ Les commentaires de Paul Vixie dans do_command.c
sysadmin#6 Gestion de services sous Unix 15 of 16
![Page 64: Gestion de services sous Unix - FreeBSDbapt/gestion_service_unix.pdflaisse la main a d’autres pour la gestion des services... presque /etc/inittab /etc/ttys Généralement des scripts](https://reader034.fdocuments.net/reader034/viewer/2022042308/5ed4994c6894a01fe75def1f/html5/thumbnails/64.jpg)
Questions?
sysadmin#6 Gestion de services sous Unix 16 of 16