#!/bin/sh # # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL"), version 1.0. # You may only use this file in accordance with the terms of version # 1.0 of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # Copyright 2014 Nexenta Systems, Inc. All rights reserved. # # Helper program to run fksmbd (user-space smbd for debugging) # using binaries from the proto area. test -n $ROOT || do { echo "Need a bldenv to set ROOT=..." exit 1; } if [[ ! -w /var/smb || ! -w /var/run/smb ]] { echo "Need to create/chown/chmod /var/smb /var/run/smb" echo "mkdir -p /var/run/smb" echo "chown -R $USER /var/smb /var/run/smb" echo "chmod -R a+rw /var/smb /var/run/smb" exit 1; } if [[ ! -r /var/smb/smbpasswd ]] { echo "Need readable /var/smb/smbpasswd, i.e." echo 'chgrp staff /var/smb/smbpasswd' echo 'chmod 440 /var/smb/smbpasswd' exit 1; } if [[ -e /var/smb/.pwd.lock && ! -w /var/smb/.pwd.lock ]] { echo "Need to cleanup /var/smb/.pwd.lock, i.e." echo "rm -f /var/smb/.pwd.lock" exit 1; } # OK, setup env. to run it. export SMBD_DOOR_NAME="/tmp/fksmbd_door" export SMB_SHARE_DNAME="/tmp/fksmbshare_door" setvar LD_LIBRARY_PATH = "$ROOT/usr/lib/smbsrv:$ROOT/usr/lib:$ROOT/lib" export LD_LIBRARY_PATH # normally runs with cwd=/ but this is more careful cd /var/smb # run with the passed options exec $ROOT/usr/lib/smbsrv/fksmbd @ARGV