Ugrás a tartalomhoz
100% helyi

systemd egységfájl-generátor

Érvényes systemd .service, .timer, .socket vagy .mount fájl létrehozása néhány mezőből.

Kimenet

systemd egységfájl-generátor

Egyszerűen töltse ki a néhány mezőt, és ez az eszköz egy teljes systemd egységfájlt ír, amelyet közvetlenül a /etc/systemd/system/ mappába helyezhet. A négy leggyakrabban kézzel írott egységtípust támogatja: service, timer, socket és mount, és a [Unit], [Service] és [Install] szakaszokat állítja elő a systemd által várt sorrendben.

Egy service egység esetén állítsa be a leírást és dokumentáció URL-t, az ExecStart parancsot (opcionális ExecStartPre és ExecStop hurokkal), a szolgáltatás típusát (simple, exec, forking, oneshot vagy notify), a futtatási felhasználót és csoportot, a munkakönyvtárat, valamint a környezeti változókat vagy beágyazottan, vagy EnvironmentFile-on keresztül. Az újraindítási házirend és a RestartSec szabályozza, hogy systemd hogyan reagáljon, amikor a folyamat leáll; az After és Requires a függőségek sorrendjét határozza meg, a WantedBy pedig azt, hogy melyik cél húzza be az egységet indításkor. A hardening blokk egy kattintással hozzáadja a NoNewPrivileges, PrivateTmp, ProtectSystem és ProtectHome opciókat, amely a legtöbb distro saját szolgáltatásfájljában használt sandbox kezelés.

Ha helyette timer, socket vagy mount lehetőséget választ, akkor a megosztott [Unit] és [Install] szakaszok kitöltésre kerülnek, de a típusspecifikus blokk megjegyzésként marad az OnCalendar=, ListenStream= vagy What=/Where= szintaxis helyett, amelyeket nem lehet ellenőrizni. A systemd unit name sanitizálva van a systemd által engedélyezett karakterekre, és az eszköz figyelmeztet ahelyett, hogy lefagyott volna, ha egy mező túl nagy méretű van.

Minden helyileg a böngészőben fut: semmi, amit begépel, beleértve a gazdagépneveket, útvonalakat vagy hitelesítő adatokat az EnvironmentFile-ban, soha sehová nem kerül. Másolja ki az eredményt, töltse le .txt fájlként, hogy átnevezze és telepítse, vagy küldje el egy másik eszköznek a szerkesztés folytatásához.

Gyakori kérdések

Hova helyezzem a generált fájlt?
Mentse /etc/systemd/system/<name>.service-ként (vagy .timer/.socket/.mount), majd futtassa a systemctl daemon-reload majd systemctl enable --now <name> parancsokat.
Miért hagyja a "timer" vagy "socket" választása a fájl részét megjegyzésként?
Ezek az egységtípusok olyan irányelveket használnak, amelyeket ez a generátor nem fabrikál – OnCalendar= időzítőhöz, ListenStream= sockethez, What=/Where= mounthoz. Adja hozzá őket ahol a megjegyzés mutat az utat, ahelyett hogy kitalált szintaxist mássolna.
Mit csinál valójában a hardening blokk?
A NoNewPrivileges megakadályozza az jogok eszkalációt, a PrivateTmp a szolgáltatásnak a saját /tmp-t adja, a ProtectSystem/ProtectHome pedig a fájlrendszer nagy részét csak olvashatóvá vagy elérhetetlenné teszi a számára. Együttesen megfelelnek a sandbox kezelésnek, amelyet sok distro saját szolgáltatásfájlja már használ.
Generálhatok egy egységet több környezeti változóhoz egyszerre?
Igen. Listázza őket vesszővel vagy sortöréssel elválasztott KEY=VALUE párként a környezeti változók mezőben; mindegyik a saját Environment= sorrá válik, a rosszul formázott bejegyzések pedig átlépésre kerülnek ahelyett, hogy megtörötték volna a fájlt.
Bármi, amit begépelnek, küldötték egy szervernek?
Nem. Az egységfájlt teljesen a böngészőben generálják – beleértve az összes elérési utat, gazdagépnevet és környezeti értékeket, amelyeket megad – és semmi sem kerül feltöltésre.