Локальная закулиса
Oct. 12th, 2012 10:49 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Пришла тут мысль, что в операционной системе, кроме понятия "сессия" дожно существовать понятие "закулиса".
В смысле, контекст, в котором выполняются действия от имени пользователя, независимо от того, есть в данный момент этот пользователь рядом с компьютером или нет.
В классическом unix фактически единственным представителем закулисы являются кроновские задания.
Несколько позже появились всякие procmail-ы и sieve.
Но по мере того, как компьютеры становятся мобильными и обрастают сенсорами, а также развиваются сети, количество событий на которые может потребоваться отреагировать, возрастает.
Достижение определенной географической точки/соты/wi-fi сети. Появление в радиусе действия какого-то локального протокола (wifi, bluetooth, подключение USB-шнурком) принадлежащего пользователю гаджета, завершение закачки файла (я считаю что это событие следует рассматривать отдельно от "завершение очередного этапа в пакетном задании", так как закачка файла может производиться каким-нибудь mldonkey, который закачав этот файл продолжает работать с десятью другими закачками трех других пользователей, или вообще речь идет о том что кто-то зааплоадил файл на анонимный ftp)
По всем этим событиям может потребоваться реакция, которая должна осуществляться именно с правами пользователя.
В смысле, контекст, в котором выполняются действия от имени пользователя, независимо от того, есть в данный момент этот пользователь рядом с компьютером или нет.
В классическом unix фактически единственным представителем закулисы являются кроновские задания.
Несколько позже появились всякие procmail-ы и sieve.
Но по мере того, как компьютеры становятся мобильными и обрастают сенсорами, а также развиваются сети, количество событий на которые может потребоваться отреагировать, возрастает.
Достижение определенной географической точки/соты/wi-fi сети. Появление в радиусе действия какого-то локального протокола (wifi, bluetooth, подключение USB-шнурком) принадлежащего пользователю гаджета, завершение закачки файла (я считаю что это событие следует рассматривать отдельно от "завершение очередного этапа в пакетном задании", так как закачка файла может производиться каким-нибудь mldonkey, который закачав этот файл продолжает работать с десятью другими закачками трех других пользователей, или вообще речь идет о том что кто-то зааплоадил файл на анонимный ftp)
По всем этим событиям может потребоваться реакция, которая должна осуществляться именно с правами пользователя.
no subject
Date: 2012-10-12 09:58 am (UTC)no subject
Date: 2012-10-12 10:39 am (UTC)Shared hosting это совсем другой паттерн использования компьютеров.
И я всегда заявлял, что запускать CGI от того же пользователя, которому принадлежат их исполняемые файлы - неверно и небезопасно. Для каждого клиентах shared-хостинга нужно заводить минимум двух юзеров - одного, который будет владельцем неизменяемого контента (включая исполняемый код), и другого - от имени которого будут выполняться CGI. Эти два юзера, естественно должны быть членами одной группы, чтобы могли быть файлы, доступные и юзеру и cgi, но недоступные другим клиентам.
no subject
Date: 2012-10-14 08:42 pm (UTC)no subject
Date: 2012-10-12 11:29 am (UTC)no subject
Date: 2012-10-12 11:38 am (UTC)Но для того чтобы она начала в таком качестве работать, нужен инструмент позволяющий легко конфиугурировать команды, запускаемые по определенным событиям. Сейчас такого нет.
Поскольку разработка d-bus-клиентов ведется преимущественно в рамках проектов DE, а там вообще не думают о том, что сессии может не быть и всю обработку делают в GUI-приложениях.
Вот для maemo такой обработчик системной шины d-bus когда-то написали, и использовали для грязного хака с подключением к Bluetooth PAN.