Раст пробирается в ядро системы: релиз uutils 0.10 переписывает классические утилиты Linux
Вышел выпуск uutils coreutils 0.10, развивающий написанную на Rust альтернативу баночному набору GNU Coreutils. Проект уже поставляется по умолчанию в Ubuntu и активно вытесняет старый сишный стек с базовыми командами вроде ls, cp, mv и cat. Главное отличие от классических утилит заключается не только в отказе от потенциально небезопасной работы с памятью, но и в смене лицензии с жесткой GPL на пермиссивную MIT, что открывает широкие двери для проприетарщиков и корпораций.
В новой версии уровень совместимости с официальным тестовым набором GNU достиг впечатляющих 93,48%, а разработчики ликвидировали пачку критов. В частности, переписали логику утилит cp, chmod и mv для защиты от атак класса TOCTOU, когда хакер успевает подменить файл символической ссылкой в зазоре между проверкой прав и выполнением операции. Для системных скриптов, работающих от имени root, это закрывает крайне неприятный вектор получения контроля над файловой системой.
Не забыли и про производительность: подсчет хешей в cksum перевели на быстрый бэкенд OpenSSL, ускорили работу cat и du, а в утилиту mv завезли удобную опцию "--exchange" для атомарного обмена местами двух файлов или директорий. Пользователи также получили защиту от случайного удаления монтированных дисков через новую опцию "--one-file-system" в rm.
Linux / Линукс 🥸
Post #12437
2.53K