[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Permissions for kernel device and /proc/


I'm packaging an application (SpeechD-Up), which is used as an interface
between a kernel-space screen reader (Speakup) and a user-space speech
synthesis server (Speech Dispatcher). I'll first describe my situation,
then ask my questions about setting permissions of some kernel devices.

Communication between the kernel-space driver and the user-space
application I'm packaging (designed to run as a daemon from /etc/init.d)
happens through a kernel device /dev/softsynth and a proc
tree /proc/speakup/ .

The kernel-space application is only a kernel patch and doesn't have any
Debian package. It creates the /dev/softsynth device with owner/group
root/root, the same for /proc/speakup. I need read-write acces to both
and I need to run SpeechD-Up (the interface app) under a user
'speechd-up' from /etc/init.d/.

So I figured out I should create a new group 'speakup', change group
ownership for /dev/softsynth and /proc/speakup to this new group and put
user speechd-up under this group. Then my interface application will be
able to read/write the devices and also any other application with the
same task will. Is this correct for a Debian package?

How could I make it most easy for the users of my package to get things
'just run' when they install my package? I have no direct controll over
/dev/softsynth and /proc/speakup as they are not created by my package.
I could just write it in the README that my package expects such and
such permissions on the devices, but this will confuse many users (the
application won't work just after it is installed).

I can change the ownership of /dev/softsynth from the package install
scripts, but this is of little help if /dev/softsynth is dynamically
created. How to do it properly?

Thanks for your help,
Hynek Hanke

Reply to: