xref: /freebsd/share/man/man5/devfs.rules.5 (revision 641a6cfb86023499caafe26a4d821a0b885cf00b)
1.\" Copyright (c) 2004 Roland Smith <rsmith@xs4all.nl>
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd February 21, 2010
28.Dt DEVFS.RULES 5
29.Os
30.Sh NAME
31.Nm devfs.rules
32.Nd devfs configuration information
33.Sh DESCRIPTION
34The
35.Nm
36file provides an easy way to create and apply
37.Xr devfs 8
38rules, even for devices that are not available at boot.
39.Pp
40For devices available at boot, see
41.Xr devfs.conf 5 .
42.Pp
43The format of this file is simple.
44Empty lines and lines beginning with a hash sign
45.Pq Ql #
46are ignored.
47A line between brackets denotes the start of a ruleset.
48In the brackets should be the name of the ruleset and its number,
49separated by an equal sign.
50.Pp
51Other lines are rule specifications as documented in
52.Xr devfs 8 ,
53in the section
54.Sx "Rule Specification" .
55These lines are prepended with
56.Dq Li rule
57and are passed to
58.Xr devfs 8
59by the startup scripts of the system.
60It is important to put path elements that contain
61.Xr glob 3
62special characters between quotes.
63.Pp
64Rulesets should have a unique name and number.
65.Pp
66All rules that follow a ruleset declaration belong to that ruleset, until a
67new ruleset is started.
68.Pp
69One custom ruleset has to be enabled in
70.Pa /etc/rc.conf ,
71otherwise it will not be applied to the
72.Pa /dev
73file system by the default system startup process.
74For example, to enable a
75.Dq Li localrules
76ruleset for the
77.Pa /dev
78file system, you would have to use something like this in your
79.Pa rc.conf
80file:
81.Bd -literal -offset indent
82devfs_system_ruleset="localrules"
83.Ed
84.Sh FILES
85.Bl -tag -compact -width Pa
86.It Pa /etc/defaults/devfs.rules
87Default
88.Nm
89configuration file.
90.It Pa /etc/devfs.rules
91Local
92.Nm
93configuration file. Rulesets in here override those in
94.Pa /etc/defaults/devfs.rules
95with the same ruleset number, otherwise the two files are effectively merged.
96.El
97.Sh EXAMPLES
98To make all the partitions of
99.Xr da 4
100devices readable and writable by their owner and the
101.Dq Li usb
102group, the following rule may be used:
103.Pp
104.Dl "[localrules=10]"
105.Dl "add path 'da*s*' mode 0660 group usb"
106.Pp
107The first line declares and starts a new ruleset, with the name
108.Va localrules
109and the number 10.
110.Pp
111To give
112.Xr usbconfig 8
113and
114.Xr libusb 3
115enabled applications permission to all usb devices for their owner and the
116.Dq Li usb
117group, a similar rule may be used:
118.Pp
119.Dl "add path 'usb/*' mode 0660 group usb"
120.Sh SEE ALSO
121.Xr glob 3 ,
122.Xr devfs 5 ,
123.Xr devfs.conf 5 ,
124.Xr devfs 8
125.Sh AUTHORS
126This manual page was written by
127.An "Roland Smith" Aq rsmith@xs4all.nl .
128