Ejemplo n.º 1
0
function SambaAudit(){
	if($GLOBALS["VERBOSE"]){writelogs("starting SambaAudit()",__FUNCTION__,__FILE__,__LINE__);}
	$sock=new sockets();
	$EnableSambaXapian=$sock->GET_INFO("EnableSambaXapian");
	$EnableScannedOnly=$sock->GET_INFO('EnableScannedOnly');
	if($EnableSambaXapian==null){$EnableSambaXapian=1;}
	if($EnableScannedOnly==null){$EnableScannedOnly=1;}
	$users=new usersMenus();
	if(!$users->XAPIAN_PHP_INSTALLED){$EnableSambaXapia=0;}
	if(!$users->SCANNED_ONLY_INSTALLED){$EnableScannedOnly=0;}
	
	$sambaZ=new samba();
	$write=false;
	
	
	while (list ($num, $ligne) = each ($sambaZ->main_array) ){
		if($num<>"homes"){if($ligne["path"]==null){continue;}}
		if($num=="profiles"){continue;}
		if($num=="printers"){continue;}
		if($num=="print$"){continue;}
		if($num=="netlogon"){continue;}
		$vfs_objects=$ligne["vfs object"];
		
		
		if($EnableSambaXapian==1){
			if(!IsVfsExists($vfs_objects,"full_audit")){
				$ini->_params[$num]["vfs object"]=$ini->_params[$num]["vfs object"]." full_audit";
				$ini->_params[$num]["vfs object"]=VFSClean($ini->_params[$num]["vfs object"]);
				$ini->_params[$num]["full_audit:prefix"]="%u|%I|%m|%S|%P";
				$ini->_params[$num]["full_audit:success"]="rename unlink pwrite write";
				$ini->_params[$num]["full_audit:failure"]="none";
				$ini->_params[$num]["full_audit:facility"]="LOCAL7";
				$ini->_params[$num]["full_audit:priority"]="NOTICE";				
				$write=true;
			}
		}else{
			if(IsVfsExists($vfs_objects,"full_audit")){
				$ini->_params[$num]["vfs object"]=str_replace("full_audit","",$ini->_params[$num]["vfs object"]);
				$ini->_params[$num]["vfs object"]=VFSClean($ini->_params[$num]["vfs object"]);
				unset($ini->_params[$num]["full_audit:prefix"]);
				unset($ini->_params[$num]["full_audit:success"]);
				unset($ini->_params[$num]["full_audit:failure"]);
				unset($ini->_params[$num]["full_audit:facility"]);
				unset($ini->_params[$num]["full_audit:priority"]);
				$write=true;
			}
		}
		
		if($EnableScannedOnly==0){
			if(IsVfsExists($vfs_objects,"scannedonly")){
				$ini->_params[$num]["vfs object"]=str_replace("scannedonly","",$ini->_params[$num]["vfs object"]);
				$ini->_params[$num]["vfs object"]=VFSClean($ini->_params[$num]["vfs object"]);
				$write=true;
			}
		}		
}
	
if($write){$sambaZ->SaveToLdap(true);}
	
	
	
	
}
Ejemplo n.º 2
0
function SambaAudit()
{
    $sock = new sockets();
    $EnableSambaXapian = $sock->GET_INFO("EnableSambaXapian");
    $EnableScannedOnly = $sock->GET_INFO('EnableScannedOnly');
    if ($EnableSambaXapian == null) {
        $EnableSambaXapian = 1;
    }
    if ($EnableScannedOnly == null) {
        $EnableScannedOnly = 1;
    }
    $users = new usersMenus();
    if (!$users->XAPIAN_PHP_INSTALLED) {
        $EnableSambaXapia = 0;
    }
    if (!$users->SCANNED_ONLY_INSTALLED) {
        $EnableScannedOnly = 0;
    }
    $ini = new Bs_IniHandler("/etc/samba/smb.conf");
    $write = true;
    while (list($num, $ligne) = each($ini->_params)) {
        if ($num != "homes") {
            if ($ligne["path"] == null) {
                continue;
            }
        }
        if ($num == "profiles") {
            continue;
        }
        if ($num == "printers") {
            continue;
        }
        if ($num == "print\$") {
            continue;
        }
        if ($num == "netlogon") {
            continue;
        }
        $vfs_objects = $ligne["vfs object"];
        if ($EnableSambaXapian == 1) {
            if (!IsVfsExists($vfs_objects, "full_audit")) {
                $ini->_params[$num]["vfs object"] = $ini->_params[$num]["vfs object"] . " full_audit";
                $ini->_params[$num]["vfs object"] = VFSClean($ini->_params[$num]["vfs object"]);
                $ini->_params[$num]["full_audit:prefix"] = "%u|%I|%m|%S|%P";
                $ini->_params[$num]["full_audit:success"] = "rename unlink pwrite write";
                $ini->_params[$num]["full_audit:failure"] = "none";
                $ini->_params[$num]["full_audit:facility"] = "LOCAL7";
                $ini->_params[$num]["full_audit:priority"] = "NOTICE";
                $write = true;
            }
        } else {
            if (IsVfsExists($vfs_objects, "full_audit")) {
                $ini->_params[$num]["vfs object"] = str_replace("full_audit", "", $ini->_params[$num]["vfs object"]);
                $ini->_params[$num]["vfs object"] = VFSClean($ini->_params[$num]["vfs object"]);
                unset($ini->_params[$num]["full_audit:prefix"]);
                unset($ini->_params[$num]["full_audit:success"]);
                unset($ini->_params[$num]["full_audit:failure"]);
                unset($ini->_params[$num]["full_audit:facility"]);
                unset($ini->_params[$num]["full_audit:priority"]);
                $write = true;
            }
        }
        if ($EnableScannedOnly == 0) {
            if (IsVfsExists($vfs_objects, "scannedonly")) {
                $ini->_params[$num]["vfs object"] = str_replace("scannedonly", "", $ini->_params[$num]["vfs object"]);
                $ini->_params[$num]["vfs object"] = VFSClean($ini->_params[$num]["vfs object"]);
                $write = true;
            }
        }
    }
    if ($write) {
        $ini->saveFile("/etc/samba/smb.conf");
    }
}