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

Mills, John M. Mills.J at ems-t.com
Tue Nov 29 14:02:30 EST 2005


Thanks to Robert, Harper, and Jason for the help, and particularly Jason
for examples and cautions.

 - Mills
 

-----Original Message-----
From: ale-bounces at ale.org [mailto:ale-bounces at ale.org] On Behalf Of
To: ale at ale.org
Jason Day
Sent: Tuesday, November 29, 2005 1:33 PM
To: Atlanta Linux Enthusiasts
Subject: Re: [ale] Q: How do I make permissions on /dev/* 'sticky'?

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
_______________________________________________
Ale mailing list
Ale at ale.org
http://www.ale.org/mailman/listinfo/ale





More information about the Ale mailing list