1#!/bin/sh 2 3# 4# This file and its contents are supplied under the terms of the 5# Common Development and Distribution License ("CDDL"), version 1.0. 6# You may only use this file in accordance with the terms of version 7# 1.0 of the CDDL. 8# 9# A full copy of the text of the CDDL should have accompanied this 10# source. A copy of the CDDL is also available via the Internet at 11# http://www.illumos.org/license/CDDL. 12# 13 14# 15# Copyright 2013-2021 Tintri by DDN, Inc. All rights reserved. 16# 17 18# Helper program to run fksmbd (user-space smbd for debugging) 19# using binaries from the proto area. 20 21[ -n "$ROOT" ] || { 22 echo "Need a bldenv to set ROOT=..." 23 exit 1; 24} 25 26if [[ ! -w /var/smb || ! -w /var/run/smb ]] 27then 28 echo "Need to create/chown/chmod /var/smb /var/run/smb" 29 echo "mkdir -p /var/run/smb" 30 echo "chown -R $USER /var/smb /var/run/smb" 31 echo "chmod -R a+rw /var/smb /var/run/smb" 32 exit 1; 33fi 34 35if [[ ! -r /var/smb/smbpasswd ]] 36then 37 echo "Need readable /var/smb/smbpasswd, i.e." 38 echo 'chgrp staff /var/smb/smbpasswd' 39 echo 'chmod 440 /var/smb/smbpasswd' 40 exit 1; 41fi 42 43if [[ -e /var/smb/.pwd.lock && ! -w /var/smb/.pwd.lock ]] 44then 45 echo "Need to cleanup /var/smb/.pwd.lock, i.e." 46 echo "rm -f /var/smb/.pwd.lock" 47 exit 1; 48fi 49 50# OK, setup env. to run it. 51 52export SMBD_DOOR_NAME="/tmp/fksmbd_door" 53export SMB_SHARE_DNAME="/tmp/fksmbshare_door" 54 55export PATH_PKCS11_CONF=$ROOT/etc/crypto/pkcs11.conf 56 57LD_LIBRARY_PATH=$ROOT/usr/lib/smbsrv:$ROOT/usr/lib:$ROOT/usr/lib:$ROOT/lib 58export LD_LIBRARY_PATH 59 60# Enable everything, for debugging 61export SMB_MAX_PROTOCOL=311 62export SMB_SIGNING=require 63 64# normally runs with cwd=/ but this is more careful 65cd /var/smb 66 67# run with the passed options 68exec $ROOT/usr/lib/smbsrv/fksmbd "$@" 69