Feststellen, ob man "root" ist?

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
pickelrobert
Beiträge: 207
Registriert: 09.12.2004 22:09

Feststellen, ob man "root" ist?

Beitrag von pickelrobert »

Wie stelle ich programmtechnisch fest, ob ich "root" bin? Ich dachte da z.B. an:

Code: Alles auswählen

werbinch.s=whoami_()
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Feststellen, ob man "root" ist?

Beitrag von TomS »

Wie wär's wenn du versuchst eine Datei zu öffnen ( ReadFile() oder LoadFile() ), auf die man nur als root zugreifen kann?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Feststellen, ob man "root" ist?

Beitrag von ts-soft »

Code: Alles auswählen

Procedure I_Am_Root()
  Protected.s HomeDir = GetHomeDirectory()
  If StringField(HomeDir,  CountString(HomeDir, "/"), "/") = "root"
    ProcedureReturn #True
  EndIf
  ProcedureReturn #False 
EndProcedure

Debug I_Am_Root()
Geht bestimmt auch eleganter :mrgreen:

Gruß
Thomas
Marvin
Beiträge: 497
Registriert: 17.07.2005 14:42
Wohnort: Krikkit

Re: Feststellen, ob man "root" ist?

Beitrag von Marvin »

Code: Alles auswählen

If geteuid_()=0
    ;root!
Else
    ;Nicht root!
EndIf
EDIT: geteuid_() ist besser, das hilft auch, wenn das Sticky-Bit gesetzt ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Feststellen, ob man "root" ist?

Beitrag von ts-soft »

Marvin hat geschrieben:EDIT: geteuid_() ist besser, das hilft auch, wenn das Sticky-Bit gesetzt ist.
Hab auf die schnelle nichts gefunden um die $UID festzustellen, habs deshalb mal ohne API gemacht :mrgreen:
Ich denke mal, die API ist geeigneter.

Gruß
Thomas
pickelrobert
Beiträge: 207
Registriert: 09.12.2004 22:09

Re: Feststellen, ob man "root" ist?

Beitrag von pickelrobert »

Klappt, danke.
Antworten