I demand that Peter Juszack may or may not have written...
By now I ran vdr as root. I wanted to change that but never did...
When the setuid-stuff was introduced I now managed to do so. Since I beleive some people use Debian (like me)
I've been running it as non-root for ages.
I will shortly describe what has to be done to eliminate access problems. I don not use LIRC so there will be no hints about that.
- Create group vdr
groupadd vdr
No need. It'll be created by adduser.
- Create user vdr (no shell, home directroy will be video dir)
useradd -s /bin/false -d /home/recordings -g vdr
Use adduser (see my vdr package - URL in .sig - for details).
- Add user vdr to other groups if necessary (edit /etc/group)
# adduser vdr <group>
for DVD-access => disc
- Chown your video-dir
chown vdr.root /home/recording -R
# chown vdr:vdr /home/recording -R
Using "." as a separator is deprecated.
- Modify DVB-devices
chown root.vdr /dev/dvb -R
# adduser vdr video
- Modify input-dev (for remote control)
chown root.vdr /dev/input/event*
That will incorrectly change ownership of other input devices.
udev has a rule which will set group ownership of the appropriate device node to "video".
- Modify /proc/av7110_ir (Nexus remote-control)
if you do not use a NEXUS-S with remote control you will probably have to modify something else
If you're using a card which requires the budget-ci driver, the driver sould be frome patched kernel sources, patched v4l-dvb CVS, or dvb-driver-source (which contains pre-patched sources).
dvb-utils is Very Useful either way.
Kernel patches: URL:http://www.youmustbejoking.demon.co.uk/progs/linux/dvb-budget-ci.patch.tar.gz Read the docs :-)
Kernel 2.6.15, current v4l-dvb CVS: patches attached. This is a different approach to the same problem and will automatically select the appropriate keymap for cards such as my Nova-T (subsystem ID 13C2:1011).
chown root.vdr /proc/av7110_ir chmod 661 /proc/av7110_ir
Not needed. Load the keymap at boot (if the DVB driver is built in) or when the module is loaded (via a file in /etc/modprobe.d).
[snip]