_("Your account"))); dual_begin(array()); print("
" . _("You have not authenticated yourself to the system yet with your") . " " . _("username") . " " . _("and") . " " . _("password") . ". " . _("You will not be able to use this section of the website without authenticating yourself first. So, please continue and login using the form on the right hand side.") . "
\n"); dual_middle(array()); show_account_details(array()); dual_end(array()); generic_footer(array()); exit; } if (($HTTP_GET_VARS["sort"] == "gid") || ($HTTP_POST_VARS["sort"] == "gid")) $sortorder = "gid"; else if (($HTTP_GET_VARS["sort"] == "gname") || ($HTTP_POST_VARS["sort"] == "gname")) $sortorder = "gname"; else if (($HTTP_GET_VARS["sort"] == "gtype") || ($HTTP_POST_VARS["sort"] == "gtype")) $sortorder = "gtype"; else $sortorder = "none"; if ((count($HTTP_POST_VARS) > 0) || (count($HTTP_GET_VARS) > 0)) if (($HTTP_GET_VARS["request"] == "delete") || ($HTTP_POST_VARS["request"] == "create") || ($HTTP_POST_VARS["request"] == "changepassword")) { if ($HTTP_GET_VARS["request"] == "delete") { if ((strlen($HTTP_GET_VARS["uid"]) > 0) && (strlen($HTTP_GET_VARS["uname"]) > 0)) if (($HTTP_GET_VARS["uid"] >= 500) && ($HTTP_GET_VARS["uid"] <= 65000)) if (is_valid_user($HTTP_GET_VARS["uname"])) system("/usr/bin/sudo /usr/sbin/userdel " . $HTTP_GET_VARS["uname"]); } else if ($HTTP_POST_VARS["request"] == "create") { if ((strlen($HTTP_POST_VARS["uid"]) > 0) && ($HTTP_POST_VARS["uid"] >= 500) && ($HTTP_POST_VARS["uid"] <= 65000)) $uidstr = " -u " . $HTTP_POST_VARS["uid"]; if ((strlen($HTTP_POST_VARS["uname"]) > 0) && (strlen($HTTP_POST_VARS["password"]) > 0) && (strlen($HTTP_POST_VARS["primarygroup"]) > 0)) if (is_valid_user($HTTP_POST_VARS["uname"])) system("/usr/bin/sudo /usr/sbin/useradd -s /bin/false -d / -g " . $HTTP_POST_VARS["primarygroup"] . " -p " . $HTTP_POST_VARS["password"] . $uidstr . " " . $HTTP_POST_VARS["uname"]); } else if ($HTTP_POST_VARS["request"] == "changepassword") { if ((strlen($HTTP_POST_VARS["username"]) > 0) && (strlen($HTTP_POST_VARS["password"]) > 0)) if (is_valid_user($HTTP_POST_VARS["username"])) { $passp = popen("/usr/bin/sudo /usr/sbin/chpasswd", "w"); fputs($passp, $HTTP_POST_VARS["username"] . ":" . $HTTP_POST_VARS["password"] . "\n"); pclose($passp); } } header("Location: ./account_users.html?sort=" . $sortorder); exit; } generic_header(array("title" => _("Administration Section"))); single_begin(array()); print("Welcome Administrator. The following are various system information and preferences, arranged into tabs. Please click on a tab to open up that category.
= 500) && ($group_info["gr_gid"] <= 65000)) { $ggid = $group_info["gr_gid"]; $groups_name[$ggid] = $group_info["gr_name"]; $groups_properties[$ggid] = "Unknown"; } } endgrent(); $authp = popen("/usr/bin/sudo /usr/sbin/authconfig --openfiler --kickstart", "r"); $i = 0; while (!feof($authp)) $aresult[$i++] = fgets($authp, 4096); pclose($authp); if (strncasecmp($aresult[9], "YES", 3) == 0) { // add NIS groups $nis_command = "/usr/bin/sudo /usr/bin/ypcat group"; $groupp = popen($nis_command, "r"); $i = 0; while (!feof($groupp)) { $gresult[$i] = explode(":", fgets($groupp, 4096)); foreach (($gresult[$i]) as $gresultitem) $gresultitem = trim($gresultitem); if ((strlen($gresult[$i][0]) > 0) && ($gresult[$i][2] >= 500) && ($gresult[$i][2] <= 65000)) { if ($groups_properties[$gresult[$i][2]] == "Unknown") $groups_properties[$gresult[$i][2]] = "NIS"; } $i++; } pclose($groupp); } if (strncasecmp($aresult[5], "YES", 3) == 0) { // add LDAP groups } if (strncasecmp($aresult[2], "YES", 3) == 0) { // add Hesiod groups } // add local groups $groupp = popen("/usr/bin/sudo /bin/cat /etc/group", "r"); $i = 0; while (!feof($groupp)) { $gresult[$i] = explode(":", fgets($groupp, 4096)); foreach (($gresult[$i]) as $gresultitem) $gresultitem = trim($gresultitem); if ((strlen($gresult[$i][0]) > 0) && ($gresult[$i][2] >= 500) && ($gresult[$i][2] <= 65000)) { if ($groups_properties[$gresult[$i][2]] == "Unknown") $groups_properties[$gresult[$i][2]] = "Local"; } $i++; } pclose($groupp); $users_uid = array(); $users_gid = array(); $users_name = array(); $users_gname = array(); $users_type = array(); endpwent(); while ($user_info = getpwent()) { if (($user_info["pw_uid"] >= 500) && ($user_info["pw_uid"] <= 65000)) { array_push($users_uid, $user_info["pw_uid"]); array_push($users_name, $user_info["pw_name"]); $ugid = $user_info["pw_gid"]; array_push($users_gid, $ugid); array_push($users_gname, $groups_name[$ugid]); array_push($users_type, "Unknown"); } } endpwent(); if (strncasecmp($aresult[9], "YES", 3) == 0) { // add NIS users $nis_command = "/usr/bin/sudo /usr/bin/ypcat passwd"; $userp = popen($nis_command, "r"); $i = 0; while (!feof($userp)) { $uresult[$i] = explode(":", fgets($userp, 4096)); foreach (($uresult[$i]) as $uresultitem) $uresultitem = trim($uresultitem); if ((strlen($uresult[$i][0]) > 0) && ($uresult[$i][2] >= 500) && ($uresult[$i][2] <= 65000)) { for ($j = 0; $j < count($users_uid); $j++) if (($users_uid[$j] == $uresult[$i][2]) && ($users_name[$j] == $uresult[$i][0]) && ($users_type[$j] == "Unknown")) $users_type[$j] = "NIS"; } $i++; } pclose($userp); } if (strncasecmp($aresult[5], "YES", 3) == 0) { // add LDAP users } if (strncasecmp($aresult[2], "YES", 3) == 0) { // add Hesiod users } // add local users $userp = popen("/usr/bin/sudo /bin/cat /etc/passwd", "r"); $i = 0; while (!feof($userp)) { $uresult[$i] = explode(":", fgets($userp, 4096)); foreach (($uresult[$i]) as $uresultitem) $uresultitem = trim($uresultitem); if ((strlen($uresult[$i][0]) > 0) && ($uresult[$i][2] >= 500) && ($uresult[$i][2] <= 65000)) { for ($j = 0; $j < count($users_uid); $j++) if (($users_uid[$j] == $uresult[$i][2]) && ($users_name[$j] == $uresult[$i][0]) && ($users_type[$j] == "Unknown")) $users_type[$j] = "Local"; } $i++; } pclose($userp); if ($sortorder == "uname") array_multisort($users_name, $users_gname, $users_uid, $users_type, $users_gid); else if ($sortorder == "uid") array_multisort($users_uid, $users_name, $users_gname, $users_type, $users_gid); else if ($sortorder == "gname") array_multisort($users_gname, $users_uid, $users_name, $users_type, $users_gid); else if ($sortorder == "utype") array_multisort($users_type, $users_uid, $users_name, $users_gname, $users_gid); ?>To delete a user, click on Delete.
To create a new user, use the form below.
User names can only be made up of lowercase alphabets and numbers.
You can click on a Local user to set that user's properties.
| ">UID | ">User Name | " align="center">User Type | ">Primary Group | " align="center">Group Type | ">Delete | " . $users_uid[$i] . " | \n"); print("\t");
if ($users_type[$i] == "Local")
{
?>
| \n");
print("\t" . $users_type[$i] . " | \n"); print("\t" . ((strlen(trim($users_gname[$i])) > 0) ? $users_gname[$i] : "N/A") . " | \n"); print("\t" . (((strlen(trim($users_gname[$i])) > 0)) ? $groups_properties[$users_gid[$i]] : "N/A") . " | \n"); print("\t"); if ($users_type[$i] == "Local") print("Delete"); else print("N/A"); print(" | \n"); print("\n"); } ?>