[ale] Q: How do I make permissions on /dev/* 'sticky'?

Jason Day jasonday at worldnet.att.net
Tue Nov 29 13:32:47 EST 2005


On Tue, Nov 29, 2005 at 09:09:06AM -0500, Mills, John M. wrote:
> I notice that access permissions of '/dev/*' devices are reset to
> defaults when my systems reboot, losing access for ordinary users where
> I may have set it manually (i.e., /dev/ttyS* for 'minicom', etc). I
> conjecture this is an effect ("feature"?) of the '/dev' filesystem since
> such permission changes used to be persistent, but that's only a guess.

Assuming you're using a somewhat recent distribution and 2.6 kernel,
it's udev that's the culprit here.  Udev uses a series of rules files to
control how the device nodes are created.  The default rules are in
/etc/udev/rules.d/50-udev.rules, but you should not edit this file
directly, since an update to udev would wipe out your changes.  Instead,
create a new rules file in /etc/udev/rules.d named 10-local.rules and
customize that one.

> Q1: How can I define these permissions so they receive my new settings
> on reboot, instead of the system defaults?

To fix the perms on the ttyS* device, for example, look for the rule in
50-udev.rules, copy it to 10-local.rules, and modify the permissions.

For example, the ttyS line in my 50-udev.rules looks like this:

# tty devices
KERNEL=="ttyS[0-9]*",   NAME="tts/%n", SYMLINK+="%k", GROUP="tty"

So, if I wanted ttyS* to have permissions 0666, I would add the
following line to my 10-local.rules file:

KERNEL=="ttyS[0-9]*",   NAME="tts/%n", SYMLINK+="%k", GROUP="tty",
MODE="0666"

Note that that should be one line.

> Q2: How can I add new devices to those created on reboot? I could add
> 'mknod' lines to rc.local, or similar, but is there a less "clunky" way
> to do it?

Just add a rule for them :)

Here is a good primer for udev rules:

http://www.reactivated.net/writing_udev_rules.html

HTH,
Jason
-- 
Jason Day                                       jasonday at
http://jasonday.home.att.net                    worldnet dot att dot net
 
"Of course I'm paranoid, everyone is trying to kill me."
    -- Weyoun-6, Star Trek: Deep Space 9



More information about the Ale mailing list