Ошибка в Steam для Linux может привести к удалению всех данных пользователя

Один из пользователей Steam на платформе Linux столкнулся с непонятным пропаданием всех своих данных после перемещения директории ~/.local/share/steam на новый диск через символическую ссылку. После перемещения данных, запуск Steam завершился крахом, а повторный запуск привёл к инициированию переустановки клиента Steam. После данных манипуляций все принадлежащие текущему пользователю данные оказались удалены, в том числе данные, размещённые в директории пользователя и в примонтированном накопителе. Причиной удаления оказался скрипт steam.sh, в котором была допущена ошибка, приводящая к запуску команды «rm -rf /» в случае проблем с доступом к директории с данными Steam. В частности, в скрипте присутствует строка rm -rf »$STEAMROOT/»*, которая должна была выполнить чистку содержимого директории с данными Steam при переустановке. Заполнение переменной производится командой STEAMROOT=»$(cd »${0%/*}» && echo $PWD)»). Таким образом, в случае, если директория не найдена, в переменную STEAMROOT записывается пустая строка, что приводит к выполнению rm -rf »/»* и удалению в системе всех данных, принадлежащих пользователю. Следует отметить, что похожая проблема наблюдается и в версии для платформы Windows (при установке Steam в «C:\Program Files\» вместо «C:\Program Files\Steam\» может быть удален весь «C:\Program Files\»).

©  OpenNet