Who sets /dev/snd/* owners/perms upon login?

Juan Carlos Castro y Castro jcastro at instant.com.br
Tue Mar 11 02:25:32 UTC 2008


Chris Snook escreveu:
> Juan Carlos Castro y Castro wrote:
>> When I log in from the text consoles or the native GUI (but not by 
>> ssh) the pemissions and owner in /dev/snd are changed to 0600 and the 
>> logged-in user, respectively. I can't find where, or in what script, 
>> this is done. I'd like to disable that behavior and leave all 
>> permissions in /dev/snd to 0666, without them being changed behind my 
>> back when someone logs in. How can I do this?
>>
>> This happens in Fedora 8. I imagine earlier Fedoras do that too.
>>
>
> ConsoleKit is the app that changes permissions behind your back when 
> people log in on a physical console.  Of course, if you disable it 
> then you'll probably be stuck with the 0600 permissions, which you can 
> then fix with a udev rule.
>
> Personally, I just completely remove pulseaudio from my system and 
> enjoy working sound.  I've long since given up on filing bug reports.
>
> -- Chris
>

OK, now it got weird. I see the permissions in /dev/snd don't actually 
change - they're permanently at 0660, owner root:root - and yet I can 
play sound from a ssh session as a common user. But not from a VNC server.

Then I appended ",MODE=0660" in the device lines at 
/etc/udev/rules.d/40-alsa.rules, rebooted, went in by ssh, changed 
runlevels with "init 3", stopped ConsoleKit and now I can't play sound, 
even as the users that could in the previous try. Moreover, ls -l 
/dev/snd shows my udev modifications were solemny ignored.

Restarted ConsoleKit - still no sound from ssh.
Went back to runlevel 5 - still no sound from ssh.
Rebooted, didn't change runlevels neither stopped any service - still no 
sound from ssh.

Clearly, something happened before the first reboot. It wasn't logging 
in and out of the GUI, I tried that too. OK, I'll ignore that and act as 
if it never worked.

By the way, I had already removed the alsa-plugins-pulseaudio RPM long ago.

Now I'm trying change the initlevel to 3 in inittab, disabling the GUI 
related services (ConsoleKit, NetworkManager, avahi-daemon, haldaemon, 
messagebus) only for that runlevel, and rebooting. Now I go by ssh -- 
still no go, aplay doesn't work and the device nodes are still 660. What 
the netherworld?

Needless to say, if I manually run "chmod 666 /dev/snd/*" everything 
works. Sigh. If you ask me, there seems to be too much mumbo jumbo 
happening behind the scenes. Annoying.

Ah, and there's more: the same thing happens in CentOS 5, which has no 
ConsoleKit.




More information about the users mailing list