В OpenBSD-current добавлены (http://undeadly.org/cgi?action=article&sid=20140223112426) изменения, позволяющие запустить X-сервер без необходимости выполнения кода с правами root для конфигураций с видеокартами Intel и AMD для которых доступны KMS-модули для переключения видеорежимов на уровне ядра. Если у пользователя нет полномочий открытия /dev/pciN в режиме чтения и записи, файл с устройством теперь открывается в режиме только для чтения без вывода ошибки, что позволяет запускать X-сервер при установке опции machdep.allowaperture=0 за счет исплльзования драйверов inteldrm и radeondrm для организации доступа к памяти ядра и взаимодействия с видеокартой.URL: http://undeadly.org/cgi?action=article&sid=20140223112426
Новость: http://www.opennet.me/opennews/art.shtml?num=39171
Интересно, как будет работать сервер с доступом к видеокарте "только на чтение"?
По большому счету, для запуска графической оболочки нахер не нужны root-привилегии. Доступом к системным областям пусть занимаются системные службы. Ваш К.О. Ну а если надо что-то править/конфигурять - будь добр, введи пароль.
И читать ввод с клавиатуры/мыши, и выводить изображение на экран - тоже должны какие-то "системные службы", никак не относящиеся к дисплейному серверу?
>И читать ввод с клавиатуры/мыши, и выводить изображение на экран - тоже должны какие-то "системные службы", никак не относящиеся к дисплейному серверу?SystemD же. Скоро и в опёнке.
Таки да, для корректного управления правами на доступ к устройству необходим специальный демон, который следит, кто сейчас работает за компом и запустил ли он иксы. Пока на юниксах есть только одна рабочая реализация - systemd-logind.
s/устройству/монитору, клавиатуре и мыши/
эк портерингофанов плющит и таращит-то…
> эк портерингофанов плющит и таращит-то…Смех смехом, а в Red Hat работают над совокуплением иксов и systemd.
https://fedoraproject.org/wiki/Changes/XorgWithoutRootRights
да я давно уже не сомневаюсь, что ломать будут всё. godspeed, чо.
пишет не напрямую в устройство, а через соответсвующие модули, которые уже сами пишут в устройство. Как-то так.
> пишет не напрямую в устройство, а через соответсвующие модули, которые уже сами пишут в устройство. Как-то так.А как организован доступ к этим модулям? "Юзай кто хочет" или "только один пользователь vasya" (гуй для других пользователей не поддерживается)?
поставь да посмотри
Нечего сказать - проходи мимо.
> Нечего сказать - проходи мимо.а нахера спрашивать, если можно просто узнать?
Нет не просто.
Кастую "узнать все"!!
ну в сырцы загляни, если так зудитчмод!
> Интересно, как будет работать сервер с доступом к видеокарте "только на чтение"?Нудк, открывает (если вообще) /dev/pciNNN только на чтение. _Пишет_ он в /dev/dri/card0, на котором есть r/w, например.
> _Пишет_ он в /dev/dri/card0, на котором есть r/w, например.Животрепещущий вопрос - _для кого_ там r/w? Для всех или только для одного избранного пользователя (единственного имеющего право запускать иксы и писать любую хрень в видеодрайвер)?
Обычно делают для группы. Более гибкое решение.
Особенно весело, когда при запущенных иксах другой пользователь из группы (например, сидя по ssh) сделает cat /dev/urandom > /dev/dri/card0, например :)
Таких пользователей с работы гнать обычно надо. Возможно, что уже и с уголовным делом на этого пользователя.
> Таких пользователей с работы гнать обычно надо. Возможно, что уже и с
> уголовным делом на этого пользователя.сначала надо гнать админа, который настроил систему так, что обычный пользователь зачем-то состоит в одной группе с икс-сервером.
И это, несомненно, тоже.
> Таких пользователей с работы гнать обычно надо. Возможно, что уже и с
> уголовным делом на этого пользователя.Ох уж эта замечательная виндовая модель - технически доступ ограничивать не надо, есть же административные методы.
Уголовная статья за создание вирусов уже спасла от них мир, конечно же :)
а какого чёрта криворукий админ позволил «другому пользователю» в иксовую группу лезть? прикинь, а если «другой пользователь» под рутом зайдёт, это вообще катастрофа будет!
> Особенно весело, когда при запущенных иксах другой пользователь из группы (например, сидя
> по ssh) сделает cat /dev/urandom > /dev/dri/card0, например :)А зачем этот другой пользователь это делает? Я так понимаю, если ему дали права, то значит доверяют. Видать зря доверяют, нужно отбирать эти права нахрен (исключить из the группы).
> А зачем этот другой пользователь это делает? Я так понимаю, если ему
> дали права, то значит доверяют. Видать зря доверяют, нужно отбирать эти
> права нахрен (исключить из the группы).Дали ему права исключительно запускать иксы, а в результате получился полный доступ к интерфейсам ввода-вывода (включая ядерный видеоинтерфейс, через который очень удобно ломать ядро). Вот поэтому rootless X в linux и не взлетел - там, в отличие от openbsd, заботятся о безопасности.
> Особенно весело, когда при запущенных иксах другой пользователь из группыКакой группы? Вы предлагаете засунуть юзера и иксы в одну группу? А зачем?
> Какой группы? Вы предлагаете засунуть юзера и иксы в одну группу? А зачем?Чтобы иксы работали без рута, например.
> Особенно весело, когда при запущенных иксах другой пользователь из группы (например, сидя
> по ssh) сделает cat /dev/urandom > /dev/dri/card0, например :)Итак, про _блокировки файлов не слышали:
aLexius, arisu, Xaionaro
и несчётное число Аноним-ов. Это Победа!
>> Особенно весело, когда при запущенных иксах другой пользователь из группы (например, сидя
>> по ssh) сделает cat /dev/urandom > /dev/dri/card0, например :)
> Итак, про _блокировки файлов не слышали:
> aLexius, arisu, Xaionaro
> и несчётное число Аноним-ов. Это Победа!и меня запиши
«победа» — это зачем-то не отделять иксы в отдельную группу. я так полагаю, что это от судорог при виде suid. что-то из разряда «напишу побольше лапши, лишь бы ни одного ненавистного goto!»
>> _Пишет_ он в /dev/dri/card0, на котором есть r/w, например.
> Животрепещущий вопрос - _для кого_ там r/w? Для всех или только для
> одного избранного пользователя (единственного имеющего право запускать иксы и писать любую
> хрень в видеодрайвер)?Если запуск иксов идёт через XDM или DM'ы из официальных пакетов, то они берут управление переключением владельца /dev/drm0 на себя.
Если запуск иксов идёт через "startx" и т.п., то надо перед этим ручками поменять владельца/группу у /dev/drm0 на подходящую.
>как будет работать сервер с доступом к видеокарте "только на чтение"?Со статическим изображением :)
>>как будет работать сервер с доступом к видеокарте "только на чтение"?
> Со статическим изображением :)Нет, монитор превратится в видеокамеру. --[В Советской России?!!] R/O xorg-server смотрит на тебя!
> Интересно, как будет работать сервер с доступом к видеокарте "только на чтение"?В данном случае имеется в виду ограниченный доступ к регистровому пространству PCI.
Для работы памятью видеокарты "напрямую" достаточно DRI/DRM.
о, точно, давно я undeadly не читал. спасибо, что напомнили.лучше бы вот эту новость перевели:
http://undeadly.org/cgi?action=article&sid=20140219085851
в назидание
> о, точно, давно я undeadly не читал. спасибо, что напомнили.
> лучше бы вот эту новость перевели:
> http://undeadly.org/cgi?action=article&sid=20140219085851
> в назиданиеТак переведите. Колхоз - дело добровольное.
я не умею, я только первый абзац перевёл электронным переводчиком.
> я не умею, я только первый абзац перевёл электронным переводчиком.Тогда соблазните кого-нибудь в пределах физической досягаемости. В духе "могу заставить копать другого". :)
> я не умею, я только первый абзац перевёл электронным переводчиком.Переводи им же и остальное, и пости сюда. Для сельской местности сойдет :)
>> я не умею, я только первый абзац перевёл электронным переводчиком.
> Переводи им же и остальное, и пости сюда. Для сельской местности сойдет :)И так уже две полезных новости про openbsd. А та - бесполезная. Так, побаловаться.
Лучше вот это распиарить: http://marc.info/?l=openbsd-misc&m=139328676904326&w=2 . Больше студентов, хороших и разных!
в то время как дефолтный Archlinux up to date с xf86-video-intel и KDE:>$ ps aux | grep X
>root 381 2.7 1.8 563912 294420 tty7 Ssl+ 08:54 10:34 /usr/bin/X :0 vt7 -nolisten tcp -auth /var/run/xauth/A:0-DQxL2b
sudo chmod -s /usr/bin/X
Со своими матами в виде чмоД и суДО иди-ка, отдохни. Это костылище матёрый, если не видишь, значит этот пост пейсал обычный обыкновенный localhost.
> Со своими матами в виде чмоД и суДО иди-ка, отдохни. Это костылище
> матёрый, если не видишь, значит этот пост пейсал обычный обыкновенный localhost.ай, молодец! нифига не понял, что написали, но шашку наголо и в бой! видать, Матёрый Админ к нам завернул.
>> Это костылище матёрый,ты про SUID bit ? Несомненно.
и вообще пруф что в openbsd suid bit убрали. И вообще как они это сделают если другие драйвера без root не работают?Запускать без рут ты в своем арчике мог 7 лет назад если не больше.
> и вообще пруф что в openbsd suid bit убрали. И вообще как
> они это сделают если другие драйвера без root не работают?А никто и не говорил, что убрали. Новость о том, что сделали новую экспериментальную возможность.
>> и вообще пруф что в openbsd suid bit убрали. И вообще как
>> они это сделают если другие драйвера без root не работают?
> А никто и не говорил, что убрали. Новость о том, что сделали
> новую экспериментальную возможность.Не убрали. Однако иксы в опёнке фактически работают под отдельным пользователем "_x11" и привилегии root используются только для необходимого.
>>> и вообще пруф что в openbsd suid bit убрали. И вообще как
>>> они это сделают если другие драйвера без root не работают?
>> А никто и не говорил, что убрали. Новость о том, что сделали
>> новую экспериментальную возможность.
> Не убрали. Однако иксы в опёнке фактически работают под отдельным пользователем "_x11"
> и привилегии root используются только для необходимого.Да, а чтобы убрать - надо все драйвера в Xorg перевести на KMS. Только Xorg - это не OpenBSD, там воли это сделать ни у кого нет, увы.
> Только Xorg - это не OpenBSD, там воли это сделать ни у кого нет, увы.Надо полагать, тот аноним, который устраивает истерику каждый раз при выкидывании из иксов не-kms дров от видях, которые не выпускают уже лет 10 - это тоже вы?
Не истерил, ибо не склонен. Но ругаться - ругался и ругаюсь на другое: в проекте X.org не целостный подход к драйверам и подсистемам, каждый развивается, как хочет. Принудительное выкидывание поддержки UMS при малой поддержке KMS - это банальное наплевательство на сообщество, на разработчиков ОС. Либо вы в сообществе и решаете задачи с учётом состояния экосистемы, либо вы сами по себе.Поймите, в ситуации с KMS различные ОС для X.org - это наоборот апстрим. Целостный подход, о котором я говорю, - это в данном случае был бы: 1) перевод всех видеодрайверов на KMS; 2) поддержка апстрим-проектов в реализации соответствующих механизмов. Когда в том же OpenBSD появился sndio - его разработчики делали патчи для FFmpeg, SDL, libao и т.д., и пропихивали их в апстрим. И пропихнули, и все довольны. А могли бы в духе X.org положить на всех с приборчиком.
KMS - это хорошо. Но наплевательство на апстрим - это плохо.
> Запускать без рут ты в своем арчике мог 7 лет назад если
> не больше.это понятно. просто помню метания копий во время ввода KMS, и как все кричали, что мол теперь rootless X, все дела... но до мейнстрима так и дошло.
и да, 7 лет - это вы загнули.
> это понятно. просто помню метания копий во время ввода KMS, и как
> все кричали, что мол теперь rootless X, все дела... но
> до мейнстрима так и дошло.Потому что logind тогда не было. А без него rootless X - куда большее решeто, чем suid X.
> Потому что logind тогда не было. А без него rootless X -
> куда большее решeто, чем suid X.Один ты эксперт самый умный и красивый.
Фанатики ненужного системгэ лажанулись. На рашнфедоре был большой и пафосный текст о героическом подвиге разработчиков системгэ, которые заявляли что отвязали иксы от root. Хотя на самом деле это было сделано ещё в 2008 году: http://airlied.livejournal.com/59521.html Но патчи не приняты в апстрим.
> Фанатики ненужного системгэ лажанулись. На рашнфедоре был большой и пафосный текст о
> героическом подвиге разработчиков системгэ, которые заявляли что отвязали иксы от root.
> Хотя на самом деле это было сделано ещё в 2008 году:
> http://airlied.livejournal.com/59521.html Но патчи не приняты в апстрим.Наверное, потому, что они предполагали chmod 777 на ядерный видеоинтерфейс :)
>> Фанатики ненужного системгэ лажанулись. На рашнфедоре был большой и пафосный текст о
>> героическом подвиге разработчиков системгэ, которые заявляли что отвязали иксы от root.
>> Хотя на самом деле это было сделано ещё в 2008 году:
>> http://airlied.livejournal.com/59521.html Но патчи не приняты в апстрим.
> Наверное, потому, что они предполагали chmod 777 на ядерный видеоинтерфейс :)Господа, а можно ссылочки? Не критики ради, а любопытства ради.
> Господа, а можно ссылочки? Не критики ради, а любопытства ради.http://lists.x.org/archives/xorg-devel/2009-July/001295.html
> Хотя на самом деле это было сделано ещё в 2008Тема "X без рута" всплывает примерно раз в 5 лет, так же как и другие баяны
типа "Новый init", новый devfs, очередной dbus, очередной DE,...
> Тема "X без рута" всплывает примерно раз в 5 лет, так же как и другие баяны
> типа "Новый init", новый devfs, очередной dbus, очередной DE,...Вот же ж фигней страдают люди. Нет чтобы чем-нибудь полезным заняться. Linux под BSDL переписать, например.
Правильно, - нахрен нужен рут, ломаем систему сразу через Ring0 и шину PCI! :)
> Правильно, - нахрен нужен рут, ломаем систему сразу через Ring0 и шину
> PCI! :)Угу. И нахрен нужны локальные вирусы и руткиты, если и так любая X-овая программа имеет полный доступ к ресурсам другой, может мониторить буфер обмена, все нажимаемые клавиши и перемещения мыши...