Menu

[r4114]: / trunk / etc / rc.d / smbpasswd  Maximize  Restore  History

Download this file

42 lines (31 with data), 1.1 kB

#!/bin/sh
# Copyright (c) 2006-2008 Volker Theile (votdev@gmx.de)
# All rights reserved.

# PROVIDE: smbpasswd
# BEFORE: smbd
# KEYWORD: nostart

. /etc/rc.subr
. /etc/configxml.subr

name="smbpasswd"
command="/usr/local/bin/${name}"

load_rc_config "$name"

# Defaults
smbpasswd_passwdfile=${smbpasswd_passwdfile:-"/var/etc/private/smbpasswd"}
smbpasswd_minuid=${smbpasswd_minuid:-"1001"}

# Display message
echo "Updating smbpasswd."

# Clear password database
cat /dev/null > ${smbpasswd_passwdfile}

# Generate /var/etc/private/smbpasswd Samba password database.
# Iterate over all configured users.
_usernum=`configxml_get_count "//access/user"`
while [ ${_usernum} -gt 0 ]
do
	_username=`configxml_get "//access/user[position()=${_usernum}]/login"`
	_password=`configxml_get "//access/user[position()=${_usernum}]/password"`
	_uid=`configxml_get "//access/user[position()=${_usernum}]/id"`

	if [ ${_uid} -ge ${smbpasswd_minuid} ]; then
		(/bin/echo "${_password}"; /bin/echo "${_password}") | ${command} -s -a "${_username}" > /dev/null
	fi

	_usernum=$(( ${_usernum} - 1 ))
done
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.