Summary: | wrong perms on /dev/snd/timer | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Sergey Bolshakov <sbolshakov> |
Component: | startup | Assignee: | Alexey Gladkov <legion> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | glebfm, ldv, legion, shaba |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Sergey Bolshakov
2013-10-30 15:07:08 MSK
уточните пожалуйста, это без systemd? под SysV? А после обновления не перегружались? Возможно это обновление не корректно происходит, и после перезагрузки все исправится. Сейчас kmod на основании /lib/modules/@kernel@/modules.devname генерит /run/tmpfiles.d/kmod.conf для создания устройств - в нем все устройства с правами 0600. d /dev/snd 0755 - - - c /dev/snd/timer 0600 - - - 116:33 d /dev/snd 0755 - - - c /dev/snd/seq 0600 - - - 116:1 Но правильные права должны применятся на основе udev-rules. SUBSYSTEM=="sound", GROUP="audio", \ OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer" судя по udev-rules.c, если группа определена, то права должны быть 0660. возможно что при обновлении как-то подхватился /run/tmpfiles.d/kmod.conf и устройства создались, но udev почему-то не применил к ним правила. делался dist-upgrade, затем перезагрузка (в новое ядро). # tail -4 /run/tmpfiles.d/kmod.conf d /dev/snd 0755 - - - c /dev/snd/timer 0600 - - - 116:33 d /dev/snd 0755 - - - c /dev/snd/seq 0600 - - - 116:1 sysv, runlevel 3, локально не логинился. права на прочие /dev/snd/* как и обычно, 0660 root:audio У меня заработало нормально, после монтирования с -o bind /var/run на /run. Попробуйте. Надо окончательно решить монтирование /var/run для SysV. Да и сами программы привести к единому требованию (либо /var/run, либо /run) так, извиняюсь, дело не только в этом. пропадает /run/tmpfiles.d/kmod.conf и права нормальные. пока разбираюсь. и все же, если добиться правильного монтирования /var/run в /run - то все начинает работать(права выставляются). нашел виновника. исправьте в /etc/rc.d/scripts/cleanup systemd-tmpfiles --create на systemd-tmpfiles --create --remove --exclude-prefix=/dev да, помогло. (В ответ на комментарий №7) > нашел виновника. > исправьте в /etc/rc.d/scripts/cleanup > systemd-tmpfiles --create > на > systemd-tmpfiles --create --remove --exclude-prefix=/dev Прошу исправить. А теперь мне объясните. :) (В ответ на комментарий №10) > А теперь мне объясните. :) Из /etc/init.d/udevd вызывается только создание устройств(фильтр --prefix=/dev) /sbin/systemd-tmpfiles --prefix=/dev --create применяются правила udev(права, группы и т.п.) А потом вызывается systemd-tmpfiles --create из /etc/rc.d/scripts/cleanup и затирает все права,группы. Поэтому в /etc/rc.d/scripts/cleanup при вызове systemd-tmpfiles надо исключить повторное создание устройст, а создавать только нужное в /var/run и т.п. для этого используется фильтр --exclude-prefix=/dev systemd-tmpfiles --create --remove --exclude-prefix=/dev А почему --remove? (В ответ на комментарий №12) > А почему --remove? по аналогии с апстримными юнит-файлами. и еще, не совсем по баге, но тоже имеет отношение. Надо для sysV окончательно сделать /var/run и /run идентичными (симлинк или mount --bind) (/var/lock и /run/lock тоже). А то наблюдается бардак, /run присутствует уже давно, и часть ПО использует /run, а большинство /var/run. С этим надо окончательно покончить. startup-0.9.9.2-alt1 -> sisyphus: * Wed Nov 06 2013 Dmitry V. Levin <ldv@altlinux> 0.9.9.2-alt1 - scripts/cleanup: pass --remove --exclude-prefix=/dev to systemd-tmpfiles (closes: #29537). Дмитрий, для tmpfiles начиная с v209 был добавлен новый параметр ------ If the exclamation mark is used, this line is only safe of execute during boot, and can break a running system. Lines without the exclamation mark are presumed to be safe to execute at any time, e.g. on package upgrades. systemd-tmpfiles will execute line with an exclamation mark only if option --boot is given. For example: # Make sure these are created by default so that nobody else can d /tmp/.X11-unix 1777 root root 10d # Unlink the X11 lock files r! /tmp/.X[0-9]*-lock The second line in contrast to the first one would break a running system, and will only be executed with --boot. ----------- прошу обновить и добавить параметр --boot. Должно выглядеть так: systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (In reply to comment #16) > Дмитрий, для tmpfiles начиная с v209 был добавлен новый параметр Тогда придется ставить зависимость на >= 209? да, предыдущие версии не поддерживали "!" в tmpfiles и не было параметра --boot. startup-0.9.9.5-alt1 -> sisyphus: * Sun Mar 23 2014 Dmitry V. Levin <ldv@altlinux> 0.9.9.5-alt1 - scripts/cleanup: pass --boot to systemd-tmpfiles --remove --create (once more closes: #29537) |