Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как сделать GUI- chroot?  (Прочитано 1007 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AlekseyUbuntu

  • Автор темы
  • Активист
  • *
  • Сообщений: 399
    • Просмотр профиля
Как сделать GUI- chroot?
« : 08 Декабря 2020, 09:01:17 »
Kubuntu 20.10

Основная проблема безопасности- установка программ из непроверенных источников. Например, я ставлю небольшую утилиту с Github- а, для которой разумеется нет ограничивающих политик ни у AppArmor, ни у SELinux. В такой ситуации лучше поставить эту утилиту в отдельную ФС, чтобы она не смогла ничего покоцать в основной системе.
Насколько я понял есть возможность с помощью chroot создать еще один корень системы, доступ из которого в основную систему будет невозможен. Мне хочется:
1. Создать не "кастрированный" вариант ФС, а исходно полностью идентичный основному корню (чтобы были все программы и свистелки). Потом конечно, в каждую систему я буду ставить что- то своё, и они начнут отличаться друг от друга.
2. Иметь легкую возможность переключать GUI между двумя этими корнями туда и обратно (а не входить в новое окружение из командной строки с помощью chroot).

Такое возможно?

p.s. Да, я знаю, что  есть VirtualBox, но мне виртуальные машины менее удобны, чем иметь одну ОС с двумя окружениями.
« Последнее редактирование: 08 Декабря 2020, 09:34:04 от AlekseyUbuntu »

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6907
    • Просмотр профиля
Re: Как сделать GUI- chroot?
« Ответ #1 : 08 Декабря 2020, 09:36:33 »
AlekseyUbuntu, то, что ты описал, в точности соответствует режиму "persistent" в "живой системе". А слово chroot там лишнее.

Оффлайн AlekseyUbuntu

  • Автор темы
  • Активист
  • *
  • Сообщений: 399
    • Просмотр профиля
Re: Как сделать GUI- chroot?
« Ответ #2 : 08 Декабря 2020, 09:48:49 »
AlekseyUbuntu, то, что ты описал, в точности соответствует режиму "persistent" в "живой системе". А слово chroot там лишнее.

Пардон, но я вас совсем не понял: что за режим "persistent"? Что значит в "живой системе"? "А слово chroot там лишнее"- там это где?

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6907
    • Просмотр профиля
Re: Как сделать GUI- chroot?
« Ответ #3 : 08 Декабря 2020, 11:43:06 »
Цитировать
там это где?
Там, это - "...между двумя этими корнями туда и обратно".
Режим "persistent" позволяет сохранять изменения в "живой системе". Реализуется монтированием поверх корня, с помошью overlayfs, слоя, в котором и производятся изменения.
Цитировать
Что значит в "живой системе"?
Live.

Оффлайн AlekseyUbuntu

  • Автор темы
  • Активист
  • *
  • Сообщений: 399
    • Просмотр профиля
Re: Как сделать GUI- chroot?
« Ответ #4 : 08 Декабря 2020, 12:45:41 »
Цитировать
там это где?
Там, это - "...между двумя этими корнями туда и обратно".
Режим "persistent" позволяет сохранять изменения в "живой системе". Реализуется монтированием поверх корня, с помошью overlayfs, слоя, в котором и производятся изменения.
Цитировать
Что значит в "живой системе"?
Live.

Надеюсь весь этот бессвязанный текст просто шутка  :)

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6752
  • 20% Cooler
    • Просмотр профиля
Re: Как сделать GUI- chroot?
« Ответ #5 : 08 Декабря 2020, 13:00:14 »
Насколько я понял есть возможность с помощью chroot создать еще один корень системы, доступ из которого в основную систему будет невозможен.
chroot работает в обе стороны.
 
Например, я ставлю небольшую утилиту с Github- а, для которой разумеется нет ограничивающих политик ни у AppArmor, ни у SELinux. В такой ситуации лучше поставить эту утилиту в отдельную ФС, чтобы она не смогла ничего покоцать в основной системе.
Вам нужны контейнеры:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 08 Декабря 2020, 13:10:35 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6907
    • Просмотр профиля
Re: Как сделать GUI- chroot?
« Ответ #6 : 08 Декабря 2020, 13:00:53 »
В каждой шутке есть доля шутки.
Цитировать
Реализуется монтированием поверх корня, с помошью overlayfs, слоя, в котором и производятся изменения
Самое оно.
Цитировать
не "кастрированный" вариант ФС, а исходно полностью идентичный основному корню
Не идентичный, а сама система будет в нижнем, неизменяемом слое.
Цитировать
в каждую систему я буду ставить что- то своё
А это будет верхний слой.
Чтобы не быть совсем голословным, небольшой пример.
« Последнее редактирование: 08 Декабря 2020, 13:30:58 от andytux »

Оффлайн valrust

  • Активист
  • *
  • Сообщений: 364
    • Просмотр профиля
Re: Как сделать GUI- chroot?
« Ответ #7 : 08 Декабря 2020, 20:10:39 »
Насколько я понял есть возможность с помощью chroot создать еще один корень системы

У каждого процесса есть атрибут который показывает какой каталог для этого процесса является корнем. Этот атрибут ядро использует, что бы вычислять пути к файлам, которые начинаются с "/". Так же у процесса есть атрибут cwd, который указывает на текущий рабочий каталог. Этот атрибут ядро использует, что бы вычислять пути к файлам, которые не начинаются с "/". Значения этих атрибутов наследуют дочерние процессы.

chroot не создает нового корня, он просто запускает команду или оболочку с изменённым root.

Изменение chroot не обеспечивает безопасности и изоляции процессов.

Оффлайн KJOI

  • Активист
  • *
  • Сообщений: 286
  • ALT Linux
    • Просмотр профиля
Re: Как сделать GUI- chroot?
« Ответ #8 : 08 Декабря 2020, 23:29:52 »
Kubuntu 20.10

Основная проблема безопасности- установка программ из непроверенных источников. Например, я ставлю небольшую утилиту с Github- а, для которой разумеется нет ограничивающих политик ни у AppArmor, ни у SELinux. В такой ситуации лучше поставить эту утилиту в отдельную ФС, чтобы она не смогла ничего покоцать в основной системе.
Насколько я понял есть возможность с помощью chroot создать еще один корень системы, доступ из которого в основную систему будет невозможен. Мне хочется:
1. Создать не "кастрированный" вариант ФС, а исходно полностью идентичный основному корню (чтобы были все программы и свистелки). Потом конечно, в каждую систему я буду ставить что- то своё, и они начнут отличаться друг от друга.
2. Иметь легкую возможность переключать GUI между двумя этими корнями туда и обратно (а не входить в новое окружение из командной строки с помощью chroot).

Такое возможно?

p.s. Да, я знаю, что  есть VirtualBox, но мне виртуальные машины менее удобны, чем иметь одну ОС с двумя окружениями.
Есть такая штука, делает именно то что вы хотите. Можно даже создавать корни разных платформ дистрибутивов и работать либо в них, либо из хоста, делать и уродовать как угодно.

Но по сути то что вы хотите это боксы типа докера или визуализация OpenVZ.
Хотя мне не понятно почему нельзя просто создать нового пользователя ограничить ему права и работать от него.  ???
Русский Линукс: https://www.basealt.ru/products/simplylinux/
Мой проект git «Kernel Manager» linux: https://github.com/Koi-foo/kernel-manager/

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.