diff options
Diffstat (limited to 'packaging/Debian/debian-stable/samba.config')
-rw-r--r-- | packaging/Debian/debian-stable/samba.config | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/packaging/Debian/debian-stable/samba.config b/packaging/Debian/debian-stable/samba.config new file mode 100644 index 0000000000..89792d436e --- /dev/null +++ b/packaging/Debian/debian-stable/samba.config @@ -0,0 +1,92 @@ +#/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 -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 |