lock:x:54:
sshd:x:74:
pcap:x:77:
+wbpriv:x:88:squid
nobody:x:99:
users:x:100:
snort:x:101:
var/ipfire/samba/smb.conf
var/ipfire/samba/smb.conf.default
var/lib/samba
+var/lib/samba/winbindd_privileged
var/log/samba
var/nmbd
etc/rc.d/init.d/samba
WARNING: untranslated string: addons
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm auth
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
WARNING: untranslated string: addons
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm auth
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm auth
WARNING: untranslated string: atm device
WARNING: untranslated string: bytes
WARNING: untranslated string: capabilities
WARNING: untranslated string: addons
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm auth
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
WARNING: untranslated string: addons
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm auth
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
+WARNING: untranslated string: advproxy AUTH method ntlm auth
WARNING: untranslated string: bytes
WARNING: untranslated string: capabilities
WARNING: untranslated string: default
< administrator password
< administrator username
< adsl settings
+< advproxy AUTH method ntlm auth
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
< administrator password
< administrator username
< adsl settings
+< advproxy AUTH method ntlm auth
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
< administrator password
< administrator username
< adsl settings
+< advproxy AUTH method ntlm auth
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
< administrator password
< administrator username
< adsl settings
+< advproxy AUTH method ntlm auth
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
unless (-e $browserdb) { system("touch $browserdb"); }
unless (-e $mimetypes) { system("touch $mimetypes"); }
+my $HAVE_NTLM_AUTH = (-e "/usr/bin/ntlm_auth");
+
open FILE, $browserdb;
@useragentlist = sort { reverse(substr(reverse(substr($a,index($a,',')+1)),index(reverse(substr($a,index($a,','))),',')+1)) cmp reverse(substr(reverse(substr($b,index($b,',')+1)),index(reverse(substr($b,index($b,','))),',')+1))} grep !/(^$)|(^\s*#)/,<FILE>;
close(FILE);
$checked{'AUTH_METHOD'}{'ident'} = '';
$checked{'AUTH_METHOD'}{'ldap'} = '';
$checked{'AUTH_METHOD'}{'ntlm'} = '';
+$checked{'AUTH_METHOD'}{'ntlm-auth'} = '';
$checked{'AUTH_METHOD'}{'radius'} = '';
$checked{'AUTH_METHOD'}{$proxysettings{'AUTH_METHOD'}} = "checked='checked'";
END
;
-print <<END
+my $auth_columns = 5;
+if ($HAVE_NTLM_AUTH) {
+ $auth_columns++;
+}
+my $auth_column_width = 100 / $auth_columns;
+
+print <<END;
<table width='100%'>
<tr>
- <td colspan='5'><b>$Lang::tr{'advproxy AUTH method'}</b></td>
+ <td colspan='$auth_columns'><b>$Lang::tr{'advproxy AUTH method'}</b></td>
</tr>
<tr>
- <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='none' $checked{'AUTH_METHOD'}{'none'} />$Lang::tr{'advproxy AUTH method none'}</td>
- <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='ncsa' $checked{'AUTH_METHOD'}{'ncsa'} />$Lang::tr{'advproxy AUTH method ncsa'}</td>
- <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='ident' $checked{'AUTH_METHOD'}{'ident'} />$Lang::tr{'advproxy AUTH method ident'}</td>
- <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='ldap' $checked{'AUTH_METHOD'}{'ldap'} />$Lang::tr{'advproxy AUTH method ldap'}</td>
- <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='ntlm' $checked{'AUTH_METHOD'}{'ntlm'} />$Lang::tr{'advproxy AUTH method ntlm'}</td>
- <td width='16%' class='base'><input type='radio' name='AUTH_METHOD' value='radius' $checked{'AUTH_METHOD'}{'radius'} />$Lang::tr{'advproxy AUTH method radius'}</td>
+ <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='none' $checked{'AUTH_METHOD'}{'none'} />$Lang::tr{'advproxy AUTH method none'}</td>
+ <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='ncsa' $checked{'AUTH_METHOD'}{'ncsa'} />$Lang::tr{'advproxy AUTH method ncsa'}</td>
+ <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='ident' $checked{'AUTH_METHOD'}{'ident'} />$Lang::tr{'advproxy AUTH method ident'}</td>
+ <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='ldap' $checked{'AUTH_METHOD'}{'ldap'} />$Lang::tr{'advproxy AUTH method ldap'}</td>
+ <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='ntlm' $checked{'AUTH_METHOD'}{'ntlm'} />$Lang::tr{'advproxy AUTH method ntlm'}</td>
+END
+
+if ($HAVE_NTLM_AUTH) {
+ print <<END;
+ <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='ntlm-auth' $checked{'AUTH_METHOD'}{'ntlm-auth'} />$Lang::tr{'advproxy AUTH method ntlm auth'}</td>
+END
+}
+
+print <<END
+ <td width='$auth_column_width%' class='base'><input type='radio' name='AUTH_METHOD' value='radius' $checked{'AUTH_METHOD'}{'radius'} />$Lang::tr{'advproxy AUTH method radius'}</td>
</tr>
</table>
END
print FILE <<END
cache_effective_user squid
-cache_effective_group squid
umask 022
pid_filename /var/run/squid.pid
}
}
+ if ($proxysettings{'AUTH_METHOD'} eq 'ntlm-auth')
+ {
+ print FILE "auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp\n";
+ print FILE "auth_param ntlm children $proxysettings{'AUTH_CHILDREN'}\n";
+ }
+
if ($proxysettings{'AUTH_METHOD'} eq 'radius')
{
print FILE "auth_param basic program $authdir/basic_radius_auth -h $proxysettings{'RADIUS_SERVER'} -p $proxysettings{'RADIUS_PORT'} ";
'advproxy AUTH method ncsa' => 'Lokal',
'advproxy AUTH method none' => 'Keine',
'advproxy AUTH method ntlm' => 'Windows',
+'advproxy AUTH method ntlm auth' => 'Windows Active Directory',
'advproxy AUTH method radius' => 'RADIUS',
'advproxy AUTH no auth' => 'Domains ohne Authentifizierung (eine pro Zeile)',
'advproxy AUTH number of auth processes' => 'Anzahl der Authentifizierungsprozesse',
'advproxy AUTH method ncsa' => 'Local',
'advproxy AUTH method none' => 'None',
'advproxy AUTH method ntlm' => 'Windows',
+'advproxy AUTH method ntlm auth' => 'Windows Active Directory',
'advproxy AUTH method radius' => 'RADIUS',
'advproxy AUTH no auth' => 'Domains without authentication (one per line)',
'advproxy AUTH number of auth processes' => 'Number of authentication processes',
--libdir=/usr/lib/ \
--sysconfdir=/var/ipfire \
--localstatedir=/var \
+ --with-lockdir=/var/lib/samba \
--with-piddir=/var/run \
--with-ads \
--with-acl-support \
cat /var/ipfire/samba/global /var/ipfire/samba/shares > /var/ipfire/samba/smb.conf
-mkdir -p /var/log/samba
install -v -m 644 $(DIR_SRC)/config/backup/includes/samba /var/ipfire/backup/addons/includes/samba
+
+ -mkdir -p 750 /var/lib/samba/winbindd_privileged
+ chgrp wbpriv /var/lib/samba/winbindd_privileged
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)
############################################################################
#
. /opt/pakfire/lib/functions.sh
+
+# If the wbpriv group does not exist yet, then create it and put squid
+# into it.
+if ! getent group wbpriv >/dev/null; then
+ groupadd -g 88 wbpriv
+ usermod -a -G wbpriv squid
+fi
+
extract_files
restore_backup ${NAME}
/usr/local/bin/sambactrl smbstart
#
. /opt/pakfire/lib/functions.sh
./uninstall.sh
+
+# If the wbpriv group does not exist yet, then create it and put squid
+# into it.
+if ! getent group wbpriv >/dev/null; then
+ groupadd -g 88 wbpriv
+ usermod -a -G wbpriv squid
+fi
+
extract_files
restore_backup ${NAME}
echo "passdb backend = smbpasswd" >> /var/ipfire/samba/smb.conf