1 #!/usr/local/bin/ksh93 -p
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.
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.
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]
26 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
27 # Use is subject to license terms.
29 # ident "@(#)zfs_allow_002_pos.ksh 1.3 08/11/03 SMI"
32 . $STF_SUITE/tests/delegate/delegate_common.kshlib
34 #################################################################################
36 # __stc_assertion_start
38 # ID: zfs_allow_002_pos
41 # <user|group> argument is interpreted as a user if possible, then as a group as
45 # 1. Create user $STAFF_GROUP
46 # 2. Delegate permissions to $STAFF_GROUP
47 # 3. Verify user $STAFF_GROUP has the permissions.
48 # 4. Delete user $STAFF_GROUP and allow the permission to $STAFF_GROUP
49 # 5. Verify $STAFF_GROUP is interpreted as group.
51 # TESTABILITY: explicit
53 # TEST_AUTOMATION_LEVEL: automated
55 # CODING_STATUS: COMPLETED (2006-09-14)
59 ################################################################################
61 verify_runnable "both"
65 if $ID $STAFF_GROUP > /dev/null 2>&1; then
66 log_must del_user $STAFF_GROUP
70 log_assert "<user|group> is interpreted as user if possible, then as group."
73 eval set -A dataset $DATASETS
74 enc=$(get_prop encryption $dataset)
75 if [[ $? -eq 0 ]] && [[ -n "$enc" ]] && [[ "$enc" != "off" ]]; then
76 typeset perms="snapshot,reservation,compression,send,allow,\
79 typeset perms="snapshot,reservation,compression,checksum,\
83 log_must $USERADD $STAFF_GROUP
84 for dtst in $DATASETS ; do
85 log_must $ZFS allow $STAFF_GROUP $perms $dtst
86 log_must verify_perm $dtst $perms $STAFF_GROUP
87 log_must verify_noperm $dtst $perms $STAFF1 $STAFF2
90 log_must restore_root_datasets
92 log_must del_user $STAFF_GROUP
93 for dtst in $datasets ; do
94 log_must $ZFS allow $STAFF_GROUP $perms $dtst
95 log_must verify_perm $dtst $perms $STAFF1 $STAFF2
98 log_pass "<user|group> is interpreted as user if possible, then as group passed."