xref: /illumos-gate/usr/src/cmd/login/logindevperm.sh (revision f5c2e7ea56aaa46a9976476fb0cb1f02b9426f07)
1#! /usr/bin/sh
2#
3# CDDL HEADER START
4#
5# The contents of this file are subject to the terms of the
6# Common Development and Distribution License (the "License").
7# You may not use this file except in compliance with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23# Copyright (c) 1993, 2010, Oracle and/or its affiliates. All rights reserved.
24#
25#
26# This is the script that generates the logindevperm file. It is
27# architecture-aware, and dumps different stuff for x86 and sparc.
28# There is a lot of common entries, which are dumped first.
29#
30# the SID of this script, and the SID of the dumped script are
31# always the same.
32#
33
34cat <<EOM
35#
36# Copyright (c) 1993, 2010, Oracle and/or its affiliates. All rights reserved.
37#
38# /etc/logindevperm - login-based device permissions
39#
40# If the user is logging in on a device specified in the "console" field
41# of any entry in this file, the owner/group of the devices listed in the
42# "devices" field will be set to that of the user.  Similarly, the mode
43# will be set to the mode specified in the "mode" field.
44#
45# If the "console" is "/dev/vt/console_user" which is a symlink to the current
46# active virtual console (/dev/console, or /dev/vt/#), then the first
47# user to log into any virtual console will get ownership of all the
48# devices until they log out.
49#
50# "devices" is a colon-separated list of device names.  A device name
51# ending in "/*", such as "/dev/fbs/*", specifies all entries (except "."
52# and "..") in a directory.  A '#' begins a comment and may appear
53# anywhere in an entry.
54# In addition, regular expressions may be used. Refer to logindevperm(4)
55# man page.
56# Note that any changes in this file should be made when logged in as
57# root as devfs provides persistence on minor node attributes.
58#
59# console	mode	devices
60#
61/dev/vt/console_user	0600	/dev/mouse:/dev/kbd
62/dev/vt/console_user	0600	/dev/mouse:/dev/kbd
63/dev/vt/console_user	0600	/dev/sound/*		# audio devices
64/dev/vt/console_user	0600	/dev/fbs/*		# frame buffers
65/dev/vt/console_user	0600	/dev/dri/*		# dri devices
66/dev/vt/console_user	0400	/dev/removable-media/dsk/*	# removable media
67/dev/vt/console_user	0400	/dev/removable-media/rdsk/*	# removable media
68/dev/vt/console_user	0400	/dev/hotpluggable/dsk/*		# hotpluggable storage
69/dev/vt/console_user	0400	/dev/hotpluggable/rdsk/*	# hotpluggable storage
70/dev/vt/console_user	0600	/dev/video[0-9]+	# video devices
71/dev/vt/console_user	0600	/dev/usb/hid[0-9]+	# hid devices should have the same permission with conskbd and consms
72/dev/vt/console_user	0600	/dev/usb/[0-9a-f]+[.][0-9a-f]+/[0-9]+/* driver=scsa2usb,usb_mid,usbprn,ugen	#libusb/ugen devices
73EOM
74
75case "$MACH" in
76    "i386" )
77	#
78	# These are the x86 specific entries
79	# It depends on the build machine being an x86
80	#
81	cat <<-EOM
82	EOM
83	;;
84    "sparc" )
85	#
86	# These are the sparc specific entries
87	# It depends on the build machine being a sparc
88	#
89	cat <<-EOM
90	EOM
91	;;
92    "ppc" )
93	#
94	# These are the ppc specific entries
95	# It depends on the build machine being a ppc
96	#
97	cat <<-EOM
98	EOM
99	;;
100    * )
101	echo "Unknown Architecture"
102		exit 1
103	;;
104esac
105