Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Ordnerberechtigungen auslesen mit PHP übers Netzwerk

Mitglied: Praktikant2010

Praktikant2010 (Level 1) - Jetzt verbinden

25.10.2010, aktualisiert 09:33 Uhr, 5073 Aufrufe, 4 Kommentare

Hallo liebes Forum

Ich bin Praktikant bei einer Softwarefirma, wo ich die Aufgabe bekommen hab die Ordnerberechtigungen auszulesen.
Ich hab es mit einigen Programmen versucht die ich im Internet gefunden hab, aber diese waren nicht das richtige, oder Sie waren kostenpflichtig.

Nun soll ich das Problem mit PHP lösen.
Zum arbeiten wurde mir ein virtueller Windows 2008 Server und ein virtueller PC mit Windows 7 bereitgestellt.
Zur Ansicht und Testzwecken benutze ich Xampp.

Mich mit dem Server zu verbinden hab ich hin bekommen, und im Internet steht, dass ich mit >>fileperms<< die Berechtgungen auslesen kann.
Nun habe ich dieses versucht, aber er gibt mit ein Fehler in Zeile 6 aus.
das Ergebnis bei einem Fehler ist "False" oder "0".
Trotz Fehlermeldung gibt er mir die "0" in der nächsten zeile aus.

Hier mal mein bisheriger Quellcode:

<?php

$loc=new COM("WbemScripting.SWbemLocator");
$wmi=$loc->ConnectServer("w2k8r2-64-fs1","root/cimv2","Anmeldenamen","Passwort");

$rechte = fileperms("../schnelltest.*");
echo sprintf("%o",$rechte);

?>

Hier die Fehlermeldung:

Warning: fileperms() [function.fileperms]: stat failed for ../schnelltest.* in C:\Xampp\xampp\htdocs\test.php on line 6
0



Ich habe auch was von QML erfahren, dass ich mich daran halten soll, welches aber wohl eingeschränkt sei (einige Befehle funktionieren da nicht).
Da ich von QML zum ersten mal gehört hab, hab ich davon echt keine Ahnung.

Ich hoffe ihr könnt mir weiter helfen

Vielen Dank schonmal im Vorraus
Euer Praktikant2010
Mitglied: laster
25.10.2010 um 09:50 Uhr
Hallo Praktikant,

keine Ahnung wie das unter PHP geht.
Du kannst aber schon mal auf CMD-Ebene testen, ob Du die Infos bekommst (Berechtigung...). Dazu kannst Du das Programm RMTSHARE.EXE verwenden.
vG
LS
Bitte warten ..
Mitglied: laster
25.10.2010 um 09:52 Uhr
Sorry,

RMTSHARE.EXE liefert Rechte auf Freigabeebene, Du suchts auf NTFS-Ebene - also vergiss meinen Beitrag.
vG
LS
Bitte warten ..
Mitglied: Orlean
25.10.2010 um 11:11 Uhr
Hallo Praktikant2010,

Codetags sind was tolles:

01.
<code type="php"> 
02.
<code>
01.
<?php 
02.
 
03.
 $loc=new COM("WbemScripting.SWbemLocator");       
04.
 $wmi=$loc->ConnectServer("w2k8r2-64-fs1","root/cimv2","Anmeldenamen","Passwort"); 
05.
  
06.
 $rechte = fileperms("../schnelltest.*"); 
07.
 echo sprintf("%o",$rechte); 
08.
 
09.
?>

Hab zwar nicht wirklich Ahnung von PHP ;), aber wenn ich deinen Quellcode richtig verstehe, versuchst du die Dateirechte aller Dateien die mit schnelltest. beginnen in eine Variable zu schreiben? [schnelltest.*]

Wenn ich das fileperms - Manual richtig interpretiere, funktioniert fileperms nur mit einer Datei, jedoch nicht mit Wildcards. Hast du dahingehend schon mal probiert eine Datei direkt zu prüfen?

Mal davon abgesehen, das du mit fileperms nur Dateirechte erhältst, jedoch keine Ordnerrechte.

Edit:
01.
$rechte = fileperms("../schnelltest.*");
Eventuell hier auch mal versuchen einen festen Pfad zu verwenden, ich bin mir nicht sicher, ob es in Verbindung mit NTFS, eine solche Pfadangabe korrekt ist.

Edit2:
Ich bin mir gerade nicht sicher, wie genau der Zugriff auf den Server stattfindet per ConnectServer, damit fileperms funktioniert muss die entsprechende Datei über das Dateisystem des Servers zur Verfügung stehen, es darf sich hierbei nicht um einen Remotezugriff handeln, siehe verlinktes fileperms Manual.

Gruß Orlean
Bitte warten ..
Mitglied: Praktikant2010
25.10.2010 um 12:49 Uhr
danke für die schnellen Antworten
habe noch weiter im Internet nachgeguckt und bin nun auf diesen Lösungsansatz gestoßen

<?php

$loc=new COM("WbemScripting.SWbemLocator");
$wmi=$loc->ConnectServer("W2K8R2-64-FS1","root/cimv2","Anmeldenamen","Passwort");

$OSs = $wmi->ExecQuery("SELECT * FROM win32_LogicalFileSecuritySetting WHERE ComputerName 'w2k8r2-64-fs1' AND Path 'C:\\schnelltest'");


foreach ($OSs as $mp)
{
//echo " win32_LogicalFileSecuritySetting for file C:\schnelltest";
echo " Controlflags: " . $mp->controlFlags . "<br>";
echo " Description: " . $mp->Description . "<br>";
echo " Ownerpermissions: " . $mp->Ownerpermissions . "<br>";
echo " Path: " . $mp->Path . "<br>";
echo " SettingID: " . $mp-> SettingID . "<br>";
}

?>

Der Quelltext ist von einem VBScript abgekupfert und umgebastelt zu php, nur besteht nun das Problem, dass er nicht in die foreach-Schleife rein gehen will (getestet mit nem echo vor und in der Schleife)
Soweit ich nun weiss besteht das Problem darin, dass er nicht mit dem Format der ACL Tabelle klar kommt.
Wenn ich $OSs angezeigt haben will kommt folgende Meldung.

Fehlermeldung:
Catchable fatal error: Object of class variant could not be converted to string in C:\Xampp\xampp\htdocs\test.php on line 9

Ich würde mich sehr freuen, wenn mir da einer weiterhelfen kann
Praktikant2010
Bitte warten ..
Ähnliche Inhalte
TK-Netze & Geräte
Fax Signal übers Netzwerk
Frage von dermolaTK-Netze & Geräte7 Kommentare

Hallo zusammen, wir haben eine Telefon Anlage von Agfeo (ES 512) leider kann die Anlage keine Fax Geräte über ...

Grafikkarten & Monitore
Screensharing übers Netzwerk
gelöst Frage von Rizal1966Grafikkarten & Monitore2 Kommentare

Hallo zusammen, ich bin auf der Suche nach einer Lösung für folgendes Problem. An einem Standort von meinem Arbeitgeber ...

Visual Studio

VB.Net Screenshot übers Netzwerk übertragen

Frage von Aicher1998Visual Studio1 Kommentar

Hallo Ich möchte einen Screenshot übers Netzwerk übertragen und hab mir dazu einen simplen Server und Client geschrieben. Irgendwie ...

PHP

Wie in PHP ein array auslesen?

gelöst Frage von JochemPHP5 Kommentare

Moin zusammen, ich versuche, Daten aus einer Datenbank in mehrere arrays (pro DB-Feld ein array) zu schreiben und die ...

Neue Wissensbeiträge
Vmware
VMware Update für den ESXi 5.5 verfügbar
Information von sabines vor 20 StundenVmware

Nach dem ganzen Hickhack um Update mit Microcode Anpassungen und Rückzug, gibt es nun für den ESXi 5.5 ein ...

CPU, RAM, Mainboards

Meltdown und Spectre: Intel zieht Microcode-Updates für Prozessoren zurück

Information von keine-ahnung vor 1 TagCPU, RAM, Mainboards5 Kommentare

Moin, extrem lutztig. Nur gut, dass ich noch nicht beim Probanden-Bingo mitgemacht habe :-) LG, Thomas

Router & Routing
PfSense als Addon auf QNAP
Information von magicteddy vor 1 TagRouter & Routing7 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 1 TagDatenschutz1 Kommentar

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement26 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Server
TEMP-Profile
gelöst Frage von Forseti2003Windows Server21 Kommentare

Guten Morgen, wer kennt sie nicht, die lieben Temporären Benutzerprofile, vorallem immer dann, wenn man sie am wenigsten braucht. ...

Multimedia & Zubehör
Welches Tablet für die Verkäufer?
Frage von Hendrik2586Multimedia & Zubehör16 Kommentare

Guten Morgen meine Lieben, vielleicht könnt ihr mir ja helfen. Es geht um unsere Außendienstmitarbeiter /Verkäufer. Sie sollen demnächst ...

Ubuntu
Ubuntu - Routing mit 2 Netzwerkkarten?
Frage von gabrixlUbuntu13 Kommentare

Hei Folgende Situation: Ich habe zwei virtuelle Maschinen: 1 - Server für DHCP, DNS und Routing - Netzwerkkarte 1: ...