summaryrefslogtreecommitdiffstats
path: root/etc/rc.d
diff options
context:
space:
mode:
authormtm <mtm@FreeBSD.org>2003-08-20 06:15:18 +0000
committermtm <mtm@FreeBSD.org>2003-08-20 06:15:18 +0000
commitca8f17fdde609d29203cfa0f308cb5fc42a02f8f (patch)
tree1401c7d38c4f23bad9b125bba53dcb61f9f0e691 /etc/rc.d
parentf52fd79992cfa0bd3827c16e881a6bf6d07264a3 (diff)
downloadFreeBSD-src-ca8f17fdde609d29203cfa0f308cb5fc42a02f8f.zip
FreeBSD-src-ca8f17fdde609d29203cfa0f308cb5fc42a02f8f.tar.gz
Add a general mechanism for creating and applying
devfs(8) rules in rc(8). It is most useful for applying rules to devfs(5) mount points in /dev or inside jails. The following line of script is sufficient to mount a relatively useful+secure devfs(5) in a jail: devfs_mount_jail /some/jail/dev Some new shell routines available to scripts that source rc.subr(5): o devfs_link - Makes it a little easier to create symlinks o devfs_init_rulesets - Create devfs(8) rulesets from devfs.rules o devfs_set_ruleset - Set a ruleset to a devfs(5) mount o devfs_apply_ruleset - Apply a ruleset to a devfs(5) mount o devfs_domount - Mount devfs(5) and apply some ruleset o devfs_mount_jail - Mount devfs(5) and apply a ruleset appropriate to jails. Additional rulesets can be specified in /etc/devfs.rules. If the devfs_system_ruleset variable is defined in rc.conf and it contains the name of a ruleset defined in /etc/defaults/devfs.rules or user supplied rulesets in /etc/devfs.rules then that ruleset will be applied to /dev at startup by the /etc/rc.d/devfs script. It can also be applied post-startup: /etc/rc.d/devfs start This is a more flexible mechanism than the previous method of using /etc/devfs.conf. However, that method is still available. Note: since devfs(8) doesn't provide any way for creating symlinks as part of a ruleset, anyone wishing to create symlinks in a devfs(5) as part of the bootup sequence will still have to rely on /etc/devfs.conf.
Diffstat (limited to 'etc/rc.d')
-rw-r--r--etc/rc.d/devfs12
1 files changed, 11 insertions, 1 deletions
diff --git a/etc/rc.d/devfs b/etc/rc.d/devfs
index aaf828b..07934fb 100644
--- a/etc/rc.d/devfs
+++ b/etc/rc.d/devfs
@@ -11,9 +11,19 @@
. /etc/rc.subr
name="devfs"
-start_cmd='read_devfs_conf'
+start_cmd='devfs_start'
stop_cmd=':'
+devfs_start()
+{
+ if [ -n "$devfs_system_ruleset" ]; then
+ devfs_init_rulesets
+ devfs_set_ruleset $devfs_system_ruleset /dev
+ devfs_apply_ruleset $devfs_system_ruleset /dev
+ fi
+ read_devfs_conf
+}
+
read_devfs_conf()
{
if [ -r /etc/devfs.conf ]; then
OpenPOWER on IntegriCloud