systemd
| systemd
| |
|---|---|
|
| |
| Grundlæggende data
| |
| Vedligeholder | Lennart Poettering , Kay Sievers ( Red Hat Inc.) |
| Udvikler | Lennart Poettering , Kay Sievers , Harald Hoyer |
| Forlagsår | 30. marts 2010 |
| Nuværende version |
249 ( 7. juli 2021 ) |
| operativ system | Linux |
| programmeringssprog | C. |
| kategori | Systemsoftware |
| Licens |
GNU LGPL 2.1+ ( gratis software ) |
| systemd.io | |
systemd er et baggrundsprogram ( dæmon ) til Linux -systemer, der bruges som en init -proces som den første proces ( proces -ID 1) til at starte, overvåge og afslutte yderligere processer. Det blev programmeret i C af Lennart Poettering , Kay Sievers ( Red Hat Inc.) og andre, og udgives som gratis software under GNU Lesser General Public License (LGPL).
Med det sidste "d" svarer navnet til det navngivningsskema, der er almindeligt for dæmoner: systemd er dæmonen, der starter og vedligeholder systemet.
historie
Ideerne og koncepterne for systemd stammer fra overvejelsen af allerede eksisterende, moderniserede init -systemer som f.eks. Lancering fra macOS og SMF ( Service Management Facility ) fra Solaris . Den blev udgivet den 10. april 2010. Distributioner, der bruger systemd som standard init service er Fedora fra version 15, openSUSE fra version 12.1, Mandriva 2011, Mageia fra version 2, Arch Linux siden oktober 2012, Red Hat Enterprise Linux fra version 7, Tizen og siduction fra version 2013.2, SUSE Linux Enterprise Server fra version 12, Ubuntu fra version 15.04 og Debian fra version 8.
Fra versionen indeholder 221 systemd sd-bus , en uafhængig D-Bus - programmering, der givet kompleksiteten mellem libdbus og GDBus er placeret. sd-bus understøtter både den klassiske dbus1 i brugerrummet og kdbus som backend og skal således muliggøre en problemfri overgang til interprocesskommunikation i kernen.
teknologi
Systemd er bagudkompatibel med SysVinit -scripts . Imidlertid bruges der bevidst funktioner, der kun er tilgængelige under Linux, men ikke på andre Unix-lignende operativsystemer . Det kan derfor kun køre på systemer med en Linux -kerne.
Det skulle gøre bedre retfærdighed over for processernes gensidige afhængigheder, føre til bedre udnyttelse ved systemstart gennem mere parallelisering og dermed forårsage færre forsinkelser end den ældre, klassiske SysVinit eller Upstart, som nu også er blevet opgivet af Ubuntu .
Det grundlæggende koncept for dette er at stort set starte alle processer på samme tid. For ikke at arbejde delvist med serialisering baseret på de gensidige afhængigheder af processerne, der er registreret i en model, som det er tilfældet med andre systemer, der grundlæggende er afhængige af parallelisering, leveres D-Bus- forbindelser og -stik til interprocesskommunikation før starten på den tilhørende service Alle meddelelser, der modtages af kernen, bufferes, indtil tjenesten er klar . Det samme gøres for anmodninger til filsystemer ved hjælp af autofs .
Derudover kan den kun starte lejlighedsvis nødvendige tjenester på et hændelsesbaseret grundlag, når det er påkrævet og dermed starte færre tjenester, når systemet startes. Det udfører således opgaver, som inetd udfører i klassiske Unix -systemer .
Desuden skal alle shell boot -scripts erstattes af deklarative konfigurationsfiler, der definerer, hvordan de respektive tjenester startes. Disse filer er normalt meget lettere at skrive end init -scripts og undgår den betydelige overhead af shell -scripts.
kritik
Systemd polariserer samfundet ekstremt stærkt. Dette fører til flammekrige og lortstorme fra tilhængere og modstandere, hvoraf nogle dog også er rettet mod udvikleren selv, især Poettering og Sievers. Diskussionen om, hvorvidt man skal fortsætte med at bruge SysVinit i Debian eller skifte til systemd eller et andet init -system, førte til tvister, der varede i flere måneder og til sidst til en afstemning ("General Resolution"), talrige fratrædelser og en gaffel under navnet Devuan .
Hovedpunktet i kritikken af systemd er dens påstand om at ville udføre væsentligt flere forskellige opgaver end den gamle SysVinit, hvilket gør det ret kompliceret og fejlbehæftet og også krænker Unix-filosofien (et program skal kun løse et problem, men det bør være så god som muligt). Mange udviklere udtrykte bekymring for, at systemd ville begrænse frihed og fleksibilitet ved at begrænse systemmiljøet for meget. Det er ofte blevet kritiseret, at systemd gemmer logfiler i binært format og ikke som simple tekstfiler . Et andet kritikpunkt er beslutningen om at udvikle systemd eksplicit til Linux kun. Det er gentagne gange blevet kritiseret, at udviklere har en tendens til at ignorere eller nægte programmeringsfejl. Devuan-udviklerne udtrykte bekymring over, at Debian og de andre større distributioner nu blev fanget af Red Hat i en "leverandør lock-in" .
Theodore Ts'o kritiserede det overdrevne fokus på Gnome - desktop -miljøet ; der er en risiko for, at mange systemkomponenter ikke længere fungerer med andre desktops. På lang sigt kan dette føre til fuldstændig ubrugelighed af andre desktops, hvis der ikke længere var noget alternativ til systemd. Devuan -udviklerne spekulerede i, at Gnome -projektet kunne overtage Debian på lang sigt. Linus Torvalds udtalte, at han ikke havde en fast mening om systemd; nogle egenskaber som binære logs er vanvittige, men det er detaljeringsspørgsmål og ikke grundlæggende problemer. Systemd -udviklerne har generelt en for generøs holdning til programfejl og kompatibilitetsproblemer. InfoWorld rapporterede, at systemudviklere ignorerede programmeringsfejl og lukkede fejlrapporter uden at rette fejlene, hvilket fik Torvalds til at udelukke Kay Sievers, en af de førende systemd -udviklere, fra kerneudvikling . Samlet set havde systemd splittet Linux -samfundet, hvilket ville skade Linux på lang sigt. I oktober 2013 beskrev Mark Shuttleworth systemd som "yderst invasiv og næppe berettiget". I slutningen af oktober 2015 rapporterede Slashdot , at BusyBox -udvikleren Denys Vlasenko havde fjernet systemd -support fra BusyBox. Vlasenko udtalte, at de ansvarlige for systemd er uvenlige over for resten af verden, så der er ingen grund til, at resten af verden samarbejder med dem. Linus Torvalds sagde i juli 2017 på Linux -kernel -mailinglisten "LKML.org", at han ikke længere kunne stole på, at "init" gjorde det rigtige.
Integration af Google -tjenester i koden
I september 2014 blev det annonceret, at en komponent i systemet i visse tilfælde DNS -Anfragen til Google - navneserver videresender uden administrator har indstillet det, hvilket førte til diskussioner om fortrolighed, sikkerhed og integritet af brugerdata. Den ansvarlige Debian -vedligeholder afviste kritikken. Dette problem blev genoprettet i juli 2015. Poettering forsvarede denne holdning med den begrundelse, at han ønskede at sikre et fungerende system.
Også i juli 2015 rapporterede GitHub, at Googles tidsservere var solidt integreret i systemd -koden som standard eller tilbagefald . Denne beslutning blev også forsvaret af Poettering, selvom han indrømmede, at Googles servere leverede unøjagtige data. En Google -udvikler kritiserede denne holdning.
Sårbarheder
I september 2016 blev en fejl kendt, der tillader enhver privilegeret bruger at starte et DoS -angreb på systemd og de tilhørende processer. Den MUSL udvikleren Rich Felker sagde, at systemd er en stor monolitisk proces, som ikke delvist svigte i tilfælde af en fejl, men i stedet går ned hele systemet. Den opdagede fejl er mindre et alvorligt sikkerhedsproblem, men viser snarere en grundlæggende designfejl.
I begyndelsen af 2017 udvikledes en diskussion om, at systemd udfører dæmoner med rodrettigheder, hvis et brugernavn, der begynder med et tal, er angivet i konfigurationen af dæmonen. Sårbarheden blev vurderet anderledes. Udviklerne erklærede, at der ikke var nogen programmeringsfejl, fordi sådanne brugernavne ikke er tilladt på Linux -systemer, og det er administratorens ansvar at ikke tillade dem. Derudover skal en angriber allerede have root -rettigheder på det berørte system for at kunne oprette sådanne brugernavne. Fejlrapporten blev oprindeligt lukket. En patch blev installeret senere, hvilket betyder, at forkerte parametre for sikkerhedskritiske muligheder ikke længere ignoreres, men i stedet fører til, at processen ikke indlæses.
I juni 2017 blev en sårbarhed, der havde eksisteret siden 2015, opdaget i system-løst. Dette gør det muligt for systemd at få udført ondsindede programmer via en kompromitteret DNS -server , hvorved tjenesten kan gå ned eller blive overtaget af eksterne angribere. Sårbarheden blev først rapporteret af Canonical -medarbejderen Chris Coulson. Følgelig har versionsnummer 223 til 233 været påvirket siden 2015. Red Hat meddelte, at Red Hat Enterprise Linux 7, de sælger, ikke var sårbar. Debian oplyste, at den nyligt udgivne Debian 9 (kodenavnet "Stretch") heller ikke påvirkes, da systemd-resolved ikke er aktiveret som standard. Der er nu en patch, der lukker sikkerhedsgabet.
I oktober 2018 blev det kendt, at en programmeringsfejl i IPv6 DHCP -klienten kunne misbruges af systemd til at overtage sårbare Linux -systemer med manipulerede DHCP -pakker.
I januar 2019 rapporterede det amerikanske it -sikkerhedsfirma Qualys en fejl i systemd -komponenten journald, der tillod brugere at få root -privilegier på et system. Dette blev opnået inden for ti minutter på et x86 -system og inden for 70 minutter på et amd64 -system.
litteratur
- Thorsten Leemhuis: Indsamlingssted - Hent logoplysninger fra Systemd -journalen . c't 13/2014, side 168
- Yogesh Babar: Praktisk opstart. Apress, 2020. ISBN 978-1-4842-5889-7 . Kapitel 7 og 9.
Weblinks
- systemd på freedesktop.org
- Original meddelelse (engelsk)
- Vejen frem for systemd (engelsk)
- Lennart Poettering, Kay Sievers, Thorsten Leemhuis: Init-Systemd del 1 , del 2 på heise.de
- Videointerview med Lennart Poettering fra 2011
- Linux System , CRE podcast med Lennart Poettering fra 10. november 2015
- systemd til administratorer Samling af artikler, der oprindeligt blev offentliggjort på 0pointer.de ( PDF )
- Systemd i Arch Linux Wiki
Individuelle beviser
- ↑ a b README - systemd / systemd - System- og sessionsmanager . (Engelsk, åbnet 17. november 2018).
- ↑ Udgivelsessystemd v249 .
- ↑ a b systemd. I: Analyseoversigt. Ohloh . Hentet 15. august 2011 .
- ↑ a b Lennart Poettering: Licens. I: systemd git. freedesktop.org , adgang til 3. februar 2013 .
- ↑ Interview med Lennart Poettering, udvikler Systemd. golem.de , 27. maj 2011, tilgået den 18. marts 2013 .
- ^ Lennart Poettering: De største myter. Hentet 3. februar 2013 .
- ↑ Mikko Ylinen: Tizen IVI Architecture. (PDF; 3,8 MB) Hentet 3. februar 2013 (engelsk).
- ↑ Release Notes: Release Notes for siduction 2013.2. Hentet 22. oktober 2014 .
- ↑ Release Notes: SUSE Linux Enterprise Server 12 Release Notes. Hentet 2. marts 2015 .
- ↑ Release Notes: Ubuntu 15.04 Release Notes. Hentet 23. april 2015 .
- ↑ Debian 8 "Jessie" udgivet. 25. april 2015, adgang til 26. april 2015 .
- ↑ Den nye sd-bus API af systemd 19. juni, 2015
- ^ A b Ferdinand Thommes: Systemd som kontrolcenter for Linux -systemet. I: LinuxUser , udgave 04/2014. Hentet 26. februar 2016 .
- ↑ Ferdinand Thommes: Linus Torvalds skarpt kritiserer systemd udviklere. I: ComputerBase. 3. april 2014, adgang til 24. august 2016 .
- ↑ Thorsten Leemhuis: Debians afstemning om init -systemet: Ingen grundlæggende beslutning nødvendig. I: Heise online. 19. november 2014, adgang til 26. februar 2016 .
- ↑ Thorsten Leemhuis: Debian vælger systemd - i hvert fald for nu. I: Heise online. 11. februar 2014, adgang til 26. februar 2016 .
- ↑ Thorsten Leemhuis: Debian: Valg af standard init -system fører til skænderier. I: Heise online. 2. november 2014, adgang til 26. februar 2016 .
- ↑ Oliver Diedrich: Debian: Systemd -tvist driver udviklere ud. I: Heise online. 17. november 2014, adgang til 26. februar 2016 .
- ↑ Oliver Diedrich: Devuan: Lad os starte nu. I: Heise online. 13. januar 2015, adgang til 26. februar 2016 .
- ↑ a b Joe Casad: Debian bliver forgaffet ; Legendariske Uber-distro splittes over den systemiske kontrovers. I: Linux Magazine. 2. december 2014, adgang til 11. september 2017 .
- ↑ a b Kristian Kißling: Linus Torvalds har ikke noget imod Systemd. I: Linux magazine. 18. september 2014, adgang til 24. august 2016 .
- ↑ a b Steven Vaughan-Nichols: Linus Torvalds og andre på Linux's systemd. I: ZDNet. 14. september 2014, adgang til 24. august 2016 .
- ^ A b Paul Venezia: Systemd: Harbinger for Linux -apokalypsen. I: InfoWorld. International Data Group , 18. august 2014, tilgås 26. august 2016 .
- ↑ a b Silviu Stahie: Linus Torvalds blokerer al kode fra Systemd Developer til Linux Kernel. I: Softpedia. 3. april 2014, adgang til 26. august 2016 .
- ↑ Ferdinand Thommes: Devuan udgiver første beta uden systemd. I: ComputerBase . 29. april 2016. Hentet 22. december 2016 .
- ↑ Mark Shuttleworth: Quantal, raring, saucy… In: Mark Shuttleworths hjemmeside. 18. oktober 2013, tilgået den 13. juli 2017 .
- ↑ Denys Vlasenko: fjern systemd støtte. 22. oktober 2015, adgang til 7. november 2016 .
- ↑ Busybox sletter Systemd -support. Slashdot , 31. oktober 2015, tilgås 7. november 2016 .
- ↑ a b Jürgen Schmidt: Systemd -udviklere vil trods alt lukke "0day" -gabet. I: Heise online. 11. juli 2017. Hentet 13. juli 2017 .
- ↑ Linus Torvalds: Re: [RFC] [PATCH] exec: Brug init rlimits for setuid exec. I: LKML.org. 6. juli 2017, adgang 13. juli 2017 .
- ↑ Simon Sharwood: Linus Torvalds kan have forbandet systemd med svag pris. Registeret, 17. juli 2017, fik adgang til 24. juli 2017 .
- ↑ Debian Bug -rapportlogfiler - # 761658; Vær venlig ikke at bruge Google navneservere som standard. Hentet 23. august 2016 .
- ↑ Filens kilde d / configure.ac. (Ikke længere tilgængelig online.) I: Github. Arkiveret fra originalen den 24. august 2016 ; adgang til den 24. august 2016 . Info: Arkivlinket blev indsat automatisk og er endnu ikke kontrolleret. Kontroller venligst det originale og arkivlink i henhold til instruktionerne, og fjern derefter denne meddelelse.
- ^ FallbackDNS bør ikke have værdier indstillet på kompileringstidspunkt # 494. I: Github -nummer # 494. Hentet 24. august 2016 .
- ↑ Filens kilde d / configure.ac. (Ikke længere tilgængelig online.) I: Github. Arkiveret fra originalen den 24. august 2016 ; adgang til den 24. august 2016 . Info: Arkivlinket blev indsat automatisk og er endnu ikke kontrolleret. Kontroller venligst det originale og arkivlink i henhold til instruktionerne, og fjern derefter denne meddelelse.
- ↑ timeX.google.com giver ikke -standardtid # 437. I: Github -nummer # 437. Hentet 24. august 2016 .
- ↑ timesyncd: standard NTP -pool i stedet for Google NTP # 439. I: Github -nummer # 439. Hentet 24. august 2016 .
- ↑ Giv ikke standard NTP -servere. Rettelser # 437. # 444. I: Github -nummer # 444. Hentet 24. august 2016 .
- ↑ Systemd bør ikke længere bruge Googles tidsserver. I: golem.de. 1. juli 2015, adgang til 24. august 2016 .
- ↑ Kristian Kißling: Ingen tid til Systemd? I: Linux magazine . 1. juli 2015, adgang til 24. august 2016 .
- ^ Bekræftelsesfejl, når PID 1 modtager en nul-længde-besked over notify socket # 4234. I: Github -nummer # 4234. Hentet 5. oktober 2016 .
- ↑ Tom Spring: Hack Crashes Linux distributioner med 48 tegn i koden. I: Threatpost. Kaspersky Lab , 3. oktober 2016, åbnede 6. oktober 2016 .
- ↑ Sebastian Krahmer: Headsup: systemd v228 lokal rodudnyttelse (CVE-2016-10156). I: LWN.net . 24. januar 2017, adgang 13. juli 2017 .
- ↑ Jürgen Schmidt: Spænding om påståede sikkerhedshuller i systemd. I: Heise online . 3. juli 2017. Hentet 13. juli 2017 .
- ↑ Nægter at indlæse nogle enheder af keszybz Pull Request # 6300 systemd / systemd. I: github.com. GitHub, adgang 13. juli 2017 .
- ^ Chris Coulson (Canonical): CVE-2017-9445: Out-of-bounds skrive i system-løst med udformet TCP nyttelast. Openwall, 27. juni 2017, adgang 13. juli 2017 .
- ↑ USN-3341-1: systemd sårbarhed. I: Canonical ( Ubuntu ). 27. juni 2017, adgang 13. juli 2017 .
- ^ Shaun Nichols: Gå ikke i panik, men Linux's Systemd kan pwnes via en ond DNS -forespørgsel. Registeret, 29. juni 2017, fik adgang til 13. juli 2017 .
- ^ Liam Tung: Linux's system er sårbart over for DNS -serverangreb. I: ZDNet. 29. juni 2017, adgang 13. juli 2017 .
- ↑ Heise Security: systemd: DHCPv6 pakker kan kapre Linux-computere. Adgang til 30. oktober 2018 (tysk).
- ↑ Linux -system påvirket af sårbarheder ved hukommelseskorruption, ingen opdateringer endnu. I: Slashdot . 10. januar 2019, adgang til 22. januar 2019 .