The /etc/logindevperm file contains information that is used by login(1) and ttymon(1M) to change the owner, group, and permissions of devices upon logging into or out of a console device. By default, this file contains lines for the keyboard, mouse, audio, and frame buffer devices.
The owner of the devices listed in /etc/logindevperm is set to the owner of the console by login(1). The group of the devices is set to the owner's group specified in /etc/passwd. The permissions are set as specified in /etc/logindevperm.
If the console is /dev/vt/active, the owner of the devices is the first user logged in on the consoles (/dev/console or /dev/vt/#). Upon this first user's logout the owner and group of these devices is reset by ttymon(1M) to owner root and root's group as specified in /etc/passwd.
Fields are separated by a TAB or SPACE characters. Blank lines and comments can appear anywhere in the file; comments start with a hashmark, (#), and continue to the end of the line.
The first field specifies the name of a console device (for example, /dev/console). By default, it is /dev/vt/active, which points to the current active console, including /dev/console and all virtual consoles (/dev/vt/#). The second field specifies the permissions to which the devices in the device_list field (third field) are set. These permissions must be expressed in octal format, for example, 0774. A device_list is a colon-separated list of device names. A device name must be a /dev link.
A directory or logical name in the device name can be either one of the following:
A fully qualified name, for example, fbs.
A regular expression, for example, [a-z0-9.]+. See regexp(5) for more information on regular expressions.
The wildcard character * specifying all directory or node names (except . and .., for example, /dev/fbs/* specifies all frame buffer devices.
Some examples of /etc/logindevperm file entries include:
/dev/usb/[0-9a-f]+[.][0-9a-f]+/[0-9]+/[a-z0-9.]+ /dev/usb/[0-9a-f]+[.][0-9a-f]+/[0-9]+/* /dev/usb/[0-9a-f]+[.][0-9a-f]+/*/*
Specify all ugen(7D) endpoints and status nodes.
Drivers can also be specified to limit the permission changes to minor nodes owned by the specified drivers. For example,
/dev/console 0600 /dev/usb/[0-9a-f]+[.][0-9a-f]+/[0-9]+/* \ driver=usb_mid,scsa2usb,usbprn # libusb devices
Due to the persistence of devfs(7FS) minor node management, the user should be logged in as root if the list of minor nodes will be reduced and the devices should all be plugged in.
Upon logout the owner and group of these devices are reset by ttymon(1M) to owner root and root's group as specified in /etc/passwd (typically other). The permissions are set as specified in the /etc/logindevperm file.
/etc/logindevperm provides a superset of the functionality provided by /etc/fbtab in SunOS 4.x releases.