Docker services on my home NAS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

44 lines
1.1 KiB

#!/bin/sh
set -e
VAR_PATH='/var/samba'
INIT_FLAG_FILE='initialized'
user_aG() {
UNAME="$1"
GNAME="$2"
GRP_LINE=$(grep -E "^${GNAME}:" /etc/group 2>/dev/null)
if [[ ! ${GRP_LINE} =~ ':$' ]]; then
UNAME=",$UNAME"
fi
sed -i "s/${GRP_LINE}/${GRP_LINE}${UNAME}/" /etc/group
}
FLAG_PATH="$VAR_PATH/$INIT_FLAG_FILE"
if [ ! -f "$FLAG_PATH" ]; then
addgroup -S -g "$GID_PUBLIC" public
addgroup -S -g "$GID_PROTECT" protect
addgroup -S -g "$GID_PRIVATE" private
if [ $(id -u guest) -ne $UID_GUEST ]; then
deluser --remove-home guest 2>/dev/null
adduser -SHD -s /sbin/nologin -G public -u "$UID_GUEST" guest
fi
adduser -SHD -s /sbin/nologin -G private -u "$UID_ADMIN" "$ADMIN_NAME"
user_aG "$ADMIN_NAME" protect
user_aG "$ADMIN_NAME" public
cat <<-EOF | smbpasswd -a "$ADMIN_NAME"
$ADMIN_PASSWD
$ADMIN_PASSWD
EOF
sed "s/%SAMBA_ADMIN%/$ADMIN_NAME/g" /etc/samba/smb.conf.temp > /etc/samba/smb.conf
rm /etc/samba/smb.conf.temp
mkdir -p "$VAR_PATH"
touch "$FLAG_PATH"
fi
exec smbd --foreground --no-process-group