samba: Add GUI functionality to join a domain.

This commit is contained in:
Michael Tremer
2014-03-23 23:47:07 +01:00
parent a8e327cd50
commit 0ffbb688d3
13 changed files with 157 additions and 10 deletions

View File

@@ -21,6 +21,7 @@ WARNING: translation string unused: add-route
WARNING: translation string unused: addon
WARNING: translation string unused: admin user password has been changed
WARNING: translation string unused: administrator user password
WARNING: translation string unused: adsl settings
WARNING: translation string unused: advproxy LDAP auth
WARNING: translation string unused: advproxy NTLM auth
WARNING: translation string unused: advproxy advanced proxy

View File

@@ -20,6 +20,7 @@ WARNING: translation string unused: add xtaccess
WARNING: translation string unused: add-route
WARNING: translation string unused: admin user password has been changed
WARNING: translation string unused: administrator user password
WARNING: translation string unused: adsl settings
WARNING: translation string unused: advproxy LDAP auth
WARNING: translation string unused: advproxy NTLM auth
WARNING: translation string unused: advproxy advanced proxy

View File

@@ -585,6 +585,8 @@ WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: Set time on boot
WARNING: untranslated string: addons
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
@@ -848,6 +850,7 @@ WARNING: untranslated string: least preferred
WARNING: untranslated string: lifetime
WARNING: untranslated string: mac filter
WARNING: untranslated string: maximum
WARNING: untranslated string: messages
WARNING: untranslated string: minimum
WARNING: untranslated string: minute
WARNING: untranslated string: model
@@ -918,6 +921,8 @@ WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: untranslated string: routing config changed
WARNING: untranslated string: routing table
WARNING: untranslated string: samba join a domain
WARNING: untranslated string: samba join domain
WARNING: untranslated string: server restart
WARNING: untranslated string: show dh
WARNING: untranslated string: snat new source ip address

View File

@@ -595,6 +595,8 @@ WARNING: untranslated string: MTU settings
WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: addons
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
@@ -859,6 +861,7 @@ WARNING: untranslated string: least preferred
WARNING: untranslated string: lifetime
WARNING: untranslated string: mac filter
WARNING: untranslated string: maximum
WARNING: untranslated string: messages
WARNING: untranslated string: minimum
WARNING: untranslated string: minute
WARNING: untranslated string: model
@@ -925,6 +928,8 @@ WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: untranslated string: routing config changed
WARNING: untranslated string: routing table
WARNING: untranslated string: samba join a domain
WARNING: untranslated string: samba join domain
WARNING: untranslated string: server restart
WARNING: untranslated string: show dh
WARNING: untranslated string: snat new source ip address

View File

@@ -652,6 +652,8 @@ WARNING: translation string unused: yearly firewallhits
WARNING: untranslated string: MTU settings
WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
WARNING: untranslated string: atm device
WARNING: untranslated string: bytes
WARNING: untranslated string: capabilities
@@ -670,6 +672,7 @@ WARNING: untranslated string: gen dh
WARNING: untranslated string: generate dh key
WARNING: untranslated string: imei
WARNING: untranslated string: imsi
WARNING: untranslated string: messages
WARNING: untranslated string: model
WARNING: untranslated string: modem hardware details
WARNING: untranslated string: modem information
@@ -698,6 +701,8 @@ WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: untranslated string: routing config changed
WARNING: untranslated string: routing table
WARNING: untranslated string: samba join a domain
WARNING: untranslated string: samba join domain
WARNING: untranslated string: show dh
WARNING: untranslated string: software version
WARNING: untranslated string: source ip country

View File

@@ -585,6 +585,8 @@ WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: Set time on boot
WARNING: untranslated string: addons
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
@@ -848,6 +850,7 @@ WARNING: untranslated string: least preferred
WARNING: untranslated string: lifetime
WARNING: untranslated string: mac filter
WARNING: untranslated string: maximum
WARNING: untranslated string: messages
WARNING: untranslated string: minimum
WARNING: untranslated string: minute
WARNING: untranslated string: model
@@ -918,6 +921,8 @@ WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: untranslated string: routing config changed
WARNING: untranslated string: routing table
WARNING: untranslated string: samba join a domain
WARNING: untranslated string: samba join domain
WARNING: untranslated string: server restart
WARNING: untranslated string: show dh
WARNING: untranslated string: snat new source ip address

View File

@@ -588,6 +588,8 @@ WARNING: untranslated string: MTU settings
WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: addons
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
@@ -844,6 +846,7 @@ WARNING: untranslated string: least preferred
WARNING: untranslated string: lifetime
WARNING: untranslated string: mac filter
WARNING: untranslated string: maximum
WARNING: untranslated string: messages
WARNING: untranslated string: minimum
WARNING: untranslated string: minute
WARNING: untranslated string: model
@@ -908,6 +911,8 @@ WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: untranslated string: routing config changed
WARNING: untranslated string: routing table
WARNING: untranslated string: samba join a domain
WARNING: untranslated string: samba join domain
WARNING: untranslated string: server restart
WARNING: untranslated string: show dh
WARNING: untranslated string: snat new source ip address

View File

@@ -651,6 +651,8 @@ WARNING: translation string unused: yearly firewallhits
WARNING: untranslated string: MTU settings
WARNING: untranslated string: Number of Countries for the pie chart
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: administrator password
WARNING: untranslated string: administrator username
WARNING: untranslated string: bytes
WARNING: untranslated string: capabilities
WARNING: untranslated string: default
@@ -666,6 +668,7 @@ WARNING: untranslated string: gen dh
WARNING: untranslated string: generate dh key
WARNING: untranslated string: imei
WARNING: untranslated string: imsi
WARNING: untranslated string: messages
WARNING: untranslated string: model
WARNING: untranslated string: modem hardware details
WARNING: untranslated string: modem information
@@ -693,6 +696,8 @@ WARNING: untranslated string: route config changed
WARNING: untranslated string: routing config added
WARNING: untranslated string: routing config changed
WARNING: untranslated string: routing table
WARNING: untranslated string: samba join a domain
WARNING: untranslated string: samba join domain
WARNING: untranslated string: show dh
WARNING: untranslated string: software version
WARNING: untranslated string: source ip country

View File

@@ -14,6 +14,9 @@
# Checking cgi-bin translations for language: fr #
############################################################################
< addon
< administrator password
< administrator username
< adsl settings
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
@@ -329,6 +332,7 @@
< maximum
< MB read
< MB written
< messages
< minimum
< minute
< model
@@ -398,6 +402,8 @@
< qos enter bandwidths
< random number generator daemon
< red1
< samba join a domain
< samba join domain
< server restart
< show dh
< snat new source ip address
@@ -534,6 +540,9 @@
# Checking cgi-bin translations for language: es #
############################################################################
< addon
< administrator password
< administrator username
< adsl settings
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
@@ -849,6 +858,7 @@
< maximum
< MB read
< MB written
< messages
< minimum
< minute
< model
@@ -934,6 +944,8 @@
< qos enter bandwidths
< random number generator daemon
< red1
< samba join a domain
< samba join domain
< server restart
< Set time on boot
< show dh
@@ -1047,6 +1059,9 @@
# Checking cgi-bin translations for language: pl #
############################################################################
< addon
< administrator password
< administrator username
< adsl settings
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
@@ -1353,6 +1368,7 @@
< maximum
< MB read
< MB written
< messages
< minimum
< minute
< model
@@ -1424,6 +1440,8 @@
< qos enter bandwidths
< random number generator daemon
< red1
< samba join a domain
< samba join domain
< server restart
< show dh
< snat new source ip address
@@ -1536,6 +1554,9 @@
############################################################################
< Add a route
< addon
< administrator password
< administrator username
< adsl settings
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
@@ -1848,6 +1869,7 @@
< maximum
< MB read
< MB written
< messages
< minimum
< minute
< model
@@ -1917,6 +1939,8 @@
< qos enter bandwidths
< random number generator daemon
< red1
< samba join a domain
< samba join domain
< server restart
< show dh
< snat new source ip address

View File

@@ -67,8 +67,7 @@ $ovpnip[3]=$ovpnip[3]+1;
############################################################################################################################
############################################# Samba Dienste fr Statusberprfung ##########################################
my %servicenames = ('SMB Daemon' => 'smbd','NetBIOS Nameserver' => 'nmbd');
#my %servicenames = ('SMB Daemon' => 'smbd','NetBIOS Nameserver' => 'nmbd','Winbind Daemon' => 'winbindd');
my %servicenames = ('SMB Daemon' => 'smbd', 'NetBIOS Nameserver' => 'nmbd', 'Winbind Daemon' => 'winbindd');
&Header::showhttpheaders();
@@ -192,6 +191,10 @@ if ($sambasettings{'ACTION'} eq 'globalresetyes')
refreshpage();
}
if ($sambasettings{'ACTION'} eq 'join') {
$message .= &joindomain($sambasettings{'USERNAME'}, $sambasettings{'PASSWORD'});
}
############################################################################################################################
################################################ Sicherheitsabfrage für den Reset ##########################################
@@ -276,6 +279,7 @@ print FILE <<END
netbios name = $sambasettings{'NETBIOSNAME'}
server string = $sambasettings{'SRVSTRING'}
workgroup = $sambasettings{'WORKGRP'}
realm = $mainsettings{'DOMAINNAME'}
passdb backend = smbpasswd
wide links = $sambasettings{'WIDELINKS'}
@@ -315,6 +319,11 @@ username level = 1
wins support = $sambasettings{'WINSSUPPORT'}
wins server = $sambasettings{'WINSSRV'}
winbind separator = +
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind use default domain = yes
log file = /var/log/samba/samba-log.%m
lock directory = /var/lock/samba
pid directory = /var/run/
@@ -384,6 +393,15 @@ if ($errormessage)
&Header::closebox();
}
if ($message) {
$message = &Header::cleanhtml($message);
$message =~ s/\n/<br>/g;
&Header::openbox('100%', 'left', $Lang::tr{'messages'});
print "$message\n";
&Header::closebox();
}
############################################################################################################################
########################################## Aktivieren von Checkboxen und Dropdowns #########################################
@@ -440,14 +458,6 @@ $selected{'SECURITY'}{$sambasettings{'SECURITY'}} = "selected='selected'";
print <<END
<br />
<table width='95%' cellspacing='0'>
END
;
if ( $message ne "" )
{
print "<tr><td colspan='3' align='left'><font color='red'>$message</font>";
}
print <<END
<tr bgcolor='$color{'color20'}'><td colspan='2' align='left'><b>$Lang::tr{'all services'}</b></td></tr>
</table><table width='95%' cellspacing='0'>
END
@@ -875,6 +885,55 @@ END
&Header::closebox();
}
if ($sambasettings{'SECURITY'} eq "ADS") {
&Header::openbox('100%', 'center', $Lang::tr{'samba join a domain'});
my $AD_DOMAINNAME = uc($mainsettings{'DOMAINNAME'});
print <<END;
<form method="POST" action="$ENV{'SCRIPT_NAME'}">
<input type="hidden" name="ACTION" value="join">
<table width="95%">
<tbody>
<tr>
<td width="40%">
$Lang::tr{'domain'}
</td>
<td>
$AD_DOMAINNAME
</td>
</tr>
<tr>
<td width="40%">
$Lang::tr{'administrator username'}
</td>
<td>
<input type="text" name="USERNAME" size="30">
</td>
</tr>
<tr>
<td width="40%">
$Lang::tr{'administrator password'}
</td>
<td>
<input type="password" name="PASSWORD" size="30">
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="$Lang::tr{'samba join domain'}">
</td>
</tr>
</tbody>
</table>
</form>
END
&Header::closebox();
}
############################################################################################################################
############################################### Verwalten von Freigaben ####################################################
@@ -1304,3 +1363,13 @@ sub isrunning
}
return $status;
}
sub joindomain {
my $username = shift;
my $password = shift;
my @options = ("/usr/local/bin/sambactrl", "join", $username, $password);
my $output = qx(@options);
return $output;
}

View File

@@ -99,7 +99,10 @@
'addon' => 'Addons',
'admin user password has been changed' => 'Passwort für Benutzer admin wurde geändert.',
'admin users' => 'Liste der Benutzer mit Super User Rechten',
'administrator password' => 'Administrator-Passwort',
'administrator user password' => 'Passwort für Benutzer &quot;admin&quot;:',
'administrator username' => 'Administrator-Benutzername',
'adsl settings' => 'ADSL-Einstellungen',
'advanced' => 'Erweitert',
'advanced server' => 'Erweiterte Server-Optionen',
'advproxy AUTH always required' => 'Authentifizierung für uneingeschränkte Quelladressen erforderlich',
@@ -1454,6 +1457,7 @@
'memory' => 'Speicher',
'memory information' => 'Speicherinformationen',
'memory usage per' => 'Speichernutzung pro',
'messages' => 'Meldungen',
'messages logging' => 'Logeinstellungen für /var/log/messages',
'method' => 'Methode:',
'min costs' => 'Minimale Kosten',
@@ -1888,6 +1892,8 @@
'running' => 'LÄUFT',
'safe removal of umounted device' => 'Sie können gefahrlos das abgemeldete Gerät entfernen',
'samba' => 'Samba',
'samba join a domain' => 'Einer Domäne beitreten',
'samba join domain' => 'Domäne beitreten',
'samba status' => 'Samba Status',
'saturday' => 'Samstag',
'save' => 'Speichern',

View File

@@ -99,7 +99,10 @@
'addons' => 'Addons',
'admin user password has been changed' => 'Admin user password has been changed.',
'admin users' => 'User with superuser rights',
'administrator password' => 'Administrator password',
'administrator user password' => 'Admin user password:',
'administrator username' => 'Administrator username',
'adsl settings' => 'ADSL settings',
'advanced' => 'Advanced',
'advanced server' => 'Advanced server options',
'advproxy AUTH always required' => 'Require authentication for unrestricted source addresses',
@@ -1484,6 +1487,7 @@
'memory' => 'Memory',
'memory information' => 'Memory information',
'memory usage per' => 'Memory Usage per',
'messages' => 'Messages',
'messages logging' => 'Logsettings for /var/log/messages',
'method' => 'Method:',
'min costs' => 'Minimum costs',
@@ -1920,6 +1924,8 @@
'running' => 'RUNNING',
'safe removal of umounted device' => 'You can safely remove the unmounted device',
'samba' => 'Samba',
'samba join a domain' => 'Join a domain',
'samba join domain' => 'Join domain',
'samba status' => 'Samba Status',
'saturday' => 'Saturday',
'save' => 'Save',

View File

@@ -129,6 +129,16 @@ int main(int argc, char *argv[]) {
} else if (strcmp(argv[1], "disable") == 0) {
safe_system("unlink /var/ipfire/samba/enable");
safe_system("rm -rf /etc/rc.d/rc*.d/*samba");
} else if (strcmp(argv[1], "join") == 0) {
if (argc == 4) {
snprintf(command, BUFFER_SIZE - 1, "/usr/bin/net join -U \"%s%%%s\"",
argv[2], argv[3]);
return safe_system(command);
} else {
fprintf(stderr, "Wrong number of arguments. Need username and password.\n");
return 1;
}
}
return 0;