Normale Root-Befehle als normaler User unter X selbst mit su nicht möglich?

cabriofahrer

Well-Known Member
Ich nutze seit Jahren FreeBSD, ich wollte aber NetBSD einfach mal in einer virtuellen Maschine ausprobieren. Die Installation ist recht einfach, das System bootet automatisch in xdm, ich kann mich dann mit dem User, den ich angelegt habe, auch in einen spartanischen Windowmanager einloggen. Allerdings funktionieren in dieser X-Umgebung normale Befehle wie "ifconfig", "shutdown -p now" oder "pkgin install <Programmname> nicht, selbst, wenn ich vorher "su" eingebe und den Root-Promt (#) bekomme. Es ist, als würden diese Befehle gar nicht existieren. Wechsele ich hingegen mit Alt+F1 in eine Konsole, klappt das alles. Ist das unter NetBSD normal? Und wie kriege ich das dann hin, dass ich als normaler User unter X derartige Befehle verwenden kann? Also dass noch nichtmal "ifconfig" (auch ohne su) geht, finde ich schon sehr seltsam...
 
Ich habe zwar keine Erfahrungen mit NetBSD, aber... Hast du es mal anstelle von "su" mit
Code:
su -
versucht? Denn damit würde ein Befehl nicht nur als root ausgeführt, sondern würde auch mit den Einstellungen von root für die PATH-Variable ausgeführt und wenn dies nicht geschieht, dann werden viele Programme, die nur vom Systemverwalter gestartet werden können schlichtweg nicht gefunden, es sei denn, du gibst den absoluten Pfad an. Ist allerdings nur so ein Gedanke von mir...
 
Ich würde vermuten das hier irgendwo $path nicht richtig gesetzt ist weshalb er keine befehle kennt, wie ist denn die ausgabe von "set"?

Alternativ: Was passiert wenn du den kompletten Pfad zum binary angibst?

(Unter OpenBSD wärs /sbin/ifconfig - ich weiß nicht genau wo NetBSD das ablegt.)
 
wie ist denn die ausgabe von "set"?
1681331513119.png



Aha, ifconfig befindet sich unter /sbin und kann mit /sbin/ifconfig aufgreufen werden:
1681332049445.png


Warum ist das so?
 
/sbin ist nicht in deinem $PATH

Bei mir unter OpenBSD sieht $PATH als User so aus:

Code:
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin

Vermutlich musst Du dein $PATH noch entsprechend anpassen.
 
Zuletzt bearbeitet:
Vermutlich musst Du dein $PATH noch entsprechend anpassen.
Ich habe jetzt das Problem entdeckt: xdm ist dran schuld! Wenn man sich über xdm in den User einloggt, funktionieren / existieren diese Befehle nicht, die Ausgabe von "set" und das Fehlen in $PATH haben wir ja gesehen.
Wenn ich aber das Login des Users in der Konsole mache, OHNE dass xdm läuft und dann ein "startx" mache, funktionieren die Befehle, also z.B. "ifconfig" oder es kommt enstsprechend und erwartungsgemäß ein "Permission denied".
Was soll das denn? xdm ist schließlich eine Funktion, die man in "sysinst" einfach aktivieren kann, damit es automatisch beim Booten funktioniert.
 
Habe in der Zwischenzeit noch das hier gefunden, ich verstehe allerdings die Erklärung nicht ganz, die sich aus den verschiedenen Antworten ergibt, dass xdm die .profile nicht "sourced" und warum xdm das auch tun sollte.
Vielleicht interessiert diese Frage irgendjemanden hier, der es etwas besser erklären könnte?


Im Übrigen habe ich einfach mal slim mit fluxbox ausprobiert und so funktioniert es.
 
Zurück
Oben