X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Fsamba.cgi;h=0ea3cc789c5655eccf0633a85355833894380316;hb=8936e2d21b57d96d86638208b427373bb16ac7ab;hp=062b4c85ad695bace0908102a368fb5b9ff9ae93;hpb=eef84767b0425924af530a70583cf9a46c010797;p=people%2Fpmueller%2Fipfire-2.x.git
diff --git a/html/cgi-bin/samba.cgi b/html/cgi-bin/samba.cgi
index 062b4c85ad..0ea3cc789c 100644
--- a/html/cgi-bin/samba.cgi
+++ b/html/cgi-bin/samba.cgi
@@ -32,38 +32,27 @@ my %sambasettings = ();
my %cgisettings = ();
my %checked = ();
my %netsettings = ();
-my %ovpnsettings = ();
my %color = ();
my %mainsettings = ();
my $message = "";
my $errormessage = "";
-my $Status = qx(/usr/local/bin/sambactrl smbstatus);
-$Status = &Header::cleanhtml($Status);
-
my $userentry = "";
my @user = ();
my @userline = ();
my $userfile = "${General::swroot}/samba/private/smbpasswd";
my %selected= () ;
-my $defaultoption= "[Share]\npath = /var/ipfire/samba/share1\ncomment = Share - Public Access\nbrowseable = yes\nwriteable = yes\ncreate mask = 0777\ndirectory mask = 0777\npublic = yes\nforce user = samba";
+my $defaultoption= "[My Share]\npath = \ncomment = Share - Public Access\nbrowseable = yes\nwriteable = yes\ncreate mask = 0644\ndirectory mask = 0755\npublic = yes\nforce user = samba";
my %shares = ();
&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
-&General::readhash("${General::swroot}/ovpn/settings", \%ovpnsettings);
&General::readhash("${General::swroot}/main/settings", \%mainsettings);
&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color);
-my @ovpnnetwork = split(/\//,$ovpnsettings{'DOVPN_SUBNET'});
-my @ovpnip = split(/\./,$ovpnnetwork[0]);
-$ovpnip[3]=$ovpnip[3]+1;
-
############################################################################################################################
############################################# Samba Dienste fr Statusberprfung ##########################################
-my %servicenames = ('SMB Daemon' => 'smbd', 'NetBIOS Nameserver' => 'nmbd', 'Winbind Daemon' => 'winbindd');
-
&Header::showhttpheaders();
############################################################################################################################
@@ -72,54 +61,35 @@ my %servicenames = ('SMB Daemon' => 'smbd', 'NetBIOS Nameserver' => 'nmbd', 'Win
$sambasettings{'WORKGRP'} = 'homeip.net';
$sambasettings{'INTERFACES'} = '';
$sambasettings{'SECURITY'} = 'user';
-$sambasettings{'OSLEVEL'} = '33';
-$sambasettings{'GREEN'} = 'on';
-$sambasettings{'BLUE'} = 'off';
-$sambasettings{'ORANGE'} = 'off';
-$sambasettings{'VPN'} = 'off';
$sambasettings{'REMOTEANNOUNCE'} = '';
$sambasettings{'REMOTESYNC'} = '';
-$sambasettings{'PASSWORDSYNC'} = 'off';
-$sambasettings{'OTHERINTERFACES'} = '127.0.0.1';
$sambasettings{'GUESTACCOUNT'} = 'samba';
$sambasettings{'MAPTOGUEST'} = 'Bad User';
-$sambasettings{'WIDELINKS'} = 'on';
-$sambasettings{'UNIXEXTENSION'} = 'off';
$sambasettings{'ENCRYPTION'} = 'optional';
### Values that have to be initialized
$sambasettings{'ACTION'} = '';
my $LOGLINES = '50';
-################################################## Samba PDC Variablen #####################################################
-
-my $PDCOPTIONS = `cat ${General::swroot}/samba/pdc`;
-
-
############################################################################################################################
&General::readhash("${General::swroot}/samba/settings", \%sambasettings);
&Header::getcgihash(\%sambasettings);
-sub refreshpage{&Header::openbox( 'Waiting', 1, "" );print "
$Lang::tr{'pagerefresh'}";&Header::closebox();}
-
-if (($sambasettings{'WIDELINKS'} eq 'on') & ($sambasettings{'UNIXEXTENSION'} eq 'on'))
- {$errormessage = "$errormessage
Don't enable 'Wide links' and 'Unix extension' at the same time"; }
-
&Header::openpage('Samba', 1, '');
&Header::openbigbox('100%', 'left', '', $errormessage);
############################################################################################################################
############################################# Samba Rootskript aufrufe fr SU-Actions #######################################
-if ($sambasettings{'ACTION'} eq 'smbuserdisable'){system("/usr/local/bin/sambactrl smbuserdisable $sambasettings{'NAME'}");refreshpage();}
-if ($sambasettings{'ACTION'} eq 'smbuserenable'){system("/usr/local/bin/sambactrl smbuserenable $sambasettings{'NAME'}");refreshpage();}
-if ($sambasettings{'ACTION'} eq 'smbuseradd'){system("/usr/local/bin/sambactrl smbuseradd $sambasettings{'USERNAME'} $sambasettings{'PASSWORD'} $sambasettings{'GROUP'} $sambasettings{'SHELL'}");refreshpage();}
-if ($sambasettings{'ACTION'} eq 'smbpcadd'){system("/usr/local/bin/sambactrl smbpcadd $sambasettings{'PCNAME'} $sambasettings{'GROUP'} $sambasettings{'SHELL'}");refreshpage();}
-if ($sambasettings{'ACTION'} eq 'smbchangepw'){system("/usr/local/bin/sambactrl smbchangepw $sambasettings{'USERNAME'} $sambasettings{'PASSWORD'}");refreshpage();}
-if ($sambasettings{'ACTION'} eq 'smbrestart'){system("/usr/local/bin/sambactrl smbrestart");refreshpage();}
-if ($sambasettings{'ACTION'} eq 'smbstart'){system("/usr/local/bin/sambactrl smbstart");refreshpage();}
-if ($sambasettings{'ACTION'} eq 'smbstop'){system("/usr/local/bin/sambactrl smbstop");refreshpage();}
-if ($sambasettings{'ACTION'} eq 'smbreload'){system("/usr/local/bin/sambactrl smbreload");refreshpage();}
+if ($sambasettings{'ACTION'} eq 'smbuserdisable'){system("/usr/local/bin/sambactrl smbuserdisable $sambasettings{'NAME'}");}
+if ($sambasettings{'ACTION'} eq 'smbuserenable'){system("/usr/local/bin/sambactrl smbuserenable $sambasettings{'NAME'}");}
+if ($sambasettings{'ACTION'} eq 'smbuseradd'){system("/usr/local/bin/sambactrl smbuseradd $sambasettings{'USERNAME'} $sambasettings{'PASSWORD'} $sambasettings{'GROUP'} $sambasettings{'SHELL'}");}
+if ($sambasettings{'ACTION'} eq 'smbpcadd'){system("/usr/local/bin/sambactrl smbpcadd $sambasettings{'PCNAME'} $sambasettings{'GROUP'} $sambasettings{'SHELL'}");}
+if ($sambasettings{'ACTION'} eq 'smbchangepw'){system("/usr/local/bin/sambactrl smbchangepw $sambasettings{'USERNAME'} $sambasettings{'PASSWORD'}");}
+if ($sambasettings{'ACTION'} eq 'smbrestart'){system("/usr/local/bin/sambactrl smbrestart");}
+if ($sambasettings{'ACTION'} eq 'smbstart'){system("/usr/local/bin/sambactrl smbstart");}
+if ($sambasettings{'ACTION'} eq 'smbstop'){system("/usr/local/bin/sambactrl smbstop");}
+if ($sambasettings{'ACTION'} eq 'smbreload'){system("/usr/local/bin/sambactrl smbreload");}
if ($sambasettings{'ACTION'} eq 'join') {
$message .= &joindomain($sambasettings{'USERNAME'}, $sambasettings{'PASSWORD'});
}
@@ -127,30 +97,19 @@ if ($sambasettings{'ACTION'} eq 'join') {
############################################################################################################################
########################################### Samba Benutzer oder PC l�chen #################################################
-if ($sambasettings{'ACTION'} eq 'userdelete'){system("/usr/local/bin/sambactrl smbuserdelete $sambasettings{'NAME'}");refreshpage();}
+if ($sambasettings{'ACTION'} eq 'userdelete'){system("/usr/local/bin/sambactrl smbuserdelete $sambasettings{'NAME'}");}
############################################################################################################################
##################################### Umsetzen der Werte von Checkboxen und Dropdowns ######################################
if ($sambasettings{'ACTION'} eq $Lang::tr{'save'})
{
-$sambasettings{'INTERFACES'} = '';
-if ($sambasettings{'GREEN'} eq 'on'){ $sambasettings{'INTERFACES'} .= " $netsettings{'GREEN_DEV'}";}
-if ($sambasettings{'BLUE'} eq 'on'){ $sambasettings{'INTERFACES'} .= " $netsettings{'BLUE_DEV'}";}
-if ($sambasettings{'ORANGE'} eq 'on'){ $sambasettings{'INTERFACES'} .= " $netsettings{'ORANGE_DEV'}";}
-if ($sambasettings{'VPN'} eq 'on'){$sambasettings{'INTERFACES'} .= " ";}
-if ($sambasettings{'OTHERINTERFACES'} ne ''){ $sambasettings{'INTERFACES'} .= " $sambasettings{'OTHERINTERFACES'}";}
-
############################################################################################################################
##################################### Schreiben settings und bersetzen fr smb.conf #######################################
delete $sambasettings{'__CGI__'};delete $sambasettings{'x'};delete $sambasettings{'y'};
&General::writehash("${General::swroot}/samba/settings", \%sambasettings);
-if ($sambasettings{'PASSWORDSYNC'} eq 'on'){ $sambasettings{'PASSWORDSYNC'} = "true";} else { $sambasettings{'PASSWORDSYNC'} = "false";}
-if ($sambasettings{'WIDELINKS'} eq 'on'){ $sambasettings{'WIDELINKS'} = "yes";} else { $sambasettings{'WIDELINKS'} = "no";}
-if ($sambasettings{'UNIXEXTENSION'} eq 'on'){ $sambasettings{'UNIXEXTENSION'} = "yes";} else { $sambasettings{'UNIXEXTENSION'} = "no";}
-
############################################################################################################################
############################################# Schreiben der Samba globals ##################################################
@@ -167,15 +126,11 @@ workgroup = $sambasettings{'WORKGRP'}
realm = $mainsettings{'DOMAINNAME'}
passdb backend = smbpasswd
-wide links = $sambasettings{'WIDELINKS'}
-unix extensions = $sambasettings{'UNIXEXTENSION'}
-os level = $sambasettings{'OSLEVEL'}
-
map to guest = $sambasettings{'MAPTOGUEST'}
security = $sambasettings{'SECURITY'}
guest account = $sambasettings{'GUESTACCOUNT'}
-unix password sync = $sambasettings{'PASSWORDSYNC'}
+unix password sync = no
bind interfaces only = true
interfaces = green0 blue0 127.0.0.0/8
@@ -190,6 +145,12 @@ winbind use default domain = yes
# Log to syslog
logging = syslog
+# Enable support for Apple
+vfs objects = catia fruit streams_xattr recycle
+
+# Enable following symlinks
+wide links = yes
+
END
;
@@ -208,7 +169,6 @@ close FILE;
system("/usr/local/bin/sambactrl smbsafeconf");
system("/usr/local/bin/sambactrl smbreload");
-refreshpage();
}
&General::readhash("${General::swroot}/samba/settings", \%sambasettings);
@@ -233,27 +193,6 @@ if ($message) {
############################################################################################################################
########################################## Aktivieren von Checkboxen und Dropdowns #########################################
-$checked{'PASSWORDSYNC'}{'off'} = '';
-$checked{'PASSWORDSYNC'}{'on'} = '';
-$checked{'PASSWORDSYNC'}{$sambasettings{'PASSWORDSYNC'}} = "checked='checked'";
-$checked{'WIDELINKS'}{'off'} = '';
-$checked{'WIDELINKS'}{'on'} = '';
-$checked{'WIDELINKS'}{$sambasettings{'WIDELINKS'}} = "checked='checked'";
-$checked{'UNIXEXTENSION'}{'off'} = '';
-$checked{'UNIXEXTENSION'}{'on'} = '';
-$checked{'UNIXEXTENSION'}{$sambasettings{'UNIXEXTENSION'}} = "checked='checked'";
-$checked{'GREEN'}{'off'} = '';
-$checked{'GREEN'}{'on'} = '';
-$checked{'GREEN'}{$sambasettings{'GREEN'}} = "checked='checked'";
-$checked{'BLUE'}{'off'} = '';
-$checked{'BLUE'}{'on'} = '';
-$checked{'BLUE'}{$sambasettings{'BLUE'}} = "checked='checked'";
-$checked{'ORANGE'}{'off'} = '';
-$checked{'ORANGE'}{'on'} = '';
-$checked{'ORANGE'}{$sambasettings{'ORANGE'}} = "checked='checked'";
-$checked{'VPN'}{'off'} = '';
-$checked{'VPN'}{'on'} = '';
-$checked{'VPN'}{$sambasettings{'VPN'}} = "checked='checked'";
$selected{'ENCRYPTION'}{'optional'} = '';
$selected{'ENCRYPTION'}{'desired'} = '';
$selected{'ENCRYPTION'}{'required'} = '';
@@ -269,93 +208,143 @@ $selected{'SECURITY'}{$sambasettings{'SECURITY'}} = "selected='selected'";
################################### Aufbau der HTML Seite fr globale Sambaeinstellungen ###################################
&Header::openbox('100%', 'center', $Lang::tr{'samba'});
-print <
-
-$Lang::tr{'all services'} |
-
+
+my %servicenames = (
+ "nmbd" => $Lang::tr{'netbios nameserver daemon'},
+ "smbd" => $Lang::tr{'smb daemon'},
+ "winbindd" => $Lang::tr{'winbind daemon'},
+);
+
+print <
+
+ $Lang::tr{'all services'} |
+
END
-;
-my $key = '';
-foreach $key (sort keys %servicenames)
- {
- print "$key | ";
- my $shortname = $servicenames{$key};
- my $status = &isrunning($shortname);
- print "$status
";
- }
+foreach my $service (sort keys %servicenames) {
+ my $status = &isrunning($service);
-print <
-
-
-
-
-if ($sambasettings{'ACTION'} eq 'globalcaption')
- {
- print <
-
- $Lang::tr{'caption'} |
- | $Lang::tr{'save settings'} |
- | $Lang::tr{'restore settings'} |
+
+
+
+
+
+
+