Π ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Guix ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ (CVE Π½Π΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈ) Π² ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«guix substituteΒ», ΠΊΠΎΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π±ΠΈΠ²Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π° ΠΎΡ ΡΠΎΠ½ΠΎΠ²ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ guix-daemon ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ. ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° Π²Π΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΡ Π½Π°ΡΠ° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡ ΡΡΠ΅Π· ΡΠΈΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΠΈΡ. ΠΠ°ΠΉ-ΠΎΠΏΠ°ΡΠ½Π°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π» Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Ρ ΠΏΡΠ°Π²Π°ΡΠ°, ΠΏΠΎΠ΄ ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΠ½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ guix-daemon.
ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π·Π°ΡΡΠ³Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ ΠΏΡΠΎΡΠ΅ΡΠ° guix-daemon, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ²Π°, Π΄Π°Π»ΠΈ ΡΠΎΠΉ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½ Ρ ΠΏΡΠ°Π²Π° root ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π». ΠΠ° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π° Π²ΡΡΠΊΠ° ΠΎΠΏΠΈΡ Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ ΡΡΡΠ²ΡΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΎΡ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ. ΠΡΠΈ ΡΠΎΠ²Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΡ ΡΡΡΠ²ΡΡ Π½Π΅ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΈΠ·Π±ΡΠ°Π½ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ β ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΡΠ΅Π· ΠΎΠΏΡΠΈΡΡΠ° Β«βdiscoverΒ», ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΡΡΡΠ²ΡΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° MITM Π°ΡΠ°ΠΊΠ°. Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΠΈΡΠΎ guix-daemon Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½ Ρ ΠΏΠΎΠ²ΠΈΡΠ΅Π½ΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈ Π°ΡΠ°ΠΊΠ°, Π°ΠΊΠΎ ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ ΡΠΎΠ½ΠΎΠ²ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ ΡΡΠ΅Π· Unix ΡΠΎΠΊΠ΅Ρ (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ).
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΏΡΠΈΡΡΡΡΠ²Π° Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Β«restore-fileΒ», ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, Π±Π΅Π· Π΄Π° ΠΈΠ·ΡΠ°ΠΊΠ° ΠΏΡΠ»Π½ΠΎΡΠΎ ΠΌΡ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈΡ Π°ΡΡ ΠΈΠ² ΡΡΠ΅Π· ΡΠΈΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΠΈΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅ ΠΏΡΠΈΡΠΈΠ½Π΅Π½ ΠΎΡ Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Β«.Β», Β«/Β» ΠΈ Β«..Β» Π² ΠΏΡΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² Π°ΡΡ ΠΈΠ²Π°. Π§ΡΠ΅Π· ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° Π°ΡΡ ΠΈΠ² Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ Π·Π°ΠΏΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΡΠ°ΠΉΠ» Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΠΎΠ±Π»Π°ΡΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΡΠ°Π²Π°ΡΠ°, ΠΏΠΎΠ΄ ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΠ½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ guix-daemon.
ΠΠ° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ²ΠΎΡ ΠΊΠΎΠ΄ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡ, ΠΊΠ°ΡΠΎ Β«~/ .bashrcΒ» ΠΈΠ»ΠΈ Β«~/ .profileΒ», ΠΈΠ»ΠΈ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° Β«~/ .ssh/authorized_keysΒ» Ρ ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π° SSH. ΠΠΊΠΎ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ° guix-daemon ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΠ΄ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ root, Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ΅ ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅.
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΡΡΠ°Π²Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅ ΠΏΡΠΈΡΠΈΠ½Π΅Π½Π° ΠΎΡ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΡΠ° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ (narinfo) Π·Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ (fetch-narinfos) Π½Π΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°, ΡΠ°Π·ΡΠΈΡΠ°ΠΉΠΊΠΈ Π½Π° ΡΠΎΠ²Π°, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅ Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π° ΡΠΈΡΡΠΎΠ²ΠΎ. ΠΠ°ΠΊΡΠΎ ΡΠ΅ ΠΎΠΊΠ°Π·Π°, ΠΏΠΎΠ΄ΠΏΠΈΡΡΡ Π½Π΅ ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠ΅ URL Π°Π΄ΡΠ΅ΡΠ° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π±Π΅Π· Π½Π°ΡΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΠ°Π²Π½ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π±ΠΈ Π±ΠΈΠ» ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ Π·Π°ΡΠ°Π΄ΠΈ Π½Π΅ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ ΠΌΡ ΠΏΠΎ Ρ Π΅Ρ, Π·Π°Π²Π΅ΡΠ΅Π½ Ρ ΡΠΈΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΠΈΡ, Π½ΠΎ ΡΠ°Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΠ»Π΅Π΄ Π΅ΡΠ°ΠΏΠ° Π½Π° ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅, Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π² ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅.
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βguix substituteβ, ΡΡΠ·Π²ΠΈΠΌΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ βrestore-fileβ Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ βguix offloadβ, βguix archive βextractβ ΠΈ βguix challengeβ, ΡΡΠ΅Π· ΠΊΠΎΠΈΡΠΎ ΡΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ°. ΠΠ°ΡΠΎ ΠΎΠ±Ρ ΠΎΠ΄Π΅Π½ ΠΌΠ°ΡΡΡΡΡ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ°, ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ²Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΎΡΠΈ ΠΎΠΏΡΠΈΡΡΠ° ββno-substitutesβ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ guix. ΠΠΎΡΠ΅ΠΊΡΠΈΡΡΠ° Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΏΡΠΈΠ΅ΡΠ° Π² ΠΊΠΎΠ΄Π° Π½Π° Guix. ΠΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ za guix ΠΈ guix-daemon.
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½Π°ΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΠΊΠ° Π² Guix, ΡΠ° ΠΎΡΡΡΡΠ°Π½Π΅Π½ΠΈ ΠΎΡΠ΅ ΡΡΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ:
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ Ρ Π²ΡΡΠ½Π°ΡΠΈΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° fetch-narinfos. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΎΡΡΠ°ΡΡΠ»Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π·Π°ΠΏΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
- ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΡΠ²ΠΈΡ ΡΠ΅Π΄ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΡΠ΅Π· ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ° ΠΎΡ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Ρ URI βfile://β (ββsubstitute-urls file:///etc/shadowβ). ΠΠΊΠΎ guix-daemon ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Ρ ΠΏΡΠ°Π²Π° Π½Π° root, ΡΠΎΠΉ ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ», ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ, ΡΠ΅ Π½Π΅ Π΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅ Π³ΡΠ΅ΡΠΊΠ°, Π² ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Ρ ΡΠ΅Π΄ΡΡ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π΅ ΡΡΠΏΡΠ» Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅.
- Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ΡΠΎ Π·Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ΠΎ ΠΈΠΌΠ΅ Π½Π° Π²ΡΠ½ΡΠ΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ (Β«..\/..\/..\/..\/newfileΒ») ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Β«guix pullΒ» ΠΈ Β«guix time-machineΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΊΠΎΠΌΠΈΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΡΠ°ΠΉΠ» Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π°ΠΊΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ ΠΌΡ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΡΠ²Π° ΡΠΏΠΈΡΡΠΊ ΠΎΡ ΡΠ΅Π΄ΠΈΡΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° Scheme. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° DoS Π°ΡΠ°ΠΊΠΈ, Π½ΠΎ Π½Π΅ Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΡΡΠ΅Π· Ρ ΠΈΡΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Ρ ΠΏΡΠ΅Π²Π΄ΠΎ-Π€Π‘ /proc Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΏΠΎ-ΠΎΠΏΠ°ΡΠ½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
