NAME
devfsctl
—
manipulate devfs rules
SYNOPSIS
devfsctl |
-a -f
file [-m
mount_point] |
devfsctl |
-d -f
file |
devfsctl |
-c [-m
mount_point] |
devfsctl |
-r [-m
mount_point] |
devfsctl |
-h |
DESCRIPTION
Thedevfsctl
provides an interface to manipulate the
in-kernel devfs(5) ruleset.
The options are as follows:
-a
- Load the ruleset specified by
-f
and apply it. It will not overwrite currently applied rules, but just append the new ones. -c
- Clear the current ruleset. This does not reset the device nodes, but only
clear out all stored rules so that they are not applied to new nodes. It
is therefore recommended to use this command in conjunction with
-r
. -d
- Reads ruleset specified by
-f
and then dumps its contents to stdout. The rules will not be applied. This option cannot be used in conjunction with any other option. It is useful for checking the correct syntax and order of the specified ruleset and will show the final interpretation as it would be applied. -f
file- Specifies the file containing the ruleset to be loaded. This option is a
requirement for
-a
and-d
. -h
- Shows a usage message with a short description of
devfsctl
's options. -m
mount_point- Specifies the mount point to which the loaded rules shall apply. If this option is not specified, the rules will apply to all devfs(5) mountpoints. The mount_point argument does not accept wildcards and must be an absolute path.
-r
- Reset all devfs(5) nodes to their original status. This does not
clear the current ruleset and it is hence recommended to use this command
together with
-c
.
RULE SYNTAX
Rules are specified one rule per line, with whitespace separated values. Empty lines and lines beginning with a “#” are ignored. Once applied, the rules are in effect for existing device nodes as well as future ones. Rules are applied in the order specified, thus later rules will override prior ones.
Names used in devfs(5) rules can be either device names (? and * wildcards are allowed), device types or existing groups. Groups are referenced in rules by prefixing them with ‘@’. A device type is one of the following list of special names:
Rule lines are of the following format:
action
argument ...
Valid actions are group
,
include
, hide
,
jail
, link
,
perm
and show
:
group
group_name name ...- This will group the specified names into a group of the specified group_name.
include
file- Includes the specified rule file and processes its rules.
hide
name- This will hide the device node(s) specified by name. A hidden node will not appear in directory listings and all operations on it will fail, except if it is open already. By default, everything except pty(4) nodes is shown.
jail
yes|no- A ‘yes’ argument will cause all
following rules to only apply to mounts of
devfs(5) inside a
jail(8), until a “
jail
no” is reached. link
device pathlink
rules will create a link node at the specified link_path to the given device. The path is relative to the mountpoint being operated on (see the-m
option), which is usually /dev.Note that for
link
rules, the device has to be a single device node and specifying a device type or group (unless it contains only one node) is not possible.perm
name user:group mode- A
perm
rule will applies the specified mode (octal, see chmod(1)) and ownership (see chown(2)) to name. show
name- This will show previously hidden nodes again.
FILES
- /etc/defaults/devfs.conf
- Global devfs ruleset file
- /etc/devfs.conf
- Local devfs ruleset file
EXAMPLES
Examples of valid names:
bpf* tun0 D_DISK serno/*s3 @groupA
Examples of valid rules:
group foo da* ri* group foo ad* group foo md* perm da0 uucp:dialer 0644 link foo bar hide @foo show D_DISK group g1 a b f g group g2 c d group g3 @g1 h @g2 i j k D_MEM jail yes hide @g3 perm @g3 root:wheel 0644 jail no group cdrom cd* acd* group disks da* group disks ad* group drives @disks @cdrom group test @disks @g2 y show @drives show @disks show @test link da0 "my drives/my new da0"
SEE ALSO
HISTORY
The devfsctl
utility appeared in
DragonFly 2.3.
AUTHORS
Alex Hornung