xref: /illumos-gate/usr/src/lib/libsecdb/svc-rbac (revision 06d0f3f39e2f7b67190578d7277d559c32191d6c)
1*06d0f3f3SCasper H.S. Dik#! /usr/bin/sh
2*06d0f3f3SCasper H.S. Dik#
3*06d0f3f3SCasper H.S. Dik# CDDL HEADER START
4*06d0f3f3SCasper H.S. Dik#
5*06d0f3f3SCasper H.S. Dik# The contents of this file are subject to the terms of the
6*06d0f3f3SCasper H.S. Dik# Common Development and Distribution License (the "License").
7*06d0f3f3SCasper H.S. Dik# You may not use this file except in compliance with the License.
8*06d0f3f3SCasper H.S. Dik#
9*06d0f3f3SCasper H.S. Dik# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*06d0f3f3SCasper H.S. Dik# or http://www.opensolaris.org/os/licensing.
11*06d0f3f3SCasper H.S. Dik# See the License for the specific language governing permissions
12*06d0f3f3SCasper H.S. Dik# and limitations under the License.
13*06d0f3f3SCasper H.S. Dik#
14*06d0f3f3SCasper H.S. Dik# When distributing Covered Code, include this CDDL HEADER in each
15*06d0f3f3SCasper H.S. Dik# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*06d0f3f3SCasper H.S. Dik# If applicable, add the following below this CDDL HEADER, with the
17*06d0f3f3SCasper H.S. Dik# fields enclosed by brackets "[]" replaced with your own identifying
18*06d0f3f3SCasper H.S. Dik# information: Portions Copyright [yyyy] [name of copyright owner]
19*06d0f3f3SCasper H.S. Dik#
20*06d0f3f3SCasper H.S. Dik# CDDL HEADER END
21*06d0f3f3SCasper H.S. Dik#
22*06d0f3f3SCasper H.S. Dik
23*06d0f3f3SCasper H.S. Dik#
24*06d0f3f3SCasper H.S. Dik# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
25*06d0f3f3SCasper H.S. Dik# Use is subject to license terms.
26*06d0f3f3SCasper H.S. Dik#
27*06d0f3f3SCasper H.S. Dik
28*06d0f3f3SCasper H.S. Dik. /lib/svc/share/smf_include.sh
29*06d0f3f3SCasper H.S. Dik
30*06d0f3f3SCasper H.S. Dikfiles='/etc/user_attr /etc/security/auth_attr /etc/security/exec_attr
31*06d0f3f3SCasper H.S. Dik    /etc/security/prof_attr'
32*06d0f3f3SCasper H.S. Dik
33*06d0f3f3SCasper H.S. DikPKGINST=
34*06d0f3f3SCasper H.S. Dikexport PKGINST
35*06d0f3f3SCasper H.S. Dik
36*06d0f3f3SCasper H.S. Dikirbac=/usr/sadm/install/scripts/i.rbac
37*06d0f3f3SCasper H.S. Dik
38*06d0f3f3SCasper H.S. Dikif [ ! -x $irbac ]
39*06d0f3f3SCasper H.S. Dikthen
40*06d0f3f3SCasper H.S. Dik	echo "${irbac}: not found."
41*06d0f3f3SCasper H.S. Dik	exit $SMF_EXIT_ERR_FATAL
42*06d0f3f3SCasper H.S. Dikfi
43*06d0f3f3SCasper H.S. Dik
44*06d0f3f3SCasper H.S. Dikcase "$1" in
45*06d0f3f3SCasper H.S. Dikstart|refresh)
46*06d0f3f3SCasper H.S. Dik	;;
47*06d0f3f3SCasper H.S. Dikstop)
48*06d0f3f3SCasper H.S. Dik	exit $SMF_EXIT_OK;;
49*06d0f3f3SCasper H.S. Dik*)
50*06d0f3f3SCasper H.S. Dik	echo "Usage: $0 { start | refresh | stop }"
51*06d0f3f3SCasper H.S. Dik	exit $SMF_EXIT_ERR_FATAL;;
52*06d0f3f3SCasper H.S. Dikesac
53*06d0f3f3SCasper H.S. Dik
54*06d0f3f3SCasper H.S. Dikfor f in $files
55*06d0f3f3SCasper H.S. Dikdo
56*06d0f3f3SCasper H.S. Dik	d=${f}.d
57*06d0f3f3SCasper H.S. Dik	if [ ! -d ${d} ]
58*06d0f3f3SCasper H.S. Dik	then
59*06d0f3f3SCasper H.S. Dik		# No directory, nothing to do
60*06d0f3f3SCasper H.S. Dik		continue
61*06d0f3f3SCasper H.S. Dik	fi
62*06d0f3f3SCasper H.S. Dik	#
63*06d0f3f3SCasper H.S. Dik	# List all the files in the directory and the destination file
64*06d0f3f3SCasper H.S. Dik	# in the order of their timestamp.  Most recent files are
65*06d0f3f3SCasper H.S. Dik	# displayed first.  When we find the destination file, we're
66*06d0f3f3SCasper H.S. Dik	# done as the rest of the files are older and they are already
67*06d0f3f3SCasper H.S. Dik	# incorporated.
68*06d0f3f3SCasper H.S. Dik	#
69*06d0f3f3SCasper H.S. Dik	for frag in `ls -t $f $d/* 2> /dev/null`
70*06d0f3f3SCasper H.S. Dik	do
71*06d0f3f3SCasper H.S. Dik		if [ "$frag" = "$f" ]
72*06d0f3f3SCasper H.S. Dik		then
73*06d0f3f3SCasper H.S. Dik			break
74*06d0f3f3SCasper H.S. Dik		fi
75*06d0f3f3SCasper H.S. Dik		if [ -f "$frag" ]
76*06d0f3f3SCasper H.S. Dik		then
77*06d0f3f3SCasper H.S. Dik			echo $frag $f | $irbac
78*06d0f3f3SCasper H.S. Dik		fi
79*06d0f3f3SCasper H.S. Dik	done
80*06d0f3f3SCasper H.S. Dikdone
81*06d0f3f3SCasper H.S. Dik
82*06d0f3f3SCasper H.S. Dikexit $SMF_EXIT_OK
83