Re: xcdroast
On 2003.01.10 at 12:04:28 +0400, Vlad Harchev wrote:
> On Thu, Jan 09, 2003 at 09:03:32PM +0200, Maxim V. Kryzhny wrote:
> > привет,
>
> Кратко: пустить в окне xterm'а на той машине следущее:
> xhost +localhost
>
> Без этого программам другого пользователя запрещено рисовать на дисплее.
Ну неправда это, неправда.
Авторизация в X-ах не имеет никакого отношения к локальным
пользователям той машины, на которой выполняются X-овые клиенты.
Программа либо может предоставить авторизующий токен (magic cookie),
подходящий для данного дисплея, и тогда ее пускают, либо не может.
Команда xhost дает доступ всем программам с определенного хоста (т.е. в
качестве авторизующего токена испольуется имя хоста, на котором работает
клиент), и поэтому ей пользоваться не следует.
Лучше пользоваться нормальными методами авторизации - MIT-MAGIC-COOKIE
и XDM-AUTHORIZATION-1 (последний используется по умолчанию).
Токены эти хранятся (и читаются клиентами) из файла, на который
указывает переменная XAUTHORITY (если не установлена, то из
${HOME}/.Xauthority). Можно извлечь нужный токен из этого файла командой
xauth extract, и передать другому пользователю чтобы тот его включил
в свой файл командой xauth merge. Тогда его пустят к твоему дисплею.
Файл .Xauthority, естественно, имеет права 0600, поэтому другим
пользователям и недоступен.
Но если хочется запустить X-овую программу из-под рута,
достаточно сказать ей XAUTHORITY=~ты/.Xauthority. Из-под рута она твой
файл прочитает, и ее прекрасно пустят к дисплею.
--
Victor Wagner vitus@ice.ru
Chief Technical Officer Office:7-(095)-748-53-88
Communiware.Net Home: 7-(095)-135-46-61
http://www.communiware.net http://www.ice.ru/~vitus
Reply to: