Rating@Mail.ru
IPB
Etersoft - from Windows to Linux
Etersoft
решения для перехода
с Windows на Linux
Дружественные сайты: alv.me и Rus-Linux.net

X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация ) Поиск · 

> Объявление

RSS 

При репосте новостей с других сайтов размещайте в сообщении текст новости целиком, под ним указывайте ссылку на источник, а в начало заголовка добавляйте сокращённое название сайта.

Репосты не включаются в нашу новостную ленту.

 
Reply to this topic Start new topic
> [NIXP] Баг в Bash-скрипте Steam может привести к удалению всех пользовательских файлов из Linux-системы
Dmitry Shurupov
bookmark
gyfbbdvkffmrljmmmwd
Jan 16 2015, в 11:16
Сообщение #1


Open Source geek
Иконка группы

Сообщений: 336

Вставить имя   :   Цитата

ОС: Ubuntu Linux
Город: Москва

Группа: Участники

Автор темы

В коде Bash-скрипта Linux-клиента Steam обнаружили досадную ошибку, которая может привести к полному удалению из операционной системы всех файлов, для которых у текущего пользователя есть права на запись.

Ошибка в скрипте от Valve напоминает легендарный баг в коде install.sh проекта Bumblebee для драйверов NVIDIA (см. GitHub), который удалял всё содержимое файловой системы, за что снискал широкую огласку в Open Source-сообществе. Посудите сами — вот фрагмент исходного кода из Bash-скрипта от Steam, что может спровоцировать выполнение команды rm -rf /*:

# figure out the absolute path to the script being run a bit
# non-obvious, the ${0%/*} pulls the path out of $0, cd's into the
# specified directory, then uses $PWD to figure out where that
# directory lives - and all this in a subshell, so we don't affect
# $PWD
STEAMROOT="$(cd "${0%/*}" && echo $PWD)"
[...]
# Scary!
rm -rf "$STEAMROOT/"*

Баг в Linux-версии Steam не просто является «потенциальным»: в тикетах GitHub проекта уже появилась запись от первого(?) пользователя, непосредственно пострадавшего ввиду неожиданной работы скрипта.

Сообщество уже предлагает свои варианты исправления этой ошибки, так что новый релиз Linux-версии Steam должен быть не за горами.



оригинал на www.nixp.ru


--------------------
По-моему, это еще один повод перейти на Убунту.
Go to the top of the page
 
+Quote Post
Hephaestus
bookmark
gyfbbdvkffmrljmmmwd
Jan 16 2015, в 12:24
Сообщение #2


Многоуважаемый джинн...
Иконка группы

Сообщений: 1659

Вставить имя   :   Цитата

ОС: Slackware64-14.1

Группа: Участники

Я, честно говоря, так и не понял, что это за зверь - steam.
Вот эта хреновина, которую надо себе на комп поставить - она для чего?
Что она делает, помимо темы данной новости?

Лицензия проприетарная.
Код закрытый что ли?
Я сунулся, было, попробовать, но для Linux там ссылка только на deb-пакет.
В слакбилдах, правда, что-то такое нашлось.
Но так я его и не поставил, уже не помню, почему. А так - я не игрок.
В общем, прожил я без него всю жизнь - и дальше проживу.


--------------------
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Go to the top of the page
 
+Quote Post
Bizdelnick
bookmark
gyfbbdvkffmrljmmmwd
Jan 16 2015, в 12:32
Сообщение #3


grammatikführer
Иконка группы

Сообщений: 13059

Вставить имя   :   Цитата

ОС: Debian GNU/Linux
Город: Санкт-Петербург

Группа: Модераторы разделов

Это типа магазина приложений. Получает данные карточки, ставит игрушку в хомяк.


--------------------
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Go to the top of the page
 
+Quote Post
SLEDopit
bookmark
gyfbbdvkffmrljmmmwd
Jan 16 2015, в 12:58
Сообщение #4


фанат консоли (=
Иконка группы

Сообщений: 4348

Вставить имя   :   Цитата

ОС: GNU/Debian, RHEL

Группа: Модераторы разделов

Цитата(Dmitry Shurupov @ 16th January 2015 - в 12:16) *
см. GitHub
ссылка неправильная. правильная здесь (:


--------------------
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.


Спасибо сказали:
Go to the top of the page
 
+Quote Post
MrClon
bookmark
gyfbbdvkffmrljmmmwd
Jan 16 2015, в 18:30
Сообщение #5


Коренной житель
Иконка группы

Сообщений: 837

Вставить имя   :   Цитата

ОС: Ubuntu 10.04, Debian 7 и 6
Город: Москва

Группа: Участники

Код
STEAMROOT="$(cd "${0%/*}" && echo $PWD)"

Вот кто-то может мне объяснить зачем вообще эыла нужна эта конструкция? На ЛОРе мне так толком не ответили (только пожаловались на трудности борьбы с перлозависимостью).
Может я не понимаю чего-то важного, но ведь при нормальной работе скрипта эта конструкция должна быть эквивалентна
Код
STEAMROOT="${0%/*}"


Спасибо сказали:
Go to the top of the page
 
+Quote Post
Bizdelnick
bookmark
gyfbbdvkffmrljmmmwd
Jan 16 2015, в 18:46
Сообщение #6


grammatikführer
Иконка группы

Сообщений: 13059

Вставить имя   :   Цитата

ОС: Debian GNU/Linux
Город: Санкт-Петербург

Группа: Модераторы разделов

Цитата(MrClon @ 16th January 2015 - в 18:30) *
Может я не понимаю чего-то важного, но ведь при нормальной работе скрипта эта конструкция должна быть эквивалентна

Код
STEAMROOT=`dirname $0`
test -d "$STEAMROOT" || ...
она эквивалентна у нормальных людей. Но им проще накатать пять строк комментария, из которого всё равно ничего не понятно, чем ещё одну строку кода. Итог: проверка существования каталога оказалась совсем не в том месте, в котором должна была быть, и не сработала.

Upd. Хотя нет, наверное это была не проверка, а такой извращённый способ получить абсолютный путь к каталогу. Причём, похоже, довольно распространённый:
https://stackoverflow.com/questions/5756524...n-macos#5756763
http://iallex.com/get-absolute-path-from-a-shell-path/
Я бы для этого использовал readlink -f, хотя это прокатило бы только при наличии гнутого readlink.


--------------------
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Go to the top of the page
 
+Quote Post
chitatel
bookmark
gyfbbdvkffmrljmmmwd
Jan 16 2015, в 19:05
Сообщение #7


Не ходи по косогору, сапоги стопчешь!
Иконка группы

Сообщений: 1423

Вставить имя   :   Цитата

Группа: Участники

Цитата(Hephaestus @ Jan 16 2015, в 19:24) *
Я, честно говоря, так и не понял, что это за зверь - steam.

Я сунулся, было, попробовать, но для Linux там ссылка только на deb-пакет.

Debian 8 - из коробки есть этот Стим (в ветке non-free). Инсталлировал, попробовал Team Fortress, Civilization 5, Half-Life 2 - всё работает прилично, играть в принципе можно. Игр под Linux & SteamOS не много. Для игромана - развернуться негде, только Windows, только хардкор...

В принципе штука удобная. Но - на любителя игр.
Цитата
В общем, прожил я без него всю жизнь - и дальше проживу.

Именно.

К тому же этот Стим ещё и поднаср... подгадить может, оказывается.

P.S.
Жаль, что JA2 в Стиме только для Windows. С вайном у меня она как-то не срастается... sad.gif Вот в эту игрушку пожалуй сыграл бы ещё...


--------------------
Новые сапоги всегда жмут.
Go to the top of the page
 
+Quote Post
yamah
bookmark
gyfbbdvkffmrljmmmwd
Jan 17 2015, в 18:24
Сообщение #8


Свой человек
Иконка группы

Сообщений: 1100

Вставить имя   :   Цитата

ОС: Rosa Fresh, Debian, RELS
Город: Барнаул

Группа: Участники

В SteamOS был более эпичный баг, который сносил все разделы на всех винтах при попытке установить сабж.


--------------------
Понимание - это меч с тремя кромками: ваша правда, наша правда и Истина.
Жизнь - игра: сюжет задуман фигова, но графика хорошая...
Лучший игровой сервер - Земля: карта всего одна, но на 7 миллиардов игроков; читеров нет, админ терпеливый, но если уж забанит...
Go to the top of the page
 
+Quote Post
Bizdelnick
bookmark
gyfbbdvkffmrljmmmwd
Jan 17 2015, в 18:37
Сообщение #9


grammatikführer
Иконка группы

Сообщений: 13059

Вставить имя   :   Цитата

ОС: Debian GNU/Linux
Город: Санкт-Петербург

Группа: Модераторы разделов

yamah
А разве там сабж не из коробки? В чём тогда вообще смысл этой steamos?


--------------------
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Go to the top of the page
 
+Quote Post
chitatel
bookmark
gyfbbdvkffmrljmmmwd
Jun 13 2016, в 20:53
Сообщение #10


Не ходи по косогору, сапоги стопчешь!
Иконка группы

Сообщений: 1423

Вставить имя   :   Цитата

Группа: Участники

Цитата(chitatel @ Jan 17 2015, в 01:05) *
P.S.
Жаль, что JA2 в Стиме только для Windows. С вайном у меня она как-то не срастается... sad.gif Вот в эту игрушку пожалуй сыграл бы ещё...

Оказывается, ja2-stracciatella ще не вмерла! v0.15.0 релиз от 23.05.2016.

amd64 deb-пакет нормально воткнулся в Ubuntu 14.04, data скопировал с виндовозной установки игры - "Золотая серия" Буки 2002 г.

Всё работает, зависаний и вылетов пока не было. Играть можно. Нанял Ивана, Омерту зачистил.


--------------------
Новые сапоги всегда жмут.


Спасибо сказали:
Go to the top of the page
 
+Quote Post

 Reply to this topic Start new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 6th January 2018 - в 09:57




Rating@Mail.ru