LINUX.ORG.RU

Беззащитный Linux

 ,


0

3

От кого он беззащитный? От дурака. Компьютерного, разумеется. Потому что в нем нет защиты от него.

По порядку. Несколько лет тому назад поставил своему приятелю, который достал меня регулярными просьбами почистить венду от вирусов или вообще переустановить ее.
В конце концов выдвинул ему ультиматум: или Linux, или пусть трахается со своей вендой сам.
Ультиматум был принят. Установил ему Debian 8, и с тех пор наступила благовейная тишина :=)

Однако через какое-то время - шеф, караул, гипс снимают, клиент уезжает!
Оказалось, что он в каким-то макаром включил в файловом менеджере отображение невидимых файлов, и когда увидел «какие-то непонятные файлы с точками», удалил их, думая что это вирусы.
Так мало того - у него еще есть дурацкая привычка всегда держать Корзину пустой.
В итоге все «файлы с точкой канули в лету».

Завел ему новый акк и настрого предупредил - увидишь какие-то «непонятные файлы» - не трогай, а позвони и спроси что делать.
На какое-то время наступила тишина.

И вот недавно - снова караул: пропал Рабочий стол!
Оказалось, что Рабочий стол не пропал, он отображается, но он пустой, и на него нельзя ни скопировать файлы, ни создать ярлыки.
Выяснилось, что в какой-то папке он увидел файл «Рабочий стол», видно, затащил его файловым менеджером, и удалил его.
И следуя своей дурацкой привычке, тут же почистил Корзину.

Мне это дело надоело, и теперь думаю предложить ему самому снова поставить венду и пусть с ней трахается дальше сам.
Потому что не знаю, как защитить Linux от дурака.
Или существует такая защита?

★★★★★

Ответ на: комментарий от Unixson

Получается, скрытые папки в ~ становятся как бы частью настроек системы, и к ним применяются те же методы борьбы с пердолингом, что и к корню. Это дело хорошее. Только можно ведь вообще так рассуждать, что настройки и личные файлы - это разное. В Андроиде файлы пользователя лежат в /mnt/sdcard и никаких настроек там нет, они в /data/data, на том же разделе, что и приложения. И мы когда TWRP бэкапим, мы бэкапим приложения вместе с настройками, а файлы можем не трогать. Если так рассуждать, то и симлинки можно не делать.

А кстати, как насчет разделить предустановленный софт и установленный пользователем?

damix9 ★★★
()
Ответ на: комментарий от damix9

Если так рассуждать, то и симлинки можно не делать.

А типо разлепить данные пользователя и данные приложений вообще? Хм… Надо подумать

А кстати, как насчет разделить предустановленный софт и установленный пользователем?

Это очень здравая идея. Мы же про GUI софт сейчас говорим?

Unixson
()
Ответ на: комментарий от Unixson

А типо разлепить данные пользователя и данные приложений вообще? Хм… Надо подумать

Проблема тут в том, что это никакими разумными костылями не сделать без изменения на уровне приложений. На данный момент во всех трёх декстопных ОС домашний каталог представляет собой свалку из настроек и обычных файлов.

anonymous
()
Ответ на: комментарий от anonymous

обычно все проги какают в .local или с свои отдельные .$soft_name папочки, так что если будут две директории /home/$user и например /Users/$user то настройки не будут пересекаться с данными пользователя. В макоси так сделано кстати по таким же причинам. Там /home есть просто он в файндере не отображается и юзер не зная консоли или как туда войти, ничего нужного не потрет. Flatpak кстати вообще хранит данные программ в .var/app/com.домен.НазваниеПроги. Что как бы уже лучше, потому что понятно где каждая прога хранит свое говно

Unixson
()
Последнее исправление: Unixson (всего исправлений: 1)
Ответ на: комментарий от Unixson

если будут две директории /home/$user и например /Users/$user

Странный лэйаут. Я бы делал что-то типа как сейчас, только без скрытых файлов:

$HOME/cache
$HOME/config
$HOME/local
$HOME/data # здесь по умолчанию стартует шелл, это место открывают файловые менеджеры

В макоси так сделано кстати по таким же причинам

Интересовался, как там сделано, и там же ~/Library, не? И то работает оно так же печально как AppData в в Windows: .ssh, .vscode и прочее оказывается прямо в домашнем каталоге.

В макоси так сделано кстати по таким же причинам

anonymous
()
Ответ на: комментарий от anonymous

~/Library

не смотри, в ~/Library насколько я помню лежат не только настройки, но и локальные фреймворки которые нужны приложениям. Плюс литерали всякий мусор вроде кешей, логов, бдшек и т.д. Во flatpak сделано примерно также, только там .var/app и кеши и прочий мусор хранится вообще отдельно. На маке это ~/Library/Application Support/com.example.MyApp/ а flatpak использует ~/.var/app/com.example.MyApp/ и там хранятся только настройки.

Подробнее тут https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/MacOSXDirectories/MacOSXDirectories.html

А для легаси программ которым нужен /home есть собственно /home. Все очень логично.

Можно сделать как у тебя, но есть программы которые зацепятся за дефолт $HOME/data и будут юзать его как $HOME. А нам этого не нужно. Тем более нет никаких гарантий что приложения будут писать в local. Я ж говорю что есть приложения которые просто создают свою папку (например .steam) и начинают в нее писать. А иногда и одновременно в другие места, например в .local)) Поэтому проще не делать какую-то прям структуру, а просто убрать /home подальше с глаз и подальше от шаловливых рук пользователя)))

И да, ~/Library убрана с глаз долой, но если ее удалить мак может перестать грузиться, или будет что-то неправильно работать

Unixson
()
Последнее исправление: Unixson (всего исправлений: 4)
Ответ на: комментарий от Unixson

Можно сделать как у тебя

На самом деле нет, нельзя, не поломав всё. Нужно поменять не только структуру passwd, но и что-то сделать с горой старых программ.

Поэтому проще не делать какую-то прям структуру, а просто убрать /home подальше с глаз и подальше от шаловливых рук пользователя

Ну, можно, конечно, и так, но это всё равно не фонтан. Да, и я не о пользователях с кривыми руками тут думаю, а о своём «OCD», для ясности :)

Сравнительно разумно любой из этих вариантов можно было бы реализовать расширением стандарта XDG — ввести понятие XDG_HOME как места для файлов, до которых программам не должно быть дела. В базе passwd всё как раньше, но XDG-совместимые программы знают, что может быть альтернативное место для пользовательских файлов. Старые программы работают как раньше.

anonymous
()
Ответ на: комментарий от anonymous

Нужно поменять не только структуру passwd, но и что-то сделать с горой старых программ.

Ну да я ж поэтому и говорю

бы реализовать расширением стандарта XDG — ввести понятие XDG_HOME

А вот это очень хороший поинт!

но это всё равно не фонтан

Это в любом случае никогда не будет фонтан, из-за кучи легаси, но можно просто убрать это с глаз долой. Я понимаю тебя, у меня самого срабатывает девил-окр тригер когда я вижу эту помойку, но с этим ничего не сделаешь

Unixson
()
Ответ на: комментарий от Unixson

А типо разлепить данные пользователя и данные приложений вообще? Хм… Надо подумать

Ну да.

А вот если установлено несколько версий или просто несколько экземпляров одной программы, настройки у них будут общие?

Это очень здравая идея. Мы же про GUI софт сейчас говорим?

Да. Но я думаю, это и к CLI софту применимо.

damix9 ★★★
()
Ответ на: комментарий от anonymous

Смотрю, в теме возник новый тред по выделению пользовательских настроек куда-то в более защищенное место.


Как пример, есть MagOS, где некая часть настроек (автозапуск приложений и служб, пароли, добавление юзера, настройки сети, и т.д.) вынесена в отдельный файл MagOS.ini, который лежит в корневой папке и читается при старте системы. Т.е., если вы что-то снесли в системе, то при перезагрузке это будет заново настроено на лету.

Конечно, этих настроек слишком мало, чтобы кричать «Эврика», но я хотел показать сам принцип другого подхода. А чтобы их (настроек) стало больше, надо уже свои скрипты добавлять (и понимать как это делается).

magos-linux.ru
документация
Хабр

krasnh ★★★
()
Ответ на: комментарий от anonymous

При том, что это кривое опакечивание. А где баги, там без меня зарепортили, просто убунтовские мейнтейнеры ничего не обновляют вовремя.

Если бы кто-то реально делал дистрибутив для новичков, для non-power-users и вот этот вот всё, то там настройки мышки были бы через GUI, а вместо Network Manager по умолчанию было бы установлено что-то более прямое.

damix9 ★★★
()
Последнее исправление: damix9 (всего исправлений: 1)
Ответ на: комментарий от damix9

При том, что это кривое опакечивание.

Всё в кучу свалил.

Если бы кто-то реально делал дистрибутив для новичков, для non-power-users и вот этот вот всё, то там настройки мышки были бы через GUI

Ха-ха, ага, да. Но ведь оно там и есть, если серьёзно.

вместо Network Manager по умолчанию было бы установлено что-то более прямое

А нет ничего больше.

Вообще ты всё своё нытьё собрал в кучу и предъявляешь какие-то претензии в пустоту. При этом, я уверен, не заплатил ни копейки за это всё, не написал ни одного сообщения об ошибке, не помог с переводом и т.д. То есть тебе все всё должны, ещё и бесплатно. Отличная позиция, очень перспективная :)

anonymous
()
Ответ на: комментарий от anonymous

Ха-ха, ага, да. Но ведь оно там и есть, если серьёзно.

Нет. Неполноценно.

Всё в кучу свалил.

А что в кучу? Да, проблемы очень разные, но все они - результат тупого подхода. Программы собирают, но не смотрят, что получается. Не поставить ни новое, ни старое. Чтобы сбежать из dependency hell, я попробовал Flatpak, но он еще хуже. Что-то типа для новичков, но при этом утилита для GUI настроек самая обычная. Даже в Suse что-то там придумали по-своему, через их утилиту параметры ядра можно задать хотя бы.

damix9 ★★★
()
Ответ на: комментарий от damix9

Неполноценно.

Но каким образом это проблема Ubuntu? Кажется, у тебя там это было в KDE, которое даже не на поддержке Canonical. Не говоря уже о том, что это просто очередной пример недоделки в KDE (я не говорю, что в GNOME лучше, тут тоже ускорение указателя отключается не в основных настройках, хотя и в официальном «твикере»).

Программы собирают, но не смотрят, что получается

А кто платит сопровождающим расширения для NM, которое настраивает какой-то там почти никому не нужный L2TP? Я проверил, этот пакет тоже не в списке официально поддерживаемых, да и по отношению к NM является сторонним.

Я использую Debian, и в курсе, что мне тут никто ничего не должен. Что угодно могут собрать так, что оно не будет работать. Ну, бывает. Да что уж там, по лицензии Windows мне тоже никто ничего не должен, хотя за это ещё и заплачено. Явно система не для пользователя, не так ли? В коммерческих линуксах за деньги хотя бы техподдержка есть.

Не поставить ни новое, ни старое.

Выбери другую ОС или приобрети недостающие знания, чтобы сделать всё как надо. Почему-то у меня таких проблем нет.

через их утилиту параметры ядра можно задать хотя бы

Параметры ядра нормальный пользователь менять не должен. И это одна из вещей, которые не должны быть настолько легко доступны.

anonymous
()
Ответ на: комментарий от damix9

Чтобы сбежать из dependency hell, я попробовал Flatpak, но он еще хуже.

Тянет рантайм в котором все есть, есть разграничение прав через Flatseal (GUI утилита), своя песочница. Не было еще ни разу чтобы что-то не установилось или конфликтовало с чем-то другим

Unixson
()
Ответ на: комментарий от Unixson

если пользователь вообще все папки удалит как у ТС-а

Структура MagOS такова, что сами файлы ее могут лежать на отдельном разделе, с запретом юзеру редактировать/удалять их.
Файловая система же создается в RAM (без копирования файлов) посредством aufs/overlayfs (для примерного понимания данной сборки, можно вспомнить LiveCD дистров с сохранением изменений).

Единственно, если делать запрет от юзера, то настраивать придется кому-то другому. :)

upd. Сам я не использую данную сборку, все же там на базе Rosa Linux, а я Арчевод. )
Правда, есть UBLinux на тех же принципах и на арче, и даже в реестре минцифры.

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 3)
Ответ на: комментарий от hateWin

Надежной защиты сложной техники от изобретательного долбо*ба пока не придумали :)

а бэкапы разве не изобрели ещё? да чмоды вроде как для этого были придуманы

User-ganz
()
6 марта 2024 г.
Ответ на: комментарий от anonymous

Кажется, у тебя там это было в KDE, которое даже не на поддержке Canonical.

Как это не на поддержке? Она вся из реп, не из PPA.

А кто платит сопровождающим расширения для NM, которое настраивает какой-то там почти никому не нужный L2TP? Я проверил, этот пакет тоже не в списке официально поддерживаемых, да и по отношению к NM является сторонним.

А кому таки надо заплатить? Я не против купить ОС, но чтоб без пердолинга. Потому что фактически я ее и так покупаю своим временем. Ну и куда ж без ненужно.

Что угодно могут собрать так, что оно не будет работать. Ну, бывает. Да что уж там, по лицензии Windows мне тоже никто ничего не должен, хотя за это ещё и заплачено. Явно система не для пользователя, не так ли?

В Windows программы собираются разработчиками и лежат в магазине приложений либо на ресурсах разработчиков. Там мейнтейнеры не могут накосячить, потому что нет мейнтейнеров. И мышка там настраивается просто в панели управления. Я вдруг понял, что Windows - не говно, я просто составлял впечатление о ней по Висте.

Параметры ядра нормальный пользователь менять не должен.

А как пердолить ждущий режим, графику, а на ноутах ещё и яркость?

damix9 ★★★
()
Ответ на: комментарий от Unixson

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

«Открыть с помощью ...» во flatpak

Долбанутый Flatpak

damix9 ★★★
()
Ответ на: комментарий от damix9

Там пока не все гладко и пахнет цветами, но это хоть какой-то шаг в правильном направлении. По крайней мере есть flatseal (gui программа) где это все настраивается, но у меня не работает половина опций что там есть. На самом деле не хватает простых GNUstep-style .app bundles.

Хотя флатпак я бы оставил как формат. Я сейчас пишу плагин для флатпака который позволит в теории устанавливать флатпаки без интернета из самодостаточного образа.

Unixson
()

В Windows эта проблема, насколько я понимаю, решена так: если в файловом менеджере из папки «Documents» пойти вверх, то ты попадаешь не в помойку C:\Users\username\, а на экранчик «This PC». То есть в «домашнюю директорию» пользователь не попадает без специальных усилий. Это хорошо и правильно.

Было бы правильно вообще в фм никогда не показывать ничего вне $XDG_*_DIR и /var/run/media/username. Но яйца нынче в дефиците, и даже Gnome не решится. А вы, судя по пропавшему рабочему столу, еще и чем-то другим издеваетесь над пожилым человеком.

akho
()