Bug 23377 - Возможность запуска alteratord, alterator-{standalone,cmdline} от любого юзера
: Возможность запуска alteratord, alterator-{standalone,cmdline} от любого юзера
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/alterator)
: unstable
: all Linux
: P3 enhancement
Assigned To:
:
: http://git.altlinux.org/people/snejok...
:
:
: 18321
  Show dependency tree
 
Reported: 2010-04-22 22:34 by
Modified: 2014-04-23 18:45 (History)


Attachments
Добавляет интеллект по поиску каталога для сокета и лога (1.79 KB, patch)
2011-07-22 13:30, Lenar Shakirov
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-04-22 22:34:10
У меня на git.alt лежит alterator.git с чуть измененными d.scm и
alteratord.scm, который добавляет возможность запуска alterator'а от простого
юзера.

При запуске путь к сокету определяется через переменную TMPDIR, например
/tmp/.private/testuser/alterator/.socket. У root'а путь к сокету всегда
/tmp/alterator/.socket. Есть обработка ситуации с отсутствием переменной TMPDIR

Права на сокет при запуске от root'а как обычно root._alterator:660, от юзера
testuser.testuser:660

PS: кстати сокет лежит там же, где свой сокет создает alterator-browser-qt
------- Comment #1 From 2011-07-22 13:30:03 -------
Created an attachment (id=5021) [details]
Добавляет интеллект по поиску каталога для сокета и лога

Патч наглядно демонстрирует что изменения сводятся лишь к добавлению интеллекта
по формированию пути для создания сокета и лога.

Изменение в alterator-cmdline пока не прикладываю, т.к. его как следует не
протестировал.
------- Comment #2 From 2011-10-06 11:30:17 -------
На всякий -- когда-то (кажется, в 3.0) alterator-i18n понимал разницу между
запуском от рута и от пользователя, соответственно правил /etc/sysconfig/i18n и
~/.i18n; и это было хорошо.
------- Comment #3 From 2011-10-06 12:12:11 -------
Зачем его от пользователя запускать? Какая задача решается?
------- Comment #4 From 2011-10-06 12:20:18 -------
(В ответ на комментарий №3)
> Зачем его от пользователя запускать? Какая задача решается?

Настройка терминальных соединений на тонком клиенте и собственно их запуск.
Это аналог альтового проекта Helios:
squashfs образ ТК, Xorg+пакет autologin, запуск "Списка соединений" с кнопками
"Подключится", "Информация" и "Настройка" (последняя просто запускает acc)

http://git.altlinux.org/people/snejok/packages/?p=alterator-thinner.git;a=summary
------- Comment #5 From 2011-10-06 15:39:39 -------
(В ответ на комментарий №3)
> Зачем его от пользователя запускать?
Когда-то это было можно и использовалось.

> Какая задача решается?
Разные настройки для разных пользователей.
------- Comment #6 From 2011-10-06 17:01:55 -------
(In reply to comment #5)
> (В ответ на комментарий №3)
> > Зачем его от пользователя запускать?
> Когда-то это было можно и использовалось.
> 
> > Какая задача решается?
> Разные настройки для разных пользователей.
Может это тогда другой инструмент? Т.е. не ставить такую задачу перед
альтератором и найти другое решение? Он же (альтератор) "плоский" и понятный,
если исходить из того, что это инструмент администратора.
------- Comment #7 From 2012-05-11 04:55:30 -------
(In reply to comment #1)
> Изменение в alterator-cmdline пока не прикладываю,
> т.к. его как следует не протестировал.
А оно вообще нужно?  Прикидывается работающим с приложенным патчем.

(In reply to comment #6)
> > > Какая задача решается?
> > Разные настройки для разных пользователей.
> Может это тогда другой инструмент?
Например? :)
------- Comment #8 From 2012-05-12 19:29:28 -------
(В ответ на комментарий №7)
> (In reply to comment #1)
> > Изменение в alterator-cmdline пока не прикладываю,
> > т.к. его как следует не протестировал.
> А оно вообще нужно?  Прикидывается работающим с приложенным патчем.

Нужно: от простого юзера тоже запускаю alterator-cmdline

<skip>
------- Comment #9 From 2012-05-12 20:46:18 -------
К тому, что у меня alterator-cmdline от простого юзера как раз и работает;
посмотрел -- на первый взгляд не вижу, что ещё в нём править.

Собсно такая сборка alterator со вчера работает -- собирать тестовый таск или
сразу в сизиф, есть возражения?
------- Comment #10 From 2012-05-13 14:15:37 -------
(В ответ на комментарий №9)
> К тому, что у меня alterator-cmdline от простого юзера как раз и работает;
> посмотрел -- на первый взгляд не вижу, что ещё в нём править.

Я думаю это из-за того, что alteratord _уже_ запущен от _обычного_юзера_,
возможно его запустил acc (alterator-standalone). Попробуйте его прибить и
запустить alterator-cmdline не получится.

Дело в том, что alterator-cmdline:
- не умеет работать без alteratord и использует его сокет -
/var/run/alteratord/.socket;
- запущенный alterator-cmdline от обычного пользователя не может писать в
сокет, т.к. там srw-rw---- 1 root _alteratord /var/run/alteratord/.socket
- не умеет (как и ahttpd) самостоятельно запускать alteratord (а вот acc
(alterator-standalone) умеет);

Мой патч как раз исправляет третий пункт: учит alterator-cmdline запускать
alteratord, если он не запущен (от текущего юзера).

> Собсно такая сборка alterator со вчера работает -- собирать тестовый таск или
> сразу в сизиф, есть возражения?

Т.к. у нас нет "генерального конструктора" по alterator'у, то лучше тестовый и
попросить протестить в sisyphus@/community@
------- Comment #11 From 2012-05-13 14:20:18 -------
(В ответ на комментарий №10)
<skip>
> - не умеет (как и ahttpd) самостоятельно запускать alteratord (а вот acc
> (alterator-standalone) умеет);
> 
> Мой патч как раз исправляет третий пункт: учит alterator-cmdline запускать
> alteratord, если он не запущен (от текущего юзера).

Я имел ввиду вот этот патч:
http://git.altlinux.org/people/snejok/packages/?p=alterator-old.git;a=commitdiff;h=a7f5eca5869dd4935a6744dc69dcdd4cd8730f22

Вот его я не очень хорошо протестировал и не уверен что это верное решение.
------- Comment #12 From 2012-05-14 19:54:02 -------
(In reply to comment #10)
> Я думаю это из-за того, что alteratord _уже_ запущен от _обычного_юзера_,
> возможно его запустил acc (alterator-standalone). Попробуйте его прибить и
> запустить alterator-cmdline не получится.
В том-то и дело, что просто работает:

$ pidof alteratord  
$ ls -l $TMP/alterator/browser-sock                 
/bin/ls: cannot access .../alterator/browser-sock: No such file or directory
$ /usr/sbin/alterator-cmdline -l /mkimage/arches action list                    

name:32-bit
label:i586
$ _
------- Comment #13 From 2012-05-14 20:18:30 -------
(В ответ на комментарий №12)
> (In reply to comment #10)
> > Я думаю это из-за того, что alteratord _уже_ запущен от _обычного_юзера_,
> > возможно его запустил acc (alterator-standalone). Попробуйте его прибить и
> > запустить alterator-cmdline не получится.
> В том-то и дело, что просто работает:
> 
> $ pidof alteratord  
> $ ls -l $TMP/alterator/browser-sock                 
> /bin/ls: cannot access .../alterator/browser-sock: No such file or directory
> $ /usr/sbin/alterator-cmdline -l /mkimage/arches action list                    
> 
> name:32-bit
> label:i586
> $ _

Дык "-l" же! :)

=== /usr/sbin/alterator-cmdline ===

(if (option-ref options 'local #f)
   (begin (alterator-init-local)
         (d-init-local))
   (alterator-init-global))

=== /usr/sbin/alterator-cmdline ===

а мой патч добавляет (d-init-global):
(if (option-ref options 'local #f)
   (begin (alterator-init-local)
         (d-init-local))
   (begin (alterator-init-global)
         (d-init-global)))
------- Comment #14 From 2012-05-14 22:04:10 -------
А, вот что.  Посмотрел d.scm -- похоже, всё правильно: это остатки той самой
былой роскоши и именно их и надо было вновь задействовать.  УМВР и без -l.
------- Comment #15 From 2012-05-14 22:09:11 -------
alterator-4.21-alt1 -> sisyphus:

* Mon May 14 2012 Michael Shigorin <mike@altlinux> 4.21-alt1
- add support for non-privileged execution of alteratord,
  alterator-cmdline (by Lenar Shakirov; closes: #23377)
- fix finding out current user: "cuserid" not working in hasher
  (by Lenar Shakirov)