[devel] polkit without systemd

Dmitry V. Levin ldv на altlinux.org
Пн Сен 1 21:08:28 MSK 2014


On Mon, Sep 01, 2014 at 08:45:51PM +0400, Alexey Shabalin wrote:
> 1 сентября 2014 г., 20:21 пользователь Dmitry V. Levin
> <ldv на altlinux.org> написал:
> > On Mon, Sep 01, 2014 at 05:02:42PM +0400, Alexey Shabalin wrote:
> >> - вместо прямого запуска systemd-logind запускать скрипт systemd-logind-launch:
> >> --------------------
> >> if ! mountpoint -q /sys/fs/cgroup; then
> >>     mount -t tmpfs -o uid=0,gid=0,mode=0755 none /sys/fs/cgroup
> >> fi
> >> if ! mountpoint -q /sys/fs/cgroup/systemd; then
> >>     mkdir -p /sys/fs/cgroup/systemd
> >>     mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd
> >> /sys/fs/cgroup/systemd
> >> fi
> >> mkdir -p /run/systemd
> >
> > Проверьте, все ли здесь правильно с правами.
> > Скорее всего, 0755 на /run/systemd - это неправильно.
> 
> # mount| grep /sys/fs/cgroup
> tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
> cgroup on /sys/fs/cgroup/systemd type cgroup
> (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
> cgroup on /sys/fs/cgroup/cpuset type cgroup
> (rw,nosuid,nodev,noexec,relatime,cpuset)
> 
> в mount-setup.c это определено так:
> 
>         { "tmpfs",      "/sys/fs/cgroup",            "tmpfs",
> "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME,
>           NULL,       MNT_FATAL|MNT_IN_CONTAINER },

А какие права должны быть у /run/systemd?

> >> exec /lib/systemd/systemd-logind
> >> ------------------------
> >>
> >> - в этом скрипте,при монтировании  /sys/fs/cgroup,
> >> /sys/fs/cgroup/systemd, мы обманываем logind, как будто он работает
> >> под systemd. Но из этого обмана надо исключить тех, кого мы обманывать
> >> не хотим -  service, chkconfig
> >> service использует утилиту sd_booted. её лучше переписать, и научить
> >> использовать функцию sd_booted из libsystemd (например так
> >> http://git.pld-linux.org/?p=packages/systemd.git;a=blob;f=systemd_booted.c)
> >
> > После коммита
> > http://cgit.freedesktop.org/systemd/systemd/commit/?id=v198-67-g66e4118
> > в функции sd_booted из libsystemd осталась только одна проверка:
> > test -d /run/systemd/system/
> > Наверное, мы тоже можем так сделать.
> В общем я это и имел ввиду, проверять только /run/systemd/system.
> Только вдруг это изменится в будущем, поэтому и предложил линковаться
> с libsystemd.

Не хочу линковаться с libsystemd. :)


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 181 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20140901/fc1f6eb5/attachment.bin>


Подробная информация о списке рассылки Devel