本文整理汇总了PHP中unix::LOCATE_NET_BIN_PATH方法的典型用法代码示例。如果您正苦于以下问题:PHP unix::LOCATE_NET_BIN_PATH方法的具体用法?PHP unix::LOCATE_NET_BIN_PATH怎么用?PHP unix::LOCATE_NET_BIN_PATH使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类unix
的用法示例。
在下文中一共展示了unix::LOCATE_NET_BIN_PATH方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getNetInfos
function getNetInfos()
{
$unix = new unix();
$netbin = $unix->LOCATE_NET_BIN_PATH();
exec("{$netbin} ads info {$GLOBALS["AUTHCMD"]} 2>&1", $results);
while (list($index, $line) = each($results)) {
if (preg_match("#LDAP server:(.+)#", $line, $re)) {
$GLOBALS["LDAP_HOST"] = trim($re[1]);
continue;
}
if (preg_match("#Bind Path:(.+)#", $line, $re)) {
$GLOBALS["LDAP_SUFFIX"] = trim($re[1]);
continue;
}
if (preg_match("#LDAP port.+?([0-9]+)#", $line, $re)) {
$GLOBALS["LDAP_PORT"] = trim($re[1]);
continue;
}
}
}
示例2: activedirectory_ping
function activedirectory_ping(){
$sock=new sockets();
$unix=new unix();
$filetime="/etc/artica-postfix/pids/".basename(__FILE__).".".__FUNCTION__.".time";
$EnableSambaActiveDirectory=$sock->GET_INFO("EnableSambaActiveDirectory");
if(!is_numeric($EnableSambaActiveDirectory)){return;}
if($EnableSambaActiveDirectory<>1){return;}
$ping_dc=false;
$time=$unix->file_time_min($filetime);
if($time<120){
if(!$GLOBALS["VERBOSE"]){return;}
echo "$filetime ({$time}Mn)\n";
}
$kinit=$unix->find_program("kinit");
$echo=$unix->find_program("echo");
$net=$unix->LOCATE_NET_BIN_PATH();
$wbinfo=$unix->find_program("wbinfo");
$config=unserialize(base64_decode($sock->GET_INFO("SambaAdInfos")));
$domain=strtoupper($config["ADDOMAIN"]);
$domain_lower=strtolower($config["ADDOMAIN"]);
$ADSERVER_IP=$config["ADSERVER_IP"];
$ad_server=strtolower($config["ADSERVER"]);
$kinitpassword=$config["PASSWORD"];
$kinitpassword=$unix->shellEscapeChars($kinitpassword);
$clock_explain="The clock on you system (Linux/UNIX) is too far off from the correct time.\nYour machine needs to be within 5 minutes of the Kerberos servers in order to get any tickets.\nYou will need to run ntp, or a similar service to keep your clock within the five minute window";
$cmd="$echo $kinitpassword|$kinit {$config["ADADMIN"]}@$domain 2>&1";
echo "$cmd\n";
exec("$cmd",$kinit_results);
while (list ($num, $ligne) = each ($kinit_results) ){
if(preg_match("#Clock skew too great while getting initial credentials#", $ligne)){$unix->send_email_events("Active Directory connection clock issue", "kinit program claim\n$ligne\n$clock_explain", "system");}
if($GLOBALS["VERBOSE"]){echo "kinit: $ligne\n";}
}
exec("$wbinfo --ping-dc 2>&1",$ping_dc_results);
while (list ($num, $ligne) = each ($ping_dc_results) ){
if($GLOBALS["VERBOSE"]){echo "ping-dc: $ligne\n";}
if(preg_match("#succeeded#", $ligne)){$ping_dc=true;}
}
@unlink($filetime);
@file_put_contents($filetime, time());
}
示例3: disconnect
function disconnect()
{
$unix = new unix();
$user = new settings_inc();
$netbin = $unix->LOCATE_NET_BIN_PATH();
$kdestroy = $unix->find_program("kdestroy");
$sock = new sockets();
$nohup = $unix->find_program("nohup");
$array = unserialize(base64_decode($sock->GET_INFO("KerbAuthInfos")));
if (!isset($array["USE_AUTORID"])) {
$array["USE_AUTORID"] = 1;
}
if (!is_numeric($array["USE_AUTORID"])) {
$array["USE_AUTORID"] = 1;
}
$domainUp = strtoupper($array["WINDOWS_DNS_SUFFIX"]);
$domain_lower = strtolower($array["WINDOWS_DNS_SUFFIX"]);
$adminpassword = $array["WINDOWS_SERVER_PASS"];
$adminpassword = $unix->shellEscapeChars($adminpassword);
$adminpassword = str_replace("'", "", $adminpassword);
$adminname = $array["WINDOWS_SERVER_ADMIN"];
$ad_server = $array["WINDOWS_SERVER_NETBIOSNAME"];
$kdb5_util = $unix->find_program("kdb5_util");
$function = __FUNCTION__;
if (!is_file($netbin)) {
progress_logs(100, "{join_activedirectory_domain}", " net, no such binary");
return;
}
if (!$user->SAMBA_INSTALLED) {
progress_logs(100, "{join_activedirectory_domain}", " Samba, no such software");
return;
}
build_progress_disconnect("Flush Keytab...", 5);
exec("{$netbin} ads keytab flush 2>&1", $results);
build_progress_disconnect("Leave Active Directory...", 10);
exec("{$netbin} ads leave -U {$adminname}%{$adminpassword} 2>&1", $results);
build_progress_disconnect("Destroy Kerberos ticket", 10);
exec("{$kdestroy} 2>&1", $results);
build_progress_disconnect("Destroy Kerberos ticket", 15);
system("{$kdb5_util} -r {$domainUp} -P {$adminpassword} destroy -f");
build_progress_disconnect("Destroy Kerberos ticket", 20);
@unlink("/etc/squid3/PROXY.keytab");
squid_admin_mysql(0, "Active directory disconnected", "An order as been sent to disconnect Active Directory", __FILE__, __LINE__);
build_progress_disconnect("Stamp to not use Active Directory", 50);
$sock->SET_INFO("EnableKerbAuth", 0);
@unlink("/etc/cron.d/artica-ads-watchdog");
@unlink("/etc/cron.daily/msktutil");
build_progress_disconnect("Remove the system from Active Directory", 70);
exec("/usr/share/artica-postfix/bin/artica-install --nsswitch 2>&1", $results);
build_progress_disconnect("Restarting SMB Engine", 70);
exec("/etc/init.d/artica-postfix restart samba 2>&1", $results);
while (list($num, $ligne) = each($results)) {
echo "Leave......: {$ligne}\n";
progress_logs(90, "{join_activedirectory_domain}", "Leave......: {$ligne}");
}
build_progress_disconnect("{reconfiguring_proxy_service}", 80);
$php5 = $unix->LOCATE_PHP5_BIN();
system("{$php5} /usr/share/artica-postfix/exec.squid.php --build --force");
build_progress_disconnect("{done}", 100);
}
示例4: disconnect
function disconnect()
{
$unix = new unix();
$user = new settings_inc();
$netbin = $unix->LOCATE_NET_BIN_PATH();
$kdestroy = $unix->find_program("kdestroy");
$sock = new sockets();
$nohup = $unix->find_program("nohup");
$array = unserialize(base64_decode($sock->GET_INFO("KerbAuthInfos")));
if (!isset($array["USE_AUTORID"])) {
$array["USE_AUTORID"] = 1;
}
if (!is_numeric($array["USE_AUTORID"])) {
$array["USE_AUTORID"] = 1;
}
$domainUp = strtoupper($array["WINDOWS_DNS_SUFFIX"]);
$domain_lower = strtolower($array["WINDOWS_DNS_SUFFIX"]);
$adminpassword = $array["WINDOWS_SERVER_PASS"];
$adminpassword = $unix->shellEscapeChars($adminpassword);
$adminpassword = str_replace("'", "", $adminpassword);
$adminname = $array["WINDOWS_SERVER_ADMIN"];
$ad_server = $array["WINDOWS_SERVER_NETBIOSNAME"];
$function = __FUNCTION__;
if (!is_file($netbin)) {
progress_logs(100, "{join_activedirectory_domain}", " net, no such binary");
return;
}
if (!$user->SAMBA_INSTALLED) {
progress_logs(100, "{join_activedirectory_domain}", " Samba, no such software");
return;
}
exec("{$netbin} ads keytab flush 2>&1", $results);
exec("{$netbin} ads leave -U {$adminname}%{$adminpassword} 2>&1", $results);
exec("{$kdestroy} 2>&1", $results);
squid_admin_mysql(0, "Active directory disconnected", "An order as been sent to disconnect Active Directory", __FILE__, __LINE__);
$unix->send_email_events("Active directory disconnected", "An order as been sent to disconnect Active Directory", "activedirectory");
$sock->SET_INFO("EnableKerbAuth", 0);
exec("/usr/share/artica-postfix/bin/artica-install --nsswitch 2>&1", $results);
exec("/etc/init.d/artica-postfix restart samba 2>&1", $results);
while (list($num, $ligne) = each($results)) {
progress_logs(90, "{join_activedirectory_domain}", "Leave......: {$ligne}");
}
$php5 = $unix->LOCATE_PHP5_BIN();
shell_exec("{$nohup} {$php5} /usr/share/artica-postfix/exec.squid.php --build --force >/dev/null 2>&1 &");
progress_logs(100, "{join_activedirectory_domain}", "Leave......: {$ligne}");
}
示例5: JOIN_ACTIVEDIRECTORY
function JOIN_ACTIVEDIRECTORY()
{
$unix = new unix();
$function = __FUNCTION__;
$user = new settings_inc();
$netbin = $unix->LOCATE_NET_BIN_PATH();
if (!is_file($netbin)) {
echo "Starting......: " . date("H:i:s") . " {$function}, net, no such binary\n";
return;
}
if (!$user->SAMBA_INSTALLED) {
echo "Starting......: " . date("H:i:s") . " {$function}, Samba, no such software\n";
return;
}
$NetADSINFOS = $unix->SAMBA_GetNetAdsInfos();
$KDC_SERVER = $NetADSINFOS["KDC server"];
$sock = new sockets();
$array = unserialize(base64_decode($sock->GET_INFO("SambaAdInfos")));
run_msktutils();
$domainUp = strtoupper($array["ADDOMAIN"]);
$domain_lower = strtolower($array["ADDOMAIN"]);
$adminpassword = $array["PASSWORD"];
$adminpassword = $unix->shellEscapeChars($adminpassword);
$adminname = $array["ADADMIN"];
$ad_server = $array["ADSERVER"];
$workgroup = $array["WORKGROUP"];
$ipaddr = trim($array["ADSERVER_IP"]);
if ($GLOBALS["VERBOSE"]) {
echo "{$function}, Using Password: {$adminpassword}";
}
if (function_exists("WriteToSyslogMail")) {
WriteToSyslogMail("Trying to relink this server with Active Directory {$ad_server}.{$domain_lower} server", basename(__FILE__));
}
echo "Starting......: " . date("H:i:s") . " Samba, [{$adminname}]: Kdc server ads : {$KDC_SERVER}\n";
if ($KDC_SERVER == null) {
$cmd = "{$netbin} ads join -W {$ad_server}.{$domain_lower} -S {$ad_server} -U {$adminname}%{$adminpassword} 2>&1";
if ($GLOBALS["VERBOSE"]) {
echo "Starting......: " . date("H:i:s") . " {$function}, {$cmd}\n";
}
exec("{$cmd}", $results);
while (list($index, $line) = each($results)) {
echo "Starting......: " . date("H:i:s") . " {$function}, ads join [{$adminname}]: {$line}\n";
}
$NetADSINFOS = $unix->SAMBA_GetNetAdsInfos();
$KDC_SERVER = $NetADSINFOS["KDC server"];
}
if ($KDC_SERVER == null) {
echo "Starting......: " . date("H:i:s") . " Samba, [{$adminname}]: unable to join the domain {$domain_lower}\n";
}
echo "Starting......: " . date("H:i:s") . " Samba, [{$adminname}]: setauthuser..\n";
$cmd = "{$netbin} setauthuser -U {$adminname}%{$adminpassword}";
if ($GLOBALS["VERBOSE"]) {
echo "Starting......: " . date("H:i:s") . " {$function}, {$cmd}\n";
}
shell_exec($cmd);
if ($ipaddr == null) {
$JOINEDRES = false;
echo "Starting......: " . date("H:i:s") . " Samba, [{$adminname} 0]: join for {$workgroup} (without IP addr)\n";
if ($GLOBALS["VERBOSE"]) {
echo "Starting......: " . date("H:i:s") . " {$function},[{$adminname} 0]: {$cmd}\n";
}
$cmd = "{$netbin} join -U {$adminname}%{$adminpassword} {$workgroup} 2>&1";
exec($cmd, $A1);
while (list($index, $line) = each($A1)) {
if (preg_match("#Joined#", $line)) {
echo "Starting......: " . date("H:i:s") . " Samba, [{$adminname} 0]: join for {$workgroup} (without IP addr) success\n";
$JOINEDRES = true;
break;
}
if (function_exists("WriteToSyslogMail")) {
WriteToSyslogMail("Starting......: " . date("H:i:s") . " Samba, {$line}", basename(__FILE__));
}
}
if (!$JOINEDRES) {
echo "Starting......: " . date("H:i:s") . " Samba, [{$adminname} 0]: join as netrpc.. (without IP addr)\n";
$cmd = "{$netbin} rpc join -U {$adminname}%{$adminpassword} {$workgroup} 2>&1";
exec($cmd, $A2);
if ($GLOBALS["VERBOSE"]) {
echo "Starting......: " . date("H:i:s") . " {$function}, {$cmd}\n";
}
while (list($index, $line) = each($A2)) {
if (preg_match("#Joined#", $line)) {
echo "Starting......: " . date("H:i:s") . " Samba, [{$adminname} 0]: join for {$workgroup} (without IP addr) success\n";
$JOINEDRES = true;
break;
}
if (function_exists("WriteToSyslogMail")) {
WriteToSyslogMail("Starting......: " . date("H:i:s") . " Samba, {$line}", basename(__FILE__));
}
}
}
}
if ($ipaddr != null) {
if (!$GLOBALS["VERBOSE"]) {
echo "Starting......: " . date("H:i:s") . " {$function}, [{$adminname} 1]: ads '{$netbin} ads join -I {$ipaddr} -U {$adminname}%**** {$workgroup}'\n";
}
//$cmd="$netbin ads join -S $ad_server.$domain_lower -I $ipaddr -U $adminname%$adminpassword 2>&1";
$cmd = "{$netbin} ads join -I {$ipaddr} -U {$adminname}%{$adminpassword} {$workgroup} 2>&1";
if ($GLOBALS["VERBOSE"]) {
echo "Starting......: " . date("H:i:s") . " {$function},[{$adminname} 1]: {$cmd}\n";
//.........这里部分代码省略.........
示例6: GetNetAdsInfos
function GetNetAdsInfos()
{
$unix = new unix();
@mkdir("/etc/squid3", 0755, true);
if (is_file("/etc/squid3/NET_ADS_INFOS")) {
$array = unserialize(@file_get_contents("/etc/squid3/NET_ADS_INFOS"));
if (count($array) > 5) {
echo "<articadatascgi>" . base64_encode(serialize($array)) . "</articadatascgi>";
return;
}
}
$net = $unix->LOCATE_NET_BIN_PATH();
if (!is_file($net)) {
return array();
}
exec("{$net} ads info 2>&1", $results);
while (list($index, $line) = each($results)) {
if (preg_match("#^(.+?):(.+)#", trim($line), $re)) {
$array[trim($re[1])] = trim($re[2]);
}
}
if (!isset($array["KDC server"])) {
$array["KDC server"] = null;
}
@file_put_contents("/etc/squid3/NET_ADS_INFOS", serialize($array));
echo "<articadatascgi>" . base64_encode(serialize($array)) . "</articadatascgi>";
}