systemd системийн менежер хувилбар 249

Гурван сарын хөгжүүлэлтийн дараа системийн менежер systemd 249-ийн хувилбарыг танилцуулж байна.Шинэ хувилбар нь JSON форматаар хэрэглэгчид/бүлэглэлүүдийг тодорхойлох боломжийг олгож, Journal протоколыг тогтворжуулж, дараалсан дискний хуваалтуудыг ачаалах зохион байгуулалтыг хялбарчилж, BPF программуудыг үйлчилгээнүүдтэй холбож, хэрэглэгчдийг суурилуулсан хуваалтуудад таниулагчийн зураглалыг хэрэгжүүлснээр сүлжээний шинэ тохиргооны дийлэнх хэсгийг санал болгож, контейнер ажиллуулах боломжийг санал болгож байна.

Үндсэн өөрчлөлтүүд:

  • Journal протоколыг баримтжуулсан бөгөөд логийн бүртгэлийг орон нутагт хүргэх syslog протоколын оронд үйлчлүүлэгчдэд ашиглаж болно. Journal протокол нь удаан хугацаанд хэрэгжиж, зарим үйлчлүүлэгчийн номын санд ашиглагдаж байгаа боловч албан ёсны дэмжлэгийг дөнгөж сая зарлалаа.
  • Userdb болон nss-systemd нь JSON форматаар заасан /etc/userdb/, /run/userdb/, /run/host/userdb/ болон /usr/lib/userdb/ лавлахуудад байрлах хэрэглэгчийн нэмэлт тодорхойлолтыг уншихад дэмжлэг үзүүлдэг. Энэ функц нь NSS болон /etc/shadow-тэй бүрэн интеграцчлах боломжийг олгож, системд хэрэглэгчдийг бий болгох нэмэлт механизмыг бий болгоно гэж тэмдэглэжээ. Хэрэглэгч/бүлгийн оруулгуудад зориулсан JSON-ийн дэмжлэг нь pam_systemd болон systemd-logind-г таних хэрэглэгчдэд янз бүрийн нөөцийн удирдлага болон бусад тохиргоог хавсаргах боломжийг олгоно.
  • nss-systemd нь systemd-homed-аас хэшлэгдсэн нууц үгүүдийг ашиглан /etc/shadow доторх хэрэглэгчийн/бүлгийн оруулгуудын синтезийг хангадаг.
  • Бие биенээ орлуулдаг дискний хуваалтуудыг ашиглан шинэчлэлтийн зохион байгуулалтыг хялбаршуулдаг механизмыг хэрэгжүүлсэн (нэг хэсэг нь идэвхтэй, хоёр дахь нь нөөц юм - шинэчлэлтийг нөөц хуваалт руу хуулж, дараа нь идэвхтэй болно). Хэрэв дискний дүрсэнд хоёр root эсвэл /usr хуваалт байгаа бөгөөд udev нь 'root=' параметр байгааг илрүүлээгүй эсвэл systemd-nspawn болон systemd доторх "--image" сонголтоор заасан дискний дүрсийг боловсруулж байгаа бол. -хэрэглэгдэхүүнийг задлахын тулд ачаалах хуваалтыг GPT шошготой харьцуулах замаар тооцоолж болно (GPT шошго нь хуваалтын контентын хувилбарын дугаарыг дурдсан бөгөөд systemd нь сүүлийн үеийн өөрчлөлттэй хуваалтыг сонгох болно гэж үзвэл).
  • Үйлчилгээний файлуудад BPFProgram тохиргоо нэмсэн бөгөөд үүний тусламжтайгаар та BPF програмуудыг цөмд ачаалах ажлыг зохион байгуулж, тодорхой системийн үйлчилгээнүүдийг холбож удирдах боломжтой.
  • Systemd-fstab-generator болон systemd-repart нь зөвхөн /usr хуваалттай, root хуваалтгүй дискнүүдээс ачаалах боломжийг нэмдэг (эхний ачаалах үед root хуваалтыг systemd-repart үүсгэнэ).
  • Systemd-nspawn-д "--private-user-chown" сонголтыг илүү ерөнхий "--private-user-ownership" сонголтоор сольсон бөгөөд энэ нь "chown" утгыг "--"-тэй тэнцэхүйц хүлээн авах боломжтой. Хуучны тохиргоог идэвхгүй болгохын тулд private-user-chown, "off", холбогдсон файлын систем дээрх хэрэглэгчийн ID-г буулгахын тулд "map", "auto" товчийг дарж хэрэв шаардлагатай функц цөмд (5.12+) байгаа бол "map"-ыг сонгоно уу. өөрөөр хэлбэл "chown" гэсэн рекурсив дуудлагад. Газрын зураглалыг ашигласнаар та суулгасан гадаад хуваалт дээрх нэг хэрэглэгчийн файлыг одоогийн системийн өөр хэрэглэгчтэй буулгаж, өөр өөр хэрэглэгчид хооронд файл хуваалцахад хялбар болгоно. Системд суурилсан зөөврийн гэрийн лавлах механизмын зураглал нь хэрэглэгчид өөрсдийн гэрийн лавлахыг гадаад зөөвөрлөгч рүү зөөж, ижил хэрэглэгчийн ID байршилгүй өөр өөр компьютер дээр ашиглах боломжийг олгоно.
  • systemd-nspawn-д "--private-user" сонголт нь хэрэглэгчийн нэрийн орон зайг тохируулахдаа хэрэглэгчийн ID-г шууд тусгахын тулд "identity" гэсэн утгыг ашиглаж болно, i.e. Довтолгооны векторуудыг багасгахын тулд чингэлэг дэх UID 0 ба UID 1 нь хост тал дахь UID 0 ба UID 1-д тусгагдах болно (контейнер нь зөвхөн өөрийн нэрийн талбарт процессын чадварыг хүлээн авна).
  • “--bind-user” сонголтыг systemd-nspawn-д нэмсэн бөгөөд энэ нь хост орчинд байгаа хэрэглэгчийн бүртгэлийг контейнерт шилжүүлэх (гэрийн лавлахыг контейнерт суулгасан, хэрэглэгч/бүлгийн оруулга нэмэгдсэн, UID зураглал) чингэлэг болон хост орчны хооронд хийгддэг).
  • systemd-ask-password болон systemd-sysusers (passwd.hashed-password. болон passwd.plaintext-нууц үг. ) systemd 247-д нэвтрүүлсэн механизмыг ашиглан тусдаа директор доторх завсрын файлуудыг ашиглан эмзэг өгөгдлийг найдвартай дамжуулах. Анхдагч байдлаар, итгэмжлэлийг PID1-тэй процессоос хүлээн авдаг бөгөөд энэ нь жишээлбэл, анх удаа ачаалах үед хэрэглэгчийн нууц үгийг тохируулах боломжийг олгодог контейнер удирдлагын менежерээс хүлээн авдаг.
  • systemd-firstboot нь системийн янз бүрийн параметрүүдийг асуухын тулд мэдрэмтгий өгөгдлийн механизмыг найдвартай дамжуулахад дэмжлэгийг нэмдэг бөгөөд үүнийг /etc санд шаардлагатай тохиргоог хийгдээгүй контейнер дүрсийг анх ачаалах үед системийн тохиргоог эхлүүлэхэд ашиглаж болно.
  • PID 1 процесс нь ачаалах үед нэгжийн нэр болон тайлбарыг хоёуланг нь харуулах боломжийг олгодог. Та system.conf дээрх "StatusUnitFormat=combined" параметр эсвэл цөмийн командын мөрийн "systemd.status-unit-format=combined" сонголтоор дамжуулан гаралтыг өөрчилж болно.
  • "--image" сонголтыг systemd-machine-id-setup болон systemd-repart хэрэгсэлд нэмсэн бөгөөд машины ID-тай файлыг дискний дүрс рүү шилжүүлэх эсвэл дискний дүрсний хэмжээг нэмэгдүүлэх боломжтой.
  • MakeDirectories параметрийг systemd-repart хэрэглүүрт ашигладаг хуваалтын тохиргооны файлд нэмсэн бөгөөд үүнийг хуваалтын хүснэгтэд тусгахаас өмнө үүсгэсэн файлын системд дурын сангуудыг үүсгэхэд ашиглаж болно (жишээ нь: root хуваалт нь зөвхөн уншигдах горимд шууд угсарч болно). Үүсгэсэн хэсгүүдэд GPT тугуудыг удирдахын тулд харгалзах Flags, ReadOnly болон NoAuto параметрүүдийг нэмсэн. CopyBlocks параметр нь блокуудыг хуулах үед (жишээ нь, та өөрийн үндсэн хуваалтыг шинэ медиа руу шилжүүлэх шаардлагатай үед) эх үүсвэр болгон одоогийн ачаалах хуваалтыг автоматаар сонгохын тулд "авто" гэсэн утгатай.
  • GPT нь x-systemd.growfs холбох сонголттой төстэй "grow-file-system" тугийг хэрэгжүүлдэг бөгөөд хэрэв FS хэмжээ нь хуваалтаас бага бол блок төхөөрөмжийн хил хязгаар хүртэл FS хэмжээг автоматаар өргөтгөх боломжийг олгодог. Энэ туг нь Ext3, XFS болон Btrfs файлын системд хамаарах бөгөөд автоматаар илрүүлсэн хуваалтуудад хэрэглэж болно. systemd-repart-ээр автоматаар үүсгэгдсэн бичих боломжтой хуваалтуудын хувьд туг нь анхдагчаар идэвхждэг. systemd-repart дахь тугийг тохируулахын тулд GrowFileSystem сонголтыг нэмсэн.
  • /etc/os-release файл нь атомаар шинэчлэгдсэн зургийн хувилбар болон ID-г тодорхойлох шинэ IMAGE_VERSION болон IMAGE_ID хувьсагчдад дэмжлэг үзүүлдэг. %M ба %A тодорхойлогч нь заасан утгыг янз бүрийн командуудад орлуулахыг санал болгож байна.
  • Зөөврийн системийн өргөтгөлийн зургуудыг идэвхжүүлэхийн тулд portablectl хэрэгсэлд "--extension" параметрийг нэмсэн (жишээлбэл, тэдгээрийн тусламжтайгаар та үндсэн хуваалтад нэгтгэсэн нэмэлт үйлчилгээ бүхий зургуудыг түгээх боломжтой).
  • systemd-coredump хэрэгсэл нь процессын үндсэн дамп үүсгэх үед ELF build-id мэдээллийг задлах боломжийг олгодог бөгөөд хэрэв deb эсвэл rpm багцуудын нэр, хувилбарын талаарх мэдээлэл хийгдсэн бол бүтэлгүйтсэн процесс аль багцад хамаарахыг тодорхойлоход тустай байж болно. ELF файлууд руу.
  • FireWire (IEEE 1394) төхөөрөмжүүдийн шинэ техник хангамжийн суурь udev-д нэмэгдлээ.
  • udev-д "net_id" сүлжээний интерфейсийн нэр сонгох схемд хоцрогдсон нийцтэй байдлыг зөрчсөн гурван өөрчлөлт нэмэгдсэн: интерфэйсийн нэр дэх буруу тэмдэгтүүдийг одоо "_"-ээр сольсон; s390 системд зориулсан PCI hotplug слотын нэрсийг арван зургаан тоот хэлбэрээр боловсруулдаг; 65535 хүртэл суурилагдсан PCI төхөөрөмжийг ашиглахыг зөвшөөрдөг (өмнө нь 16383-аас дээш тоог хаасан).
  • systemd-resolved нь "home.arpa" домэйнийг NTA (Сөрөг итгэлцлийн зангуу) жагсаалтад нэмдэг бөгөөд үүнийг дотоод гэрийн сүлжээнд ашиглахыг зөвлөдөг боловч DNSSEC-д ашигладаггүй.
  • CPUAffinity параметр нь “%” тодорхойлогчдыг задлан шинжлэх боломжийг олгодог.
  • ManageForeignRoutingPolicyRules параметрийг .network файлуудад нэмсэн бөгөөд үүнийг systemd-networkd-г гуравдагч талын чиглүүлэлтийн бодлогыг боловсруулахаас хасахад ашиглаж болно.
  • RequiredFamilyForOnline параметрийг ".network" файлуудад нэмсэн бөгөөд сүлжээний интерфейс "онлайн" төлөвт байгаагийн шинж тэмдэг болгон IPv4 эсвэл IPv6 хаяг байгаа эсэхийг тодорхойлох болно. Networkctl нь холбоос бүрийн "онлайн" статусыг харуулах боломжийг олгодог.
  • Сүлжээний гүүрийг тохируулах үед гадагш гарах интерфейсийг тодорхойлохын тулд .сүлжээний файлуудад OutgoingInterface параметрийг нэмсэн.
  • “.network” файлд группын параметр нэмэгдсэн нь “[NextHop]” хэсэгт оруулах олон замт бүлгийг тохируулах боломжийг танд олгоно.
  • Зөвхөн IPv4 эсвэл IPv6 хүртэл холболтыг хязгаарлахын тулд "-4" ба "-6" гэсэн сонголтуудыг systemd-network-wait-online-д нэмсэн.
  • DHCP серверийн тохиргоонд RelayTarget параметрийг нэмсэн бөгөөд энэ нь серверийг DHCP Ralay горимд шилжүүлдэг. DHCP релений нэмэлт тохиргооны хувьд RelayAgentCircuitId болон RelayAgentRemoteId сонголтуудыг санал болгож байна.
  • ServerAddress параметрийг DHCP серверт нэмсэн бөгөөд энэ нь танд серверийн IP хаягийг тодорхой тохируулах боломжийг олгоно (эсвэл хаяг автоматаар сонгогдоно).
  • DHCP сервер нь [DHCPServerStaticLease] хэсгийг хэрэгжүүлдэг бөгөөд энэ нь танд статик хаягийн холболтыг (DHCP түрээс) тохируулах боломжийг олгодог бөгөөд MAC хаягууд болон эсрэгээр нь тогтмол IP холболтыг зааж өгдөг.
  • RestrictAddressFamilies тохиргоо нь "none" гэсэн утгыг дэмждэг бөгөөд энэ нь үйлчилгээ нь ямар ч хаягийн гэр бүлийн залгуурт хандах эрхгүй гэсэн үг юм.
  • [Address], [DHCPv6PrefixDelegation] болон [IPv6Prefix] хэсгүүдийн ".network" файлуудад RouteMetric тохиргооны дэмжлэгийг хэрэгжүүлсэн бөгөөд энэ нь заасан хаягаар үүсгэсэн маршрутын угтварын хэмжүүрийг зааж өгөх боломжийг олгодог.
  • nss-myhostname болон systemd-resolved нь "_outbound" гэсэн тусгай нэртэй хостуудын хаягтай DNS бичлэгийн нийлэгжилтийг хангадаг бөгөөд үүнд зориулж локал IP нь үргэлж гарч ирдэг бөгөөд энэ нь гарах холболтод ашигладаг анхдагч чиглүүлэлтийн дагуу сонгогддог.
  • .Сүлжээний файлуудын “[DHCPv4]” хэсэгт өгөгдмөл идэвхтэй RoutesToNTP тохиргоог нэмсэн бөгөөд энэ нь DHCP (DNS-тэй төстэй) ашиглан энэ интерфэйсээс олж авсан NTP серверийн хаяг руу хандахын тулд одоогийн сүлжээний интерфэйсээр дамжуулан тусдаа маршрут нэмэх шаардлагатай. , тохиргоо нь NTP сервер рүү чиглэсэн урсгалыг энэ хаягийг хүлээн авсан интерфэйсээр дамжуулна гэдгийг баталгаажуулах боломжийг танд олгоно).
  • Одоогийн үйлчилгээнд холбогдсон сокетуудад хандах хандалтыг хянахын тулд SocketBindAllow болон SocketBindDeny тохиргоог нэмсэн.
  • Нэгж файлуудын хувьд ConditionFirmware хэмээх нөхцөлт тохиргоог хэрэгжүүлсэн бөгөөд энэ нь UEFI болон device.tree системүүд дээр ажиллах гэх мэт програм хангамжийн функцийг үнэлэх шалгалтуудыг үүсгэх, мөн төхөөрөмжийн модны тодорхой боломжуудтай нийцтэй байдлыг шалгах боломжийг олгодог.
  • /etc/os-release файлын талбаруудыг шалгахын тулд ConditionOSRelease сонголтыг хэрэгжүүлсэн. Талбайн утгыг шалгах нөхцөлийг тодорхойлохдоо “=”, “!=”, “<“, “<=”, “>=”, “>” операторуудыг зөвшөөрнө.
  • Hostnamectl хэрэглүүрт "get-xyz" болон "set-xyz" гэх мэт командууд нь "get" болон "set" угтвараас чөлөөлөгдөнө, жишээ нь "hostnamectl get-hostname" болон "hostnamectl "set-hostname" гэхийн оронд. та "hostnamectl hostname" командыг ашиглаж болно, нэмэлт аргументыг зааж өгөх замаар тодорхойлогддог утгын оноолт ("hostnamectl хостын нэр"). Тохиромжтой байдлыг хангах үүднээс хуучин командуудын дэмжлэгийг хадгалсан.
  • Systemd-detect-virt хэрэгсэл болон ConditionVirtualization тохиргоо нь Amazon EC2 орчныг зөв таних боломжийг олгодог.
  • Нэгж файл дахь LogLevelMax тохиргоо нь одоо зөвхөн үйлчилгээнээс үүсгэсэн бүртгэлийн мессежүүдэд хамаарахаас гадна үйлчилгээг дурдсан PID 1 процессийн мессежүүдэд ч хэрэгжинэ.
  • SBAT (UEFI Secure Boot Advanced Targeting) өгөгдлийг systemd-boot EFI PE файлуудад оруулах боломжийг олгосон.
  • /etc/crypttab нь "толгойгүй" болон "нууц үг-цуурай" гэсэн шинэ сонголтуудыг хэрэгжүүлдэг - эхнийх нь хэрэглэгчээс нууц үг болон ПИН кодыг интерактив байдлаар асуухтай холбоотой бүх үйлдлийг алгасах боломжийг олгодог бол хоёр дахь нь нууц үг оруулах аргыг харуулах боломжийг танд олгоно. (юу ч харуулахгүй, тэмдэгтийг тэмдэгтээр харуулж, одоор харуулах). Үүнтэй төстэй зорилгоор "--echo" сонголтыг systemd-ask-password дээр нэмсэн.
  • systemd-cryptenroll, systemd-cryptsetup болон systemd-homed нь FIDO2 жетон ашиглан шифрлэгдсэн LUKS2 хуваалтыг нээхэд зориулсан дэмжлэгийг өргөжүүлсэн. Хэрэглэгчийн биет байгаа эсэхийг шалгах, баталгаажуулах, нэвтрэх хэрэгцээг хянахын тулд “--fido2-for-user-in-presence”, “--fido2-with-user-verification” болон “-fido2-with-client-pin” гэсэн шинэ сонголтуудыг нэмсэн. PIN код.
  • "--user", "--system", "--merge" болон "--file" сонголтуудыг systemd-journal-gatewayd-д нэмсэн нь journalctl сонголттой адил юм.
  • OnFailure болон Slice параметрүүдээр тодорхойлсон нэгжүүдийн хоорондын шууд хамаарлаас гадна OnFailureOf болон SliceOf далд урвуу хамаарлын дэмжлэгийг нэмсэн бөгөөд энэ нь жишээлбэл, зүсмэлийн бүх нэгжийг тодорхойлоход тустай байж болох юм.
  • Нэгжүүдийн хооронд шинэ төрлийн хамаарлыг нэмсэн: OnSuccess ба OnSuccessOf (Амжилттай дууссаны дараа дуудагддаг OnFailure-ийн эсрэг); PropagatesStopTo болон StopPropagatedFrom (нэгжийн зогсолтын үйл явдлыг өөр нэгж рүү түгээх боломжийг танд олгоно); Upholds and UpheldBy (дахин эхлүүлэхийн өөр хувилбар).
  • Systemd-ask-password хэрэгсэл нь нууц үг оруулах мөрөнд цоожны тэмдгийн (🔐) харагдах байдлыг хянах "--emoji" сонголттой боллоо.
  • Системийн эхийн модны бүтцийн баримт бичгийг нэмсэн.
  • Нэгжүүдийн хувьд MemoryMax, MemoryHigh эсвэл MemoryAvailable параметрээр тогтоосон хязгаарт хүрэхээс өмнө нэгжид хэр хэмжээний санах ой үлдсэнийг харуулах MemoryAvailable шинж чанарыг нэмсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх