On Fri, Jan 10, 2003 at 04:23:36PM +0300, Victor Wagner wrote: > 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. Из-под рута она твой > файл прочитает, и ее прекрасно пустят к дисплею. Все обстоит именно так. -- Best regards, -Vlad