added domain SID to preferences
This commit is contained in:
parent
6f65c533e6
commit
9387613301
|
@ -91,6 +91,9 @@ $helpArray = array (
|
||||||
"213" => array ("ext" => "FALSE", "Headline" => _("Configuration Wizard - Samba version"),
|
"213" => array ("ext" => "FALSE", "Headline" => _("Configuration Wizard - Samba version"),
|
||||||
"Text" => _("If you use Samba 3.x with the new LDAP schema say \"yes\" here, otherwise \"no\".".
|
"Text" => _("If you use Samba 3.x with the new LDAP schema say \"yes\" here, otherwise \"no\".".
|
||||||
"<br><br><b>LAM will not work if version is wrong!</b>")),
|
"<br><br><b>LAM will not work if version is wrong!</b>")),
|
||||||
|
"214" => array ("ext" => "FALSE", "Headline" => _("Configuration Wizard - Samba domain SID"),
|
||||||
|
"Text" => _("If you use the new Samba 3.x schema enter your domain SID here.".
|
||||||
|
"<br><br>You can get your domain SID with this command: <b>net getlocalsid</b>")),
|
||||||
// 300 - 399
|
// 300 - 399
|
||||||
// Roland Gruber
|
// Roland Gruber
|
||||||
// profile editor
|
// profile editor
|
||||||
|
@ -150,6 +153,9 @@ $helpArray = array (
|
||||||
"Text" => _("This is primary group for the Samba machine account.")),
|
"Text" => _("This is primary group for the Samba machine account.")),
|
||||||
"371" => array ("ext" => "FALSE", "Headline" => _("Profile Editor - Domain"),
|
"371" => array ("ext" => "FALSE", "Headline" => _("Profile Editor - Domain"),
|
||||||
"Text" => _("This is the Windows domain name.")),
|
"Text" => _("This is the Windows domain name.")),
|
||||||
|
// 400 - 499
|
||||||
|
// Tilo Lutz
|
||||||
|
// account.php
|
||||||
"400" => array ("ext" => "FALSE", "Headline" => _("Username"),
|
"400" => array ("ext" => "FALSE", "Headline" => _("Username"),
|
||||||
"Text" => _("Username of the user which should be created. Valid characters are: a-z,0-9, .-_. Lam doesn't allow a number as first
|
"Text" => _("Username of the user which should be created. Valid characters are: a-z,0-9, .-_. Lam doesn't allow a number as first
|
||||||
character because it's impossible to create a homedirectory starting with a number. Lam doesn't allow capital letters A-Z because it
|
character because it's impossible to create a homedirectory starting with a number. Lam doesn't allow capital letters A-Z because it
|
||||||
|
|
|
@ -90,6 +90,9 @@ class Config {
|
||||||
// if "yes" use the new LDAP schema for Samba 3.x
|
// if "yes" use the new LDAP schema for Samba 3.x
|
||||||
var $samba3;
|
var $samba3;
|
||||||
|
|
||||||
|
// Samba 3 domain SIDs
|
||||||
|
var $domainSID;
|
||||||
|
|
||||||
// constructor, loads preferences from ../config/lam.conf
|
// constructor, loads preferences from ../config/lam.conf
|
||||||
function Config() {
|
function Config() {
|
||||||
$this->reload();
|
$this->reload();
|
||||||
|
@ -186,6 +189,10 @@ class Config {
|
||||||
$this->samba3 = chop(substr($line, 8, strlen($line)-8));
|
$this->samba3 = chop(substr($line, 8, strlen($line)-8));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (substr($line, 0, 11) == "domainSID: ") {
|
||||||
|
$this->domainSID = chop(substr($line, 11, strlen($line)-11));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fclose($file);
|
fclose($file);
|
||||||
}
|
}
|
||||||
|
@ -202,7 +209,7 @@ class Config {
|
||||||
$save_serverURL = $save_passwd = $save_admins = $save_suffusr = $save_suffgrp = $save_suffhst =
|
$save_serverURL = $save_passwd = $save_admins = $save_suffusr = $save_suffgrp = $save_suffhst =
|
||||||
$save_minUID = $save_maxUID = $save_minGID = $save_maxGID = $save_minMach = $save_maxMach =
|
$save_minUID = $save_maxUID = $save_minGID = $save_maxGID = $save_minMach = $save_maxMach =
|
||||||
$save_usrlstatrr = $save_grplstatrr = $save_hstlstatrr = $save_maxlstent = $save_deflang =
|
$save_usrlstatrr = $save_grplstatrr = $save_hstlstatrr = $save_maxlstent = $save_deflang =
|
||||||
$save_scriptPath = $save_scriptServer = $save_samba3 = False;
|
$save_scriptPath = $save_scriptServer = $save_samba3 = $save_domainSID = False;
|
||||||
$file = fopen($conffile, "r");
|
$file = fopen($conffile, "r");
|
||||||
$file_array = array();
|
$file_array = array();
|
||||||
while (!feof($file)) {
|
while (!feof($file)) {
|
||||||
|
@ -312,6 +319,11 @@ class Config {
|
||||||
$save_samba3 = True;
|
$save_samba3 = True;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (substr($file_array[$i], 0, 11) == "domainSID: ") {
|
||||||
|
$file_array[$i] = "domainSID: " . $this->domainSID . "\n";
|
||||||
|
$save_domainSID = True;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// check if we have to add new entries (e.g. if user upgraded LAM and has an old lam.conf)
|
// check if we have to add new entries (e.g. if user upgraded LAM and has an old lam.conf)
|
||||||
if (!$save_serverURL == True) array_push($file_array, "\n\n# server address (e.g. ldap://localhost:389 or ldaps://localhost:636)\n" . "serverURL: " . $this->ServerURL);
|
if (!$save_serverURL == True) array_push($file_array, "\n\n# server address (e.g. ldap://localhost:389 or ldaps://localhost:636)\n" . "serverURL: " . $this->ServerURL);
|
||||||
|
@ -342,6 +354,7 @@ class Config {
|
||||||
if (!$save_scriptPath == True) array_push($file_array, "\n\n# Path to external Script\n" . "scriptPath: " . $this->scriptPath);
|
if (!$save_scriptPath == True) array_push($file_array, "\n\n# Path to external Script\n" . "scriptPath: " . $this->scriptPath);
|
||||||
if (!$save_scriptServer == True) array_push($file_array, "\n\n# Server of external Script\n" . "scriptServer: " . $this->scriptServer);
|
if (!$save_scriptServer == True) array_push($file_array, "\n\n# Server of external Script\n" . "scriptServer: " . $this->scriptServer);
|
||||||
if (!$save_samba3 == True) array_push($file_array, "\n\n# Set to \"yes\" only if you use the new Samba 3.x schema.\n" . "samba3: " . $this->samba3);
|
if (!$save_samba3 == True) array_push($file_array, "\n\n# Set to \"yes\" only if you use the new Samba 3.x schema.\n" . "samba3: " . $this->samba3);
|
||||||
|
if (!$save_domainSID == True) array_push($file_array, "\n\n# Samba 3 domain SID. Set only if you use the new Samba 3.x schema.\n" . "domainSID: " . $this->domainSID);
|
||||||
$file = fopen($conffile, "w");
|
$file = fopen($conffile, "w");
|
||||||
if ($file) {
|
if ($file) {
|
||||||
for ($i = 0; $i < sizeof($file_array); $i++) fputs($file, $file_array[$i]);
|
for ($i = 0; $i < sizeof($file_array); $i++) fputs($file, $file_array[$i]);
|
||||||
|
@ -358,6 +371,7 @@ class Config {
|
||||||
function printconf() {
|
function printconf() {
|
||||||
echo _("<b>ServerURL: </b>") . $this->ServerURL . "<br>";
|
echo _("<b>ServerURL: </b>") . $this->ServerURL . "<br>";
|
||||||
echo _("<b>Samba3: </b>") . $this->samba3 . "<br>";
|
echo _("<b>Samba3: </b>") . $this->samba3 . "<br>";
|
||||||
|
echo _("<b>Domain SID: </b>") . $this->domainSID . "<br>";
|
||||||
echo _("<b>UserSuffix: </b>") . $this->Suff_users . "<br>";
|
echo _("<b>UserSuffix: </b>") . $this->Suff_users . "<br>";
|
||||||
echo _("<b>GroupSuffix: </b>") . $this->Suff_groups . "<br>";
|
echo _("<b>GroupSuffix: </b>") . $this->Suff_groups . "<br>";
|
||||||
echo _("<b>HostSuffix: </b>") . $this->Suff_hosts . "<br>";
|
echo _("<b>HostSuffix: </b>") . $this->Suff_hosts . "<br>";
|
||||||
|
@ -641,6 +655,20 @@ class Config {
|
||||||
else StatusMessage("WARN", "", _("Config->set_samba3 failed!") . " " . $value);
|
else StatusMessage("WARN", "", _("Config->set_samba3 failed!") . " " . $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// returns the Samba domain SID (Samba 3 only)
|
||||||
|
function get_domainSID() {
|
||||||
|
return $this->domainSID;
|
||||||
|
}
|
||||||
|
|
||||||
|
// sets the Samba domain SID (Samba 3 only)
|
||||||
|
function set_domainSID($value) {
|
||||||
|
if (!$value) $value = ""; // optional parameter
|
||||||
|
if (is_string($value) && eregi("^(S-[0-9]-[0-9]-[0-9]{2,2}-[0-9]{10,10}-[0-9]{10,10}-[0-9]{10,10})|()$", $value)) {
|
||||||
|
$this->domainSID = $value;
|
||||||
|
}
|
||||||
|
else StatusMessage("WARN", "", _("Config->set_domainSID failed!") . " " . $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,13 +57,15 @@ if ($_POST['back'] || $_POST['submitconf']){
|
||||||
if ($_POST['language']) $language = $_POST['language'];
|
if ($_POST['language']) $language = $_POST['language'];
|
||||||
if ($_POST['scriptpath']) $scriptpath = $_POST['scriptpath'];
|
if ($_POST['scriptpath']) $scriptpath = $_POST['scriptpath'];
|
||||||
if ($_POST['samba3']) $samba3 = $_POST['samba3'];
|
if ($_POST['samba3']) $samba3 = $_POST['samba3'];
|
||||||
|
if ($_POST['domainSID']) $domainSID = $_POST['domainSID'];
|
||||||
|
if ($_POST['scriptpath']) $scriptpath = $_POST['scriptpath'];
|
||||||
else $scriptpath = "";
|
else $scriptpath = "";
|
||||||
if ($_POST['scriptserver']) $scriptserver = $_POST['scriptserver'];
|
if ($_POST['scriptserver']) $scriptserver = $_POST['scriptserver'];
|
||||||
else $scriptserver = "";
|
else $scriptserver = "";
|
||||||
session_register('passwd', 'passwd1', 'passwd2', 'serverurl', 'admins', 'suffusers',
|
session_register('passwd', 'passwd1', 'passwd2', 'serverurl', 'admins', 'suffusers',
|
||||||
'suffgroups', 'suffhosts', 'minUID', 'maxUID', 'minGID', 'maxGID', 'minMach',
|
'suffgroups', 'suffhosts', 'minUID', 'maxUID', 'minGID', 'maxGID', 'minMach',
|
||||||
'maxMach', 'usrlstattr', 'grplstattr', 'hstlstattr', 'maxlistentries', 'language',
|
'maxMach', 'usrlstattr', 'grplstattr', 'hstlstattr', 'maxlistentries', 'language',
|
||||||
'scriptpath', 'scriptserver', 'samba3');
|
'scriptpath', 'scriptserver', 'samba3', 'domainSID');
|
||||||
echo("<meta http-equiv=\"refresh\" content=\"0; URL=confsave.php\">");
|
echo("<meta http-equiv=\"refresh\" content=\"0; URL=confsave.php\">");
|
||||||
}
|
}
|
||||||
// back to login
|
// back to login
|
||||||
|
@ -135,8 +137,12 @@ echo ("<tr><td align=\"right\"><b>".
|
||||||
"<td><input size=50 type=\"text\" name=\"suffhosts\" value=\"" . $conf->get_HostSuffix() . "\"></td>\n");
|
"<td><input size=50 type=\"text\" name=\"suffhosts\" value=\"" . $conf->get_HostSuffix() . "\"></td>\n");
|
||||||
echo ("<td><a href=\"../help.php?HelpNumber=202\" target=\"lamhelp\">" . _("Help") . "</a></td></tr>\n");
|
echo ("<td><a href=\"../help.php?HelpNumber=202\" target=\"lamhelp\">" . _("Help") . "</a></td></tr>\n");
|
||||||
|
|
||||||
// new line
|
echo ("</table>");
|
||||||
echo ("<tr><td colspan=3> </td></tr>");
|
echo ("</fieldset>");
|
||||||
|
echo ("<p></p>");
|
||||||
|
|
||||||
|
echo ("<fieldset><legend><b>" . _("Samba settings") . "</b></legend>");
|
||||||
|
echo ("<table border=0>");
|
||||||
|
|
||||||
// Samba version
|
// Samba version
|
||||||
echo ("<tr><td align=\"right\"><b>".
|
echo ("<tr><td align=\"right\"><b>".
|
||||||
|
@ -145,6 +151,15 @@ if ($conf->get_samba3() == "yes") echo ("<option>yes</option><option>no</option>
|
||||||
else echo ("<option>no</option><option>yes</option></select></td>");
|
else echo ("<option>no</option><option>yes</option></select></td>");
|
||||||
echo ("<td><a href=\"../help.php?HelpNumber=213\" target=\"lamhelp\">" . _("Help") . "</a></td></tr>\n");
|
echo ("<td><a href=\"../help.php?HelpNumber=213\" target=\"lamhelp\">" . _("Help") . "</a></td></tr>\n");
|
||||||
|
|
||||||
|
// new line
|
||||||
|
echo ("<tr><td colspan=3> </td></tr>");
|
||||||
|
|
||||||
|
// Samba domain SID
|
||||||
|
echo ("<tr><td align=\"right\"><b>".
|
||||||
|
_("Domain SID (Samba 3 only)") . ": </b></td>".
|
||||||
|
"<td><input size=50 type=\"text\" name=\"domainSID\" value=\"" . $conf->get_domainSID() . "\"></td>\n");
|
||||||
|
echo ("<td><a href=\"../help.php?HelpNumber=214\" target=\"lamhelp\">" . _("Help") . "</a></td></tr>\n");
|
||||||
|
|
||||||
echo ("</table>");
|
echo ("</table>");
|
||||||
echo ("</fieldset>");
|
echo ("</fieldset>");
|
||||||
echo ("<p></p>");
|
echo ("<p></p>");
|
||||||
|
|
|
@ -54,6 +54,7 @@ if ($_SESSION['language']) $language = $_SESSION['language'];
|
||||||
if ($_SESSION['scriptpath']) $scriptpath = $_SESSION['scriptpath'];
|
if ($_SESSION['scriptpath']) $scriptpath = $_SESSION['scriptpath'];
|
||||||
if ($_SESSION['scriptserver']) $scriptserver = $_SESSION['scriptserver'];
|
if ($_SESSION['scriptserver']) $scriptserver = $_SESSION['scriptserver'];
|
||||||
if ($_SESSION['samba3']) $samba3 = $_SESSION['samba3'];
|
if ($_SESSION['samba3']) $samba3 = $_SESSION['samba3'];
|
||||||
|
if ($_SESSION['domainSID']) $domainSID = $_SESSION['domainSID'];
|
||||||
|
|
||||||
// check if password is correct
|
// check if password is correct
|
||||||
// if not: load login page
|
// if not: load login page
|
||||||
|
@ -161,6 +162,12 @@ if (chop($samba3) == "") {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((chop($samba3) == "yes") && (($domainSID == "") || (!$domainSID))) {
|
||||||
|
echo _("<font color=\"red\"><b>" . _("Samba 3 needs a domain SID!") . "</b></font>");
|
||||||
|
echo ("\n<br><br><br><a href=\"javascript:history.back()\">" . _("Back to preferences...") . "</a>");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
// set new preferences
|
// set new preferences
|
||||||
$conf->set_ServerURL($serverurl);
|
$conf->set_ServerURL($serverurl);
|
||||||
$conf->set_Adminstring($admins);
|
$conf->set_Adminstring($admins);
|
||||||
|
@ -179,6 +186,7 @@ $conf->set_hostlistAttributes($hstlstattr);
|
||||||
$conf->set_MaxListEntries($maxlistentries);
|
$conf->set_MaxListEntries($maxlistentries);
|
||||||
$conf->set_defaultLanguage($language);
|
$conf->set_defaultLanguage($language);
|
||||||
$conf->set_samba3($samba3);
|
$conf->set_samba3($samba3);
|
||||||
|
$conf->set_domainSID($domainSID);
|
||||||
// optional
|
// optional
|
||||||
if ($_SESSION['scriptpath']) $conf->set_scriptpath($scriptpath);
|
if ($_SESSION['scriptpath']) $conf->set_scriptpath($scriptpath);
|
||||||
else $conf->set_scriptpath("");
|
else $conf->set_scriptpath("");
|
||||||
|
@ -228,5 +236,6 @@ unset($_SESSION['language']);
|
||||||
unset($_SESSION['scriptpath']);
|
unset($_SESSION['scriptpath']);
|
||||||
unset($_SESSION['scriptserver']);
|
unset($_SESSION['scriptserver']);
|
||||||
unset($_SESSION['samba3']);
|
unset($_SESSION['samba3']);
|
||||||
|
unset($_SESSION['domainSID']);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -52,6 +52,7 @@ $defaultlanguage = $conf->get_defaultlanguage();
|
||||||
$scriptpath = $conf->get_scriptPath();
|
$scriptpath = $conf->get_scriptPath();
|
||||||
$scriptServer = $conf->get_scriptServer();
|
$scriptServer = $conf->get_scriptServer();
|
||||||
$samba3 = $conf->get_samba3();
|
$samba3 = $conf->get_samba3();
|
||||||
|
$domainSID = $conf->get_domainSID();
|
||||||
echo ("done<br>");
|
echo ("done<br>");
|
||||||
// next we modify them and save lam.conf
|
// next we modify them and save lam.conf
|
||||||
echo ("Changing preferences...");
|
echo ("Changing preferences...");
|
||||||
|
@ -76,6 +77,7 @@ $conf->set_defaultlanguage("de_AT:iso639_de:Deutsch (Oesterreich)");
|
||||||
$conf->set_scriptPath("/var/www/lam/lib/script");
|
$conf->set_scriptPath("/var/www/lam/lib/script");
|
||||||
$conf->set_scriptServer("127.0.0.1");
|
$conf->set_scriptServer("127.0.0.1");
|
||||||
$conf->set_samba3("yes");
|
$conf->set_samba3("yes");
|
||||||
|
$conf->set_domainSID("S-0-1-22-1234567890-1234567890-1234567890");
|
||||||
$conf->save();
|
$conf->save();
|
||||||
echo ("done<br>");
|
echo ("done<br>");
|
||||||
// at last all preferences are read from lam.conf and compared
|
// at last all preferences are read from lam.conf and compared
|
||||||
|
@ -104,6 +106,7 @@ if ($conf->get_defaultlanguage() != "de_AT:iso639_de:Deutsch (Oesterreich)") ech
|
||||||
if ($conf->get_scriptPath() != "/var/www/lam/lib/script") echo ("<br><font color=\"#FF0000\">Saving script path failed!</font><br>");
|
if ($conf->get_scriptPath() != "/var/www/lam/lib/script") echo ("<br><font color=\"#FF0000\">Saving script path failed!</font><br>");
|
||||||
if ($conf->get_scriptServer() != "127.0.0.1") echo ("<br><font color=\"#FF0000\">Saving script server failed!</font><br>");
|
if ($conf->get_scriptServer() != "127.0.0.1") echo ("<br><font color=\"#FF0000\">Saving script server failed!</font><br>");
|
||||||
if ($conf->get_samba3() != "yes") echo ("<br><font color=\"#FF0000\">Saving samba3 failed!</font><br>");
|
if ($conf->get_samba3() != "yes") echo ("<br><font color=\"#FF0000\">Saving samba3 failed!</font><br>");
|
||||||
|
if ($conf->get_domainSID() != "S-0-1-22-1234567890-1234567890-1234567890") echo ("<br><font color=\"#FF0000\">Saving domainSID failed!</font><br>");
|
||||||
echo ("done<br>");
|
echo ("done<br>");
|
||||||
// restore old values
|
// restore old values
|
||||||
echo ("Restoring old preferences...");
|
echo ("Restoring old preferences...");
|
||||||
|
@ -128,6 +131,7 @@ $conf->set_defaultLanguage($defaultlanguage);
|
||||||
$conf->set_scriptPath($scriptpath);
|
$conf->set_scriptPath($scriptpath);
|
||||||
$conf->set_scriptServer($scriptserver);
|
$conf->set_scriptServer($scriptserver);
|
||||||
$conf->set_samba3($samba3);
|
$conf->set_samba3($samba3);
|
||||||
|
$conf->set_domainSID($domainSID);
|
||||||
$conf->save();
|
$conf->save();
|
||||||
echo ("done<br>");
|
echo ("done<br>");
|
||||||
// finished
|
// finished
|
||||||
|
|
Loading…
Reference in New Issue