Seite 2 von 2

Re: MAC-Adresse

Verfasst: 14.04.2011 17:37
von Shardik
NicTheQuick hat geschrieben:Root-Rechte?

Also bei mir klappt's auch ohne Root-Rechte als normaler Benutzer.
Ich habe es unter andLinux/Kubuntu 9.04 und SuSE Linux Enterprise
Server 10 SP3 getestet und es geht definitiv nur, wenn ich PureBasic
als root gestartet habe. Bist Du Dir sicher, daß Du nicht nachträglich
schon Rechte geändert hast?

Re: MAC-Adresse

Verfasst: 14.04.2011 17:41
von NicTheQuick
Ich hab's vorhin in der Konsole getestet, aber mit PB klappt es auch wunderbar. Ich wüsste nicht, wann ich da mal irgendwelche Rechte geändert haben soll. Ich hab lediglich eine andere IP. :wink:

Re: MAC-Adresse

Verfasst: 14.04.2011 19:23
von DarkDragon
@Shardik: das ist überall einstellbar wie man will ;-) . Die Rechte kann man nach belieben einschränken und das für fast alles.

Re: MAC-Adresse

Verfasst: 14.04.2011 19:50
von Shardik
DarkDragon hat geschrieben:@Shardik: das ist überall einstellbar wie man will ;-) . Die Rechte kann man nach belieben einschränken und das für fast alles.
Das ist mir schon klar. Meine beiden getesteten Linux-Systeme sind
sozusagen "out of the box", d.h. ich habe keine Rechtevergaben nach
der Installation verändert. Deshalb hatte ich ja auch NicTheQuick gefragt,
ob er vielleicht irgendwelche Änderungen an seinem Ubuntu 10.04
vorgenommen hat.

Ich habe das Problem aber gefunden. "arp" ist immer (auch auf MacOS X,
einem Derivat von BSD-Unix) in /usr/sbin gespeichert. Auf meinen Linux-
Systemen wird "arp" aber bei der Eingabe in der Konsole ohne root-Rechte
und ohne eine Pfadangabe nicht gefunden. Es lag daher nur indirekt an den
root-Rechten (hier wurde "arp" nämlich gefunden). Wenn ich also den Pfad
angebe, werden tatsächlich keine root-Rechte benötigt. Standardmäßig hat
"arp" für "other" nämlich die Lese- und Ausführungs-Rechte gesetzt.

Das folgende Beispiel habe ich unter Windows XP SP2 + SP3, Windows 7 x64,
Linux und MacOS X 10.6.7 getestet und es benötigt auf keiner Plattform
Administrator-Rechte:

Code: Alles auswählen

#IPAddress = "192.168.1.1"

CompilerSelect #PB_Compiler_OS
  CompilerCase #PB_OS_Windows
    Command$ = "arp"
    Parameter$ = "-a " + #IPAddress
  CompilerDefault
    Command$ = "/usr/sbin/arp"
    Parameter$ = #IPAddress
CompilerEndSelect

ProgramID = RunProgram(Command$, Parameter$, "", #PB_Program_Open | #PB_Program_Read)

If ProgramID
  While ProgramRunning(ProgramID)
    If AvailableProgramOutput(ProgramID)
      Output$ + ReadProgramString(ProgramID) + #CR$
    EndIf
  Wend
 
  CloseProgram(ProgramID)

  MessageRequester("Output", Output$)
EndIf