i.minorperm_i386 revision b26a64ae582e72d0b4c710cd8eba9c4afd4a9fdd
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# CDDL HEADER START
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# The contents of this file are subject to the terms of the
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# Common Development and Distribution License (the "License").
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# You may not use this file except in compliance with the License.
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# See the License for the specific language governing permissions
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# and limitations under the License.
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# When distributing Covered Code, include this CDDL HEADER in each
50066670817cdf9e86c832066d73715232b29680Tinderbox User# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# If applicable, add the following below this CDDL HEADER, with the
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# fields enclosed by brackets "[]" replaced with your own identifying
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# information: Portions Copyright [yyyy] [name of copyright owner]
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# CDDL HEADER END
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
50066670817cdf9e86c832066d73715232b29680Tinderbox User# Use is subject to license terms.
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont#ident "%Z%%M% %I% %E% SMI"
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# NOTE: When a change is made to the source file for
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# /etc/minor_perm, a corresponding change must be made to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# this class-action script.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# - If an existing entry in minor_perm is having its
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# attributes e.g. permissions, ownership changed,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# add it to the list produced by make_chattr_list below.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# - If an existing entry must be deleted, add it to
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# the list produced by make_delete_list below.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# - If a new entry must be added to the file, add it to the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# list produced by make_add_list.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# - If a new entry is being added to minor_perm, but there
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User# may already be devices of that name on the system (e.g.
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User# we used the system default permissions in a previous release),
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User# and those old devices now need to have their attributes changed,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# add it to the make_chattr_list AND the make_add_list lists
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# If an entry in /etc/minor_perm needs to have its attributes
c7d32c0b0ff4c01f0d4479af3410d3c06044d48aAutomatic Updater# changed, identify the entry in the list copied to /etc/chattr.$$
c7d32c0b0ff4c01f0d4479af3410d3c06044d48aAutomatic Updater# by this function. The fields are:
c7d32c0b0ff4c01f0d4479af3410d3c06044d48aAutomatic Updater# <device>:<minor> <old_attrs> <new_attrs> <optional list of logical
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# devices whose attributes
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# will need to be changed>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# where an <attribute list> := <perm> <user> <group>
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# NOTE: this list should also contain entries for nodes that previously
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# were not in /etc/minor_perm (which means the default mode of 600,
28b3569d6248168e6c00caab951521cc8141a49dAutomatic Updater# owner/group == root/sys), but now have an entry
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Uservol:volctl 0600 root sys 0666 root sys /dev/volctl
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:llc1 0600 root sys 0666 root sys /dev/llc1
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:sound,sbpro 0666 root sys 0600 root sys /dev/sound/*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Usersbpro:* 0666 root sys 0600 root sys /dev/sound/*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userlog:conslog 0620 root sys 0666 root sys /dev/conslog
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Usersy:tty 0666 root sys 0666 root tty /dev/tty
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Usericmp:icmp 0600 root sys 0666 root sys /dev/rawip
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Usericmp6:icmp6 0600 root sys 0666 root sys /dev/rawip6
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userip:ip 0660 root sys 0666 root sys /dev/ip
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userip6:ip6 0660 root sys 0666 root sys /dev/ip6
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userrts:rts 0660 root sys 0666 root sys /dev/rts
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userkeysock:keysock 0600 root sys 0666 root sys /dev/keysock
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Useripsecah:ipsecah 0600 root sys 0666 root sys /dev/ipsecah
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Useripsecesp:ipsecesp 0600 root sys 0666 root sys /dev/ipsecesp
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userspdsock:spdsock 0600 root sys 0666 root sys /dev/spdsock
2a6d4c9948b3f4f31311bd799d114585a30419a9Automatic Updatersad:admin 0600 root sys 0666 root sys /dev/sad/admin
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userfssnap:ctl 0600 root sys 0666 root sys /dev/fssnapctl
2a6d4c9948b3f4f31311bd799d114585a30419a9Automatic Updaterfssnap:* 0600 root sys 0640 root sys /dev/fssnap/*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:dnet 0600 root sys 0666 root sys /dev/dnet
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userdnet:* 0600 root sys 0666 root sys /dev/dnet*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:elxl 0600 root sys 0666 root sys /dev/elxl
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userelxl:* 0600 root sys 0666 root sys /dev/elxl*
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updaterclone:iprb 0600 root sys 0666 root sys /dev/iprb
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox Useriprb:* 0600 root sys 0666 root sys /dev/iprb*
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userclone:pcelx 0600 root sys 0666 root sys /dev/pcelx
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userpcelx:* 0600 root sys 0666 root sys /dev/pcelx*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:spwr 0600 root sys 0666 root sys /dev/spwr
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userspwr:* 0600 root sys 0666 root sys /dev/spwr*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Usercpc:* 0600 root sys 0666 root sys /devices/pseudo/cpc*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Useripf:* 0600 root sys 0666 root sys /dev/ipf
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userpfil:* 0600 root sys 0666 root sys /dev/pfil
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userscsi_vhci:devctl 0600 root sys 0666 root sys /devices/scsi_vhci:devctl
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userfbt:fbt 0600 root sys 0644 root sys /dev/dtrace/provider/fbt
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userlockstat:* 0600 root sys 0644 root sys /dev/dtrace/provider/lockstat
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userprofile:profile 0600 root sys 0644 root sys /dev/dtrace/provider/profile
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Usersdt:sdt 0600 root sys 0644 root sys /dev/dtrace/provider/sdt
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontsystrace:systrace 0600 root sys 0644 root sys /dev/dtrace/provider/systrace
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox Userclone:bge 0600 root sys 0666 root sys /dev/bge
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userclone:ixgbe 0600 root sys 0666 root sys /dev/ixgbe
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:rge 0600 root sys 0666 root sys /dev/rge
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:xge 0600 root sys 0666 root sys /dev/xge
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userclone:nge 0600 root sys 0666 root sys /dev/nge
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:chxge 0600 root sys 0666 root sys /dev/chxge
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:pcn 0600 root sys 0666 root sys /dev/pcn
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:rtls 0600 root sys 0666 root sys /dev/rtls
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:ath 0600 root sys 0666 root sys /dev/ath
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:ipw 0600 root sys 0666 root sys /dev/ipw
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:iwi 0600 root sys 0666 root sys /dev/iwi
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userclone:iwk 0600 root sys 0666 root sys /dev/iwk
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:pcwl 0600 root sys 0666 root sys /dev/pcwl
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:pcan 0600 root sys 0666 root sys /dev/pcan
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:ral 0600 root sys 0666 root sys /dev/ral
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:rtw 0600 root sys 0666 root sys /dev/rtw
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:ural 0600 root sys 0666 root sys /dev/ural
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:wpi 0600 root sys 0666 root sys /dev/wpi
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:afe 0600 root sys 0666 root sys /dev/afe
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:dmfe 0600 root sys 0666 root sys /dev/dmfe
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userclone:mxfe 0600 root sys 0666 root sys /dev/mxfe
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userbge:* 0600 root sys 0666 root sys /dev/bge*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userixgbe:* 0600 root sys 0666 root sys /dev/ixgbe*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userrge:* 0600 root sys 0666 root sys /dev/rge*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userxge:* 0600 root sys 0666 root sys /dev/xge*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Usernge:* 0600 root sys 0666 root sys /dev/nge*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Usere1000g:* 0666 root root 0666 root sys /dev/e1000g*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userchxge:* 0600 root sys 0666 root sys /dev/chxge*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userpcn:* 0600 root sys 0666 root sys /dev/pcn*
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userrtls:* 0600 root sys 0666 root sys /dev/rtls*
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontath:* 0600 root sys 0666 root sys /dev/ath*
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Useripw:* 0600 root sys 0666 root sys /dev/ipw*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Useriwi:* 0600 root sys 0666 root sys /dev/iwi*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Useriwk:* 0600 root sys 0666 root sys /dev/iwk*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userpcwl:* 0600 root sys 0666 root sys /dev/pcwl*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userpcan:* 0600 root sys 0666 root sys /dev/pcan*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userral:* 0600 root sys 0666 root sys /dev/ral*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userrtw:* 0600 root sys 0666 root sys /dev/rtw*
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userural:* 0600 root sys 0666 root sys /dev/ural*
c7d32c0b0ff4c01f0d4479af3410d3c06044d48aAutomatic Updaterwpi:* 0600 root sys 0666 root sys /dev/wpi*
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userafe:* 0600 root sys 0666 root sys /dev/afe*
c7d32c0b0ff4c01f0d4479af3410d3c06044d48aAutomatic Updaterdmfe:* 0600 root sys 0666 root sys /dev/dmfe*
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntmxfe:* 0600 root sys 0666 root sys /dev/mxfe*
c7d32c0b0ff4c01f0d4479af3410d3c06044d48aAutomatic Updater# If an entry in /etc/minor_perm needs to be deleted, identify
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User# the entry in the list copied to /etc/delete.$$ by this function.
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# The fields are:
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User# <device>:<minor> <optional list of logical devices to be deleted>
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userclone:ipsecesp
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userprofile:profile
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# If an entry needs to be added to /etc/minor_perm, add the first
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# field of the entry to the list created by this function. The
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User# remainder of the entry will be extracted from the /etc/minor_perm
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User# in the package being installed, so it is not necessary to supply
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userdevinfo:devinfo
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontopeneepr:openprom
a3416b0a1b5482b6df32839445ca98c016945570Automatic Updateripsecah:ipsecah
a3416b0a1b5482b6df32839445ca98c016945570Automatic Updateripsecesp:ipsecesp
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userkeysock:keysock
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userspdsock:spdsock
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userdevinfo:devinfo,ro
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Usercryptoadm:cryptoadm
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userfasttrap:fasttrap
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntprofile:profile
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontsystrace:systrace
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontlx_ptm:lx_ptmajor
2a31bd531072824ef252c18303859d6af7451b00Francis DupontPATH="/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin"
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# Internal routine to create a sed script which can be used to
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont# escape all shell globbing metacharacters in a path.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# Internal routine to convert an entry in a /tmp/chwhatever.$$ file to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# an appropriately escaped pattern which can be used to grep into minor_perm.
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont # the first argument is the 'key' field from the change file.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # entries can contain shell globbing characters to match
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont # several devices - hence all the palaver below.
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont # the remaining optional arguments are tokens separated by white-space
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont if [ $# = 0 ] ; then
if [ ! -f $dest ] ; then
# currently-installed /etc/minor_perm file. Also,
# /etc/minor_perm file. Also, add an entry to the
# currently-installed /etc/minor_perm file.
# the permission/ownership of devices that