xref: /illumos-gate/usr/src/cmd/smbsrv/fksmbd/Run.sh (revision 4f0ce1da)
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