Π ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ Π±Π°Π·Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Ubuntu 26.10, ΡΠ΅Π»ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΠΌΠ΅ΡΠ΅Π½ Π½Π° 15 ΠΎΠΊΡΡΠ±ΡΡ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ½ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ uutils coreutils (Rust Coreutils), Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. Π£ΡΠΈΠ»ΠΈΡΡ ΠΈΠ· ΡΠΎΡΡΠ°Π²Π° Rust Coreutils ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ° GNU Coreutils, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠΈΠ»ΠΈΡΡ cp, mv ΠΈ rm, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Ubuntu 26.04 ΠΏΠΎΡΡΠ°Π²Π»ΡΠ»ΠΈΡΡ Π² Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΈΠ· GNU Coreutils.
ΠΠ°ΠΊΠ΅Ρ rust-coreutils ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» Π²ΠΊΠ»ΡΡΡΠ½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Π²ΡΠΏΡΡΠΊΠ΅ Ubuntu 25.10, Π½ΠΎ Π² LTS-Π²Π΅ΡΠΊΠ΅ Ubuntu 26.04 Π±ΡΠ» ΡΠΎΠ²Π΅ΡΡΡΠ½ ΠΎΡΠΊΠ°Ρ Π½Π° ΠΏΠΎΡΡΠ°Π²ΠΊΡ ΡΡΠΈΠ»ΠΈΡ cp, mv ΠΈ rm ΠΈΠ· Π½Π°Π±ΠΎΡΠ° GNU Coreutils. ΠΠ°ΡΠΈΠ°Π½ΡΡ cp, mv ΠΈ rm Π±ΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Ρ ΠΈΠ·-Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ, Π²ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π² Ρ ΠΎΠ΄Π΅ Π°ΡΠ΄ΠΈΡΠ° ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ Rust Coreutils. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² Rust Coreutils Π²ΡΠ·Π²Π°Π½ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π³ΠΎΠ½ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½ΠΎ Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½ΠΈΠΌΠΈ (TOCTOU β Time-Of-Check-To-Time-Of-Use). Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ»ΠΊΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ Π½Π°ΡΠ°Π»ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡ cp, mv ΠΈ rm Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΡΠΊΡΠΈΠΏΡΠ°Ρ
, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ
Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ root, ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΡΡΠΈΠ»ΠΈΡΠ° rm Π²Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ»Π° Π²ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄Π°Π»ΡΠ»Π° ΠΈΡ
Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ rmdir(). ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ»ΠΊΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π½ΠΎ Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
Π² Π½Π΅Π³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠΈ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ· cron ΡΠΊΡΠΈΠΏΡΠ° /etc/cron.daily/apport, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Ρ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ root ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° /var/crash, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ Π½Π° Π·Π°ΠΏΠΈΡΡ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
