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 
  34 cat <<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
  73 EOM
  74 
  75 case "$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         ;;
 104 esac