Здравствуйте!
Столкнулся с необходимостью запускать chromium от имени другого пользователя в уже запущенных иксах (awesome).
создал пользователя, однако при попытке запуска:
No protocol specified
[2120:2120:0609/173120.236090:ERROR:browser_main_loop.cc(272)] Gtk: cannot open display: :0
Что странно - если из под tty стартовать искы, то запускается стандартный awesome, и там уже без всяких проблем стартует хром!
Проверял на разность принадлежности пользователей к группам доступа - но там ничего особенного, никаких различий.
Грешу на доступ к иксам, суть в том, чтобы второму пользователю (который из под первого запускает хром) предоставить минимум прав для доступа к первому (в связи с этим расшаривать все доступы первого не вариант, как и добавлять второго в одноименную группу первого пользователя)
В общем, очень расчитываю на Вашу помощь! (Логов иксы в /var/logs не плодят)
Дело не в хромиуме (и даже не в systemd). У второго пользователя нет доступа к иксам первого. Чтобы его предоставить сделай от того пользователя, от которого запущены иксы:
xhost +local:
upd: пост целиком не читай @ сразу отвечай
суть в том, чтобы второму пользователю (который из под первого запускает хром) предоставить минимум прав для доступа к первому (в связи с этим расшаривать все доступы первого не вариант, как и добавлять второго в одноименную группу первого пользователя)
Второй пользователь существует только для этой цели? В таком случае лучше не городить костыли, а воспользоваться firejail, там всё довольно подробно можно поограничивать как надо и запереть программу во временном «хомяке» без доступа к файлам в реальном и т. д.
Но полностью ограничить доступ к исксам, но при этом дать пользоваться этими самыми иксами, невозможно. То есть, кейлоггер всё равно можно будет сделать, например. Сама архитектура иксов не позволяет от этого защититься. Выход — только запускать отдельные иксы (можно в окне внутри существующих, например, используя Xephyr). В Wayland проблема не существует by design — каждое окно может читать и только себя и рисовать только в отведённую область. Одно из немногих реально ощутимых преимуществ вяленого.
Помогло, спасибо!
Такой вопрос - получается мы полностью расшариваем иксы первого?
Нет ли возможности вытянуть в таком случае какие-либо данные?
Если да, то можно ли как-нибудь «обезопасить» такое предоставление доступа?
И, если не затруднит, не могли бы Вы в общих чертах пояснить механику этой команды?
апдейта не дожидайся @ вопрос на ответ задавай.
А что из этого наиболее эффективнее в плане безопасности?
Ориентируюсь именно на это.
И где можно почитать по грамотной политике доступа для этого второго пользователя, который хром и запускает?
Помогло, спасибо! Такой вопрос - получается мы полностью расшариваем иксы первого? Нет ли возможности вытянуть в таком случае какие-либо данные?
ЕМНИП, всё плохо.
Поскольку X-сервер общий, программы, запущенные из-под одного пользователя, могут пользоваться штатными возможностями X-сервера для доступа к чужим окнам. В частности, любая программа, запущенная под одним пользователем, имеет полный доступ ко всем открытым окнам другого пользователя. Это позволяет ей делать снимки чужих окон и всего экрана, считывать нажатия всех клавиш под чужим пользователем (через xev), а также иметь с ним общий буфер обмена для копирования и вставки текста.
И что делать в таком случае?
Настройка фаервола (отсекать любой подозритеьный исходящий трафик)?
Виртуальная машина в виртуальной машине в виртуальной машине?
Перелезать на Tails обязательно, или арч можно настроить (действительно, зачем использовать то, что готово?)?
Планируется так же хранить связки логинов и паролей (в зашифрованом виде), было бы печально, если этот файл выцепят и расшифруют.
А чего настраивать? Изоляция браузера? В первую очередь стоит рассмотреть firejail как выше посоветовали или apparmor, хотя бы, selinux сложнее. Но если запускать всякое уг, типа шкайпа, например, то надёжнее в дуалбут такое отправлять. Ну и не держать критичные данные в нерасшифрованном виде, когда не нужны. Те, кому нужна защита повышенного уровня обычно точнее знают модель угроз и нужен ли им для задачи tails или whonix.
Если без паранои - запусти отдельные иксы в Xephyr'е и дай юзеру доступ туда. Возможно есть смысл в контейнер это всё запихать, но это уже тоже на грани. Хотя зависит.
А если с паранойей 11/10?
Тащемта, выше обсуждался момент, что иксы в иксах - не канает, тем более Xephyr.
Там свои иксы свои на локаль надо расширивать.