[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