summaryrefslogtreecommitdiffstats
path: root/source3/script/tests/test_smb1_system_security.sh
blob: dac889756fd3b54bf1741b7e347f1e4a0898ffbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/sh
#
# Runs the smbtorture3 SMB1-SYSTEM-SECURITY test
# that requires SeSecurityPrivilege against Samba.
#

if [ $# -lt 7 ]; then
	echo "Usage: $0 SERVER SERVER_IP USERNAME PASSWORD SMBTORTURE3 NET SHARE"
	exit 1
fi

SERVER="$1"
SERVER_IP="$2"
USERNAME="$3"
PASSWORD="$4"
SMBTORTURE3="$5"
NET="$6"
SHARE="$7"

failed=0

incdir=$(dirname $0)/../../../testprogs/blackbox
. $incdir/subunit.sh

smb1_system_security()
{
	out=$($SMBTORTURE3 //$SERVER_IP/$SHARE -U $USERNAME%$PASSWORD -mNT1 SMB1-SYSTEM-SECURITY)
	if [ $? -ne 0 ]; then
		echo "SMB1-SYSTEM-SECURITY failed"
		echo "$out"
		return 1
	fi
}

# Grant SeSecurityPrivilege to the user
testit "grant SeSecurityPrivilege" $NET rpc rights grant $USERNAME SeSecurityPrivilege -U $USERNAME%$PASSWORD -I $SERVER_IP || failed=$(expr $failed + 1)

# Run the test.
testit "smb1-system-security" smb1_system_security || failed=$(expr $failed + 1)

# Revoke SeSecurityPrivilege
testit "revoke SeSecurityPrivilege" $NET rpc rights revoke $USERNAME SeSecurityPrivilege -U $USERNAME%$PASSWORD -I $SERVER_IP || failed=$(expr $failed + 1)

exit $failed