mirror of
https://github.com/samba-team/samba.git
synced 2025-02-23 09:57:40 +03:00
s3:tests: Add smbclient test for 'force create mode = 0664'
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Feb 14 20:16:04 UTC 2020 on sn-devel-184
This commit is contained in:
parent
f231a072d5
commit
b9ab8bf7a9
@ -1071,6 +1071,14 @@ sub setup_fileserver
|
||||
path = $share_dir
|
||||
comment = force group test
|
||||
# force group = everyone
|
||||
|
||||
[create_mode_664]
|
||||
path = $share_dir
|
||||
comment = smb username is [%U]
|
||||
create mask = 0644
|
||||
force create mode = 0664
|
||||
vfs objects = dirsort
|
||||
|
||||
[homes]
|
||||
comment = Home directories
|
||||
browseable = No
|
||||
|
72
source3/script/tests/test_force_create_mode.sh
Executable file
72
source3/script/tests/test_force_create_mode.sh
Executable file
@ -0,0 +1,72 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Blackbox test for 'force create mode'
|
||||
#
|
||||
|
||||
if [ $# -lt 7 ]; then
|
||||
cat <<EOF
|
||||
Usage: $0 SERVER DOMAIN USERNAME PASSWORD PREFIX TARGET_ENV SMBCLIENT
|
||||
EOF
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
SERVER=${1}
|
||||
DOMAIN=${2}
|
||||
USERNAME=${3}
|
||||
PASSWORD=${4}
|
||||
PREFIX=${5}
|
||||
TARGET_ENV=${6}
|
||||
SMBCLIENT=${7}
|
||||
shift 7
|
||||
SMBCLIENT="$VALGRIND ${SMBCLIENT}"
|
||||
ADDARGS="$@"
|
||||
|
||||
incdir=`dirname $0`/../../../testprogs/blackbox
|
||||
. $incdir/subunit.sh
|
||||
|
||||
failed=0
|
||||
|
||||
test_force_create_mode()
|
||||
{
|
||||
local filename="wurst.$$"
|
||||
local filename_path="$PREFIX/$filename"
|
||||
|
||||
local tmpfile=$PREFIX/smbclient_interactive_prompt_commands
|
||||
|
||||
echo wurstbar > $filename_path
|
||||
|
||||
cat > $tmpfile <<EOF
|
||||
lcd $PREFIX
|
||||
put $filename
|
||||
quit
|
||||
EOF
|
||||
cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT -U$USERNAME%$PASSWORD //$SERVER/$1 $ADDARGS < $tmpfile 2>&1'
|
||||
eval echo "$cmd"
|
||||
out=`eval $cmd`
|
||||
ret=$?
|
||||
rm -f $tmpfile
|
||||
|
||||
if [ $ret -ne 0 ] ; then
|
||||
echo "$out"
|
||||
echo "Failed to connect - error: $ret"
|
||||
return 1
|
||||
fi
|
||||
rm -f $filename_path
|
||||
|
||||
share_filename="$PREFIX/$TARGET_ENV/share/$filename"
|
||||
file_perms=$(stat --format=%a $share_filename)
|
||||
if [ "$file_perms" != "664" ]; then
|
||||
echo "Invalid file permissions: $file_perms"
|
||||
return 1
|
||||
fi
|
||||
|
||||
rm -f $share_filename
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
testit "test_mode=0664" \
|
||||
test_force_create_mode create_mode_664 || \
|
||||
failed=`expr $failed + 1`
|
||||
|
||||
exit $failed
|
@ -357,6 +357,7 @@ for env in ["fileserver"]:
|
||||
plantestsuite("samba3.blackbox.dfree_quota.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_quota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcquotas, smbcacls, "SMB3"])
|
||||
plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
|
||||
plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
|
||||
plantestsuite("samba3.blackbox.force_create_mode", env, [os.path.join(samba3srcdir, "script/tests/test_force_create_mode.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', env, smbclient3])
|
||||
plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
|
||||
plantestsuite("samba3.blackbox.shadow_copy2.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'NT1'])
|
||||
plantestsuite("samba3.blackbox.shadow_copy2.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'SMB3'])
|
||||
|
Loading…
x
Reference in New Issue
Block a user