Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
/usr/sbin/rmmount [-D]
The rmmount utility is a removable media mounter that is executed by volume management whenever a removable medium, such as a CD-ROM or a floppy, is inserted. Removable media is managed by an application or a volume manager. rmmount can also be called by using volrmmount(1).
Upon insertion of a medium and following invocation of the volcheck(1) command, rmmount determines what type of file system (if any) is on that medium. If a file system is present, rmmount mounts the file system in one of the locations listed below.
For a diskette (floppy): /floppy/floppy0
symbolic link to mounted floppy in local floppy drive
mounted named floppy
mounted unnamed floppy
For a CD-ROM or a DVD-ROM: /cdrom/cdrom0
symbolic link to mounted CD-ROM in local CD-ROM drive
mounted named CD-ROM
mounted named CD-ROM with partitioned file system
mounted unnamed CD-ROM
symbolic link to mounted Zip medium in local Zip drive
mounted named Zip medium
mounted named Zip medium with partitioned file system
mounted unnamed Zip medium
symbolic link to mounted Jaz medium in local Jaz drive
mounted named Jaz medium
mounted named Jaz medium with partitioned file system
mounted unnamed Jaz medium
For a generic "rmdisk" drive: /rmdisk/rmdisk0
symbolic link to mounted removable medium in local removable medium drive
mounted named removable medium
mounted named removable medium with partitioned file system
mounted unnamed removable medium
If the media is read-only (for example, a CD-ROM or a floppy with write-protect tab set), the file system is mounted read-only.
If a file system is not identified, rmmount does not mount a file system. See the for more information on the location of CD-ROM, floppy, and other media without file systems.
If a file system type has been determined, it is then checked to see that it is "clean." If the file system is "dirty," fsck -p (see fsck(8)) is run in an attempt to clean it. If fsck fails, the file system is mounted read-only.
After the mount is complete, "actions" associated with the media type are executed. These actions allow for the notification to other programs that new media are available.
Actions are executed in the order in which they appear in the configuration file. The action function can return either 1 or 0. If it returns 0, no further actions will be executed. This allows the function to control which applications are executed.
In order to execute an action, rmmount performs a dlopen(3C) on the shared object and calls the action function defined within it. The definition of the interface to actions can be found in /usr/include/rmmount.h.
File systems mounted by rmmount are always mounted with the nosuid flag set, thereby disabling setuid programs and access to block or character devices in that file system. Upon ejection, rmmount unmounts mounted file systems and executes actions associated with the media type. If a file system is "busy" (that is, it contains the current working directory of a live process), the ejection will fail.
Turn on the debugging output from the rmmount dprintf calls.
shared objects used by rmmount.
volcheck (1), volrmmount (1), dlopen (3C), attributes (7), fsck (8)