LinuxForum.Fans
Тема

X и удаленный клиент

Автор: MSUer 22 сообщений 1958 просмотров
#263574

На одной машине (с локальным IP 192.168.0.102) поднимаю X-сервер.

text
first$ X

на ней же проверяю подключение клиента по TCP/IP

text
first$ xterm -display 192.168.0.102:0

работает
запускаю этот же код с другой машины получаю следующее:

text
second$ xterm -display 192.168.0.102:0
No protocol specified
xterm Xt error: Can't open display: 192.168.0.102:0

оба компа пингуются и на обоих стоит Debin 6.0.5 (squeeze)
Подскажите, пожалуйста, в какую сторону смотреть для решения подобной проблемы?

#263629

Если это не работает, подключайтесь к удалённой машине из xterm по SSH,
тогда и запускать ничего не потребуется.

Пётр.

#263632

ssh -X, сразу говорю, не подходит

#263667

по идее должно хватить xhost +inet:<удалённая машина> на машине с икс сервером...
и при подключении наверно нужно будет указать: DISPLAY="192.168.0.102:0.0" xterm

#263679

Да xhost помогает, однако проблема в том, что его нужно указывать при каждом поднятии сервера, как сделать, чтобы список разрешенных соединений сохронялся для каждого запуска сервера?

#263680

В разных дистрибутивах, наверное, настройки могут отличаться, но посмотрите скрипты в /etc/X11/xinit на предмет указания опций запуска «иксов».

#263682
Fat-Zer написал:
по идее должно хватить xhost +inet:<удалённая машина> на машине с икс сервером...
и при подключении наверно нужно будет указать: DISPLAY="192.168.0.102:0.0" xterm

Теперь у меня вопрос: какие права на удалённой машине будут при таком подключении?
Ведь X-сервер запускается с правами root?
И зачем вообще это предусмотрено, если есть SSH и подобные программы для авторизации
на удалённом компьютере?

Пётр.

#263684
"Peter" написал:
Теперь у меня вопрос: какие права на удалённой машине будут при таком подключении?

права будут такими, под какими ты запустил программу на клиенте, она будет работать на твоем клиенте, но с использованием ресурсов удаленного Х-сервера (терминология на самом деле обратная - клиент удаленный будет)

"Peter" написал:
Ведь X-сервер запускается с правами root?

совсем необязательно

"Peter" написал:
И зачем вообще это предусмотрено, если есть SSH и подобные программы для авторизации на удалённом компьютере?

это абсолютно разные вещи

#263686
"MSUer" написал:
Да xhost помогает, однако проблема в том, что его нужно указывать при каждом поднятии сервера, как сделать, чтобы список разрешенных соединений сохронялся для каждого запуска сервера?

можно в ~/.xinit запихнуть... ну или ещё в какой автостарт... а вообще подобная фича иксов - это один из способов прострелить себе ногу...

"Peter" написал:
какие права на удалённой машине будут при таком подключении?

удалённая машина это какая? на той на которой xterm, тогда с правами того юзера, которой запустил xterm... на сервере без разницы: сервер только рисует картинки и отсылает события клавиатуры... на сервер работает с правами того, кто запустил иксы.

"Peter" написал:
Ведь X-сервер запускается с правами root?

нет, он может быть запущен с любыми правами...

"Peter" написал:
И зачем вообще это предусмотрено, если есть SSH и подобные программы для авторизациина удалённом компьютере?

иксы появились, когда ssh ещё и в проекте не было...

#263689
"Fat-Zer" написал:
можно в ~/.xinit запихнуть..

куда-куда? о_О

#263695
"MSUer" написал:
куда-куда? о_О

ну ~/.xinitrc очепятка...

#263709
"Fat-Zer" написал:
ну ~/.xinitrc очепятка...

я не пойму откуда ты такое взял? о_О

#263741
"MSUer" написал:
я не пойму откуда ты такое взял? о_О

man startx
man xinit

#263770
Fat-Zer написал:

[quote="Peter"]какие права на удалённой машине будут при таком подключении?

удалённая машина это какая? на той на которой xterm, тогда с правами того юзера, которой запустил xterm... на сервере без разницы: сервер только рисует картинки и отсылает события клавиатуры... на сервер работает с правами того, кто запустил иксы.
[/quote]
Я об этом и говорю. Т.е. получается, что, если владелец Xorg - root, то при таком соединении кто угодно получает
на сервере права root.

"Peter" написал:
Ведь X-сервер запускается с правами root?

нет, он может быть запущен с любыми правами...

М.б. и может, но я помню, что года три назад на форуме ASPLinux именно обсуждался вопрос, почему Xorg
запускается с правами root, я тогда посмотрел в Debian, там тоже от root.
Сейчас я в Ubuntu 11.04 с трудом запустил X-ы по startx как user, при этом панель Gnome не появилась, а в tty1
было подряд несколько сообщений от Xalloc, что запрошено нежелательно большое количество
памяти, точно не помню, но команда top показала, что владелец Xorg - root.
Пётр.

#263778
"Peter" написал:
Я об этом и говорю. Т.е. получается, что, если владелец Xorg - root, то при таком соединении кто угодно получаетна сервере права root.

ещё раз: сервер только отрисовывает картинки на экране и передаёт события мыши и клавиатуры приложению... ничего больше он не делает... всеобщей дыры тут нет... только если дырка в самом Xorg'е.

"Peter" написал:
М.б. и может, но я помню, что года три назад на форуме ASPLinux именно обсуждался вопрос, почему Xorgзапускается с правами root, я тогда посмотрел в Debian, там тоже от root.Сейчас я в Ubuntu 11.04 с трудом запустил X-ы по startx как user, при этом панель Gnome не появилась, а в tty1было подряд несколько сообщений от Xalloc, что запрошено нежелательно большое количествопамяти, точно не помню, но команда top показала, что владелец Xorg - root.

ну да... он setuid'ный. значит и правда только от root'а можно запустить...

#263855
Fat-Zer написал:
[quote="Peter"]Я об этом и говорю. Т.е. получается, что, если владелец Xorg - root, то при таком соединении кто угодно получаетна сервере права root.

ещё раз: сервер только отрисовывает картинки на экране и передаёт события мыши и клавиатуры приложению... ничего больше он не делает... всеобщей дыры тут нет... только если дырка в самом Xorg'е.
[/quote]
Хорошо, тогда в чём смысл запуска xterm на X-сервере на удалённом компьютере?
Если вводимые в нём команды будут исполняться на компьютере, с которого установлено
соединение, но с использованием ресурсов X-сервера на удалённом, как тут объясняли,
так что это даст? Что, из консоли возможно так запустить xterm на чужом X-сервере?
Или из своих X-ов, но на более мощном компьютере? Всё это как-то странно выглядит,
что без авторизации можно так использовать чужие ресурсы.

Пётр.

#263871
"Peter" написал:
Хорошо, тогда в чём смысл запуска xterm на X-сервере на удалённом компьютере?Если вводимые в нём команды будут исполняться на компьютере, с которого установленосоединение, но с использованием ресурсов X-сервера на удалённом, как тут объясняли,так что это даст? Что, из консоли возможно так запустить xterm на чужом X-сервере?Или из своих X-ов, но на более мощном компьютере? Всё это как-то странно выглядит,что без авторизации можно так использовать чужие ресурсы.

дык это же всё разрабатывалось в те времена, когда растровый дисплей был не у каждой тачки, в соседней комнате стоял пяток VAX-шкафов, пользователи были умные, а сети маленькие и можно было дать по шапке/сказать спасибо тому, кто на твой дисплей вывел xterm с ASCII-сиськами...
и man xhost — там есть при желании авторизация через какие-то дебри...

#263891

Да, я вижу, что ещё много есть загадочного в природе.

Пётр.

#263899
"Peter" написал:
Хорошо, тогда в чём смысл запуска xterm на X-сервере на удалённом компьютере?
Если вводимые в нём команды будут исполняться на компьютере, с которого установлено
соединение, но с использованием ресурсов X-сервера на удалённом, как тут объясняли,
так что это даст? Что, из консоли возможно так запустить xterm на чужом X-сервере?
Или из своих X-ов, но на более мощном компьютере? Всё это как-то странно выглядит,
что без авторизации можно так использовать чужие ресурсы.

Эта модель иногда и сейчас используется в тонких клиентах - когда у тебя небольшая коробачка, на которой какимто образом работают иксы или что-то в этом роде а вся операционная система висит на удаленном сервере. Одним SSH тут не обойдешься))

Войдите или зарегистрируйтесь, чтобы ответить.