FreeNAS Code
This project has moved to github - see https://github.com/freenas
Brought to you by:
cochard,
mattolander
#!/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