#/bin/sh -e # # # Source debconf library. . /usr/share/debconf/confmodule # Function for grabbing a parameter from an smb.conf file smbconf_retr() { if [ -z "$1" ]; then return fi if [ -n "$2" ]; then local FILE="$2" fi if [ -z "$FILE" ]; then return fi sed -n -e" s/^[[:space:]]*\[global\]/\[global\]/i /^\[global\]/,/^[[:space:]]*\[/ { s/^[[:space:]]*$1[[:space:]]*=[[:space:]]*//pi }" $FILE \ | tail -n 1 } FILE=/etc/samba/smb.conf db_title "Samba Server" # Babysit users who don't read README.Debian if [ -n "$2" ] && dpkg --compare-versions "$2" lt "2.2" then db_input medium samba/log_files_moved || true db_go fi db_input medium samba/run_mode || true db_go # Offer to move the password database for existing users if [ "$1" = "configure" -a -n "$2" -a -e /etc/samba/smbpasswd \ -a ! -e /var/lib/samba/passdb.tdb ] \ && dpkg --compare-versions "$2" lt 2.99.cvs.20020713-2 then FILE=/etc/samba/smb.conf PASSDB="" if [ -f "$FILE" ]; then PASSDB=`smbconf_retr "passdb backend"` fi TDBPRIORITY=medium if echo "$PASSDB" | grep -q ldapsam; then TDBPRIORITY=low fi db_get samba-common/do_debconf || true if [ "${RET}" = "false" ]; then TDBPRIORITY=low fi db_input "$TDBPRIORITY" samba/tdbsam || true fi # We vary the priority of the next question depending on whether # the password database already exists... if [ -e /etc/samba/smbpasswd -o -e /var/lib/samba/passdb.tdb ]; then PRIORITY="low" else # If 'encrypt passwords' is true in smb.conf, and smbpasswd # does not exist, default to yes here. FILE=/etc/samba/smb.conf if [ -f "$FILE" ]; then ENCRYPT=`smbconf_retr "encrypt passwords"` if [ "$ENCRYPT" ]; then ENCRYPT=`echo $ENCRYPT | tr '[A-Z]' '[a-z]'` if [ "$ENCRYPT" = "yes" ]; then ENCRYPT=true fi if [ "$ENCRYPT" = "no" ]; then ENCRYPT=false fi fi db_set samba/generate_smbpasswd "$ENCRYPT" fi PRIORITY="medium" fi db_input $PRIORITY samba/generate_smbpasswd || true db_go