Your IP : 216.73.216.170


Current Path : /var/lib/dpkg/info/
Upload File :
Current File : /var/lib/dpkg/info/samba.postinst

#!/bin/sh -e
#
# Post-installation script for the Samba package for Debian GNU/Linux
#
#

# Handle debconf
. /usr/share/debconf/confmodule

INITCONFFILE=/etc/default/samba

# We generate several files during the postinst, and we don't want
#	them to be readable only by root.
umask 022


# Generate configuration file if it does not exist, using default values.
[ -r "${INITCONFFILE}" ] || {
	echo Generating ${INITCONFFILE}... >&2
	cat >${INITCONFFILE} <<'EOFMAGICNUMBER1234'
# Defaults for samba initscript
# sourced by /etc/init.d/samba
# installed at /etc/default/samba by the maintainer scripts
#

#
# This is a POSIX shell fragment
#

# How should Samba (smbd) run? Possible values are "daemons"
#	or "inetd".
RUN_MODE=""
EOFMAGICNUMBER1234
}

# ------------------------- Debconf questions start ---------------------

# Run Samba as daemons or from inetd?
db_get samba/run_mode || true
RUN_MODE="${RET}"

TMPFILE=/etc/default/samba.dpkg-tmp
sed -e "s/^[[:space:]]*RUN_MODE[[:space:]]*=.*/RUN_MODE=\"${RUN_MODE}\"/" \
        < ${INITCONFFILE} >${TMPFILE}
chmod a+r ${TMPFILE}
mv -f ${TMPFILE} ${INITCONFFILE}

# Generate a smbpasswd file?
db_get samba/generate_smbpasswd || true
GENERATE_SMBPASSWD="${RET}"

# Done with debconf now.
db_stop

umask 066

# FIXME: disable if ldapsam support is enabled?
# FIXME: we don't want to pass these through the smbpasswd backend,
# some of the faking can cause us problems!
if [ "${GENERATE_SMBPASSWD}" = "true" -a ! -e /var/lib/samba/passdb.tdb -a ! -e /etc/samba/smbpasswd ]; then
	getent passwd | mksmbpasswd > /etc/samba/smbpasswd
	pdbedit -i smbpasswd -e tdbsam
	rm /etc/samba/smbpasswd
fi

umask 022

# ------------------------- Debconf questions end ---------------------

# move a tdb that should have been in /var/lib all along
if dpkg --compare-versions "$2" lt-nl 3.0.25b-2 \
   && dpkg --compare-versions "$2" ge 3.0.23-1 \
   && [ -e /var/run/samba/share_info.tdb ] \
   && ! [ -e /var/lib/samba/share_info.tdb ]
then
	mv /var/run/samba/share_info.tdb /var/lib/samba/share_info.tdb
fi

if dpkg --compare-versions "$2" lt-nl 2:3.5.4~dfsg-2 \
   && dpkg --compare-versions "$2" ge 2:3.5.0~rc1~dfsg-1 \
   && [ -e /etc/samba/schannel_store.tdb ] \
   && ! [ -e /var/lib/samba/schannel_store.tdb ]
then
	mv /etc/samba/schannel_store.tdb /var/lib/samba/schannel_store.tdb
fi

# We want to add these entries to inetd.conf commented out. Otherwise
#	UDP traffic could make inetd to start nmbd or smbd right during
#	the configuration stage.
if [ -z "$2" ]; then
	update-inetd --add "#<off># netbios-ssn	stream	tcp	nowait	root	/usr/sbin/tcpd	/usr/sbin/smbd"
fi

if [ "$RUN_MODE" = "daemons" ]; then
	update-inetd --disable netbios-ssn
else
	update-inetd --enable netbios-ssn
fi

# add the sambashare group
if ! getent group sambashare > /dev/null 2>&1
then
	addgroup --system sambashare
	# Only on Ubuntu, use the "admin" group as a template for the
	# initial users for this group; Debian has no equivalent group,
	# so leaving the sambashare group empty is the more secure default
	if [ -x "`which lsb_release 2>/dev/null`" ] \
	   && [ "`lsb_release -s -i`" = "Ubuntu" ]
	then
		OLDIFS="$IFS"
		IFS=","
		for USER in `getent group admin | cut -f4 -d:`; do
			adduser "$USER" sambashare \
			|| ! getent passwd "$USER" >/dev/null
		done
		IFS="$OLDIFS"
	fi
fi

if [ ! -e /var/lib/samba/usershares ]
then
	install -d -m 1770 -g sambashare /var/lib/samba/usershares
fi

update-alternatives --install /usr/bin/smbstatus smbstatus /usr/bin/smbstatus.samba3 10 \
	--slave /usr/share/man/man1/smbstatus.1.gz smbstatus.1.gz /usr/share/man/man1/smbstatus.samba3.1.gz

# Automatically added by dh_installinit
if [ -x "/etc/init.d/samba" ]; then
	update-rc.d samba defaults 20 19 >/dev/null
	if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
		invoke-rc.d samba start || exit $?
	else
		/etc/init.d/samba start || exit $?
	fi
fi
# End automatically added section


exit 0