Seite 1 von 1

Meldung "bash:Kommando nicht gefunden" fehlende Berechtigung

BeitragVerfasst: Nov 3rd, '13, 22:20
von Alf1967
Da ich den Thread von rooter nicht sprengen möchte mache ich mal hier weiter.
man-draker hat geschrieben:
Alf1967 hat geschrieben:Warum wird eigentlich nicht, wie bei anderen Distis, gesagt das man keine Berechtigung hat? Finde ich ziemlich verwirrend wenn gesagt wird, daß es den Befehl nicht gibt, obwohl man nur keine Berechtigung hat.


Weil du, wenn du den Rollenwechsel zu Root mit einem schlichten "su" vollziehst, keine vollständige Umgebung anlegst.
Es fehlen insbesondere die Zugriffspfade zu den Programmen, die nur für Root vorgesehen sind - eine Designentscheidung.

Wenn ich mit "su" zum Root werde werden die Befehle ja ausgeführt ohne Fehlermeldung. So wie du, man-draker, das schreibst dürften die Befehle nach dem Wechsel mittels "su" ja auch nicht vorhanden sein.

Was soll das für eine Sicherheit sein? Wenn ich den Befehl kenne schaue ich ob ich einen Tippfehler habe und dann fällt mir ein oder denke mir das es ein Rootbefehl ist und wechsel zu Root. Einer der von Linux keine Ahnung hat wird wohl kaum großartig mit Konsolenbefehlen hantieren. Es sei denn er erhält von jemanden eine Anleitung.

Re: Meldung "bash:Kommando nicht gefunden" fehlende Berechti

BeitragVerfasst: Nov 3rd, '13, 22:37
von alf
Wie man-draker schon richtig schrieb, wird bei der Eingabe eines Befehls geschaut ob der im (Such-)Pfad des angemeldeten Benutzers zu finden ist. Ist er das nicht, gibt es die Meldung, dass der Befehl nicht gefunden wurde/vorhanden ist. Soweit richtig und logisch. Standardmäßig sieht der Pfad eines User so aus
Code: Alles auswählen
/usr/local/bin:/usr/bin:/usr/games:/usr/lib64/qt4/bin:/home/alfred/bin
. Wenn nun ein Befehl z.B in /usr/sbin ist gibt es also die von dir monierte Fehlermeldung. Gibst du den Befehl mit vollständigem Pfad an, wird dir mitgeteilt, dass zur Ausführung root-Rechte erforderlich sind, und ggf auch das root-PW abgefragt.
Code: Alles auswählen
[alfred@kre010 ~]$ /usr/sbin/urpmi cups
Nur der Systemadministrator darf Pakete installieren

Re: Meldung "bash:Kommando nicht gefunden" fehlende Berechti

BeitragVerfasst: Nov 4th, '13, 06:52
von man-draker
Alf1967 hat geschrieben:Weil du, wenn du den Rollenwechsel zu Root mit einem schlichten "su" vollziehst, keine vollständige Umgebung anlegst.
Es fehlen insbesondere die Zugriffspfade zu den Programmen, die nur für Root vorgesehen sind

Wenn ich mit "su" zum Root werde werden die Befehle ja ausgeführt ohne Fehlermeldung. So wie du, man-draker, das schreibst dürften die Befehle nach dem Wechsel mittels "su" ja auch nicht vorhanden sein.[/quote]
Sind sie auch nicht, probiere es ruhig aus.
Erst, wenn du
Code: Alles auswählen
su -

benutzt (achte auf den Bindestrich), wird eine Login-Shell mit vollständiger Umgebung inklusive ergänzter Pfade erzeugt.
Was soll das für eine Sicherheit sein? Wenn ich den Befehl kenne schaue ich ob ich einen Tippfehler habe und dann fällt mir ein oder denke mir das es ein Rootbefehl ist und wechsel zu Root.

Was die Sinnhaftigkeit dieser Einrichtung angeht, mache ich keine Aussage.

Einer der von Linux keine Ahnung hat wird wohl kaum großartig mit Konsolenbefehlen hantieren. Es sei denn er erhält von jemanden eine Anleitung.
Und das ist auch gut so!

Re: Meldung "bash:Kommando nicht gefunden" fehlende Berechti

BeitragVerfasst: Nov 4th, '13, 14:51
von Alf1967
man-draker hat geschrieben:Sind sie auch nicht, probiere es ruhig aus.
Erst, wenn du
Code: Alles auswählen
su -

benutzt (achte auf den Bindestrich), wird eine Login-Shell mit vollständiger Umgebung inklusive ergänzter Pfade erzeugt.

Doch, ein einfaches "su" (ohne "-") reicht damit er den Befehlt kennt.
Code: Alles auswählen
[tom@localhost ~]$ urpmi --auto-update
bash: urpmi: Kommando nicht gefunden.
[tom@localhost ~]$ su
Passwort:
[root@localhost tom]# urpmi --auto-update
Medium »Core Release (distrib1)« ist auf dem aktuellen Stand
Medium »Core Updates (distrib3)« ist auf dem aktuellen Stand
Medium »Core Backports (distrib7)« ist auf dem aktuellen Stand
...

Re: Meldung "bash:Kommando nicht gefunden" fehlende Berechti

BeitragVerfasst: Nov 4th, '13, 21:13
von man-draker
Alf1967 hat geschrieben:Doch, ein einfaches "su" (ohne "-") reicht damit er den Befehlt kennt.

Es scheint, als ob mein Wissen das etwas veraltet ist.
Da ich schon seit Jahren nicht mehr versuche, so ein Tool zu nutzen, ohne vorher ein schnelles "su -" auszuführen, ist mir das nicht aufgefallen.

Re: Meldung "bash:Kommando nicht gefunden" fehlende Berechti

BeitragVerfasst: Nov 4th, '13, 22:08
von alf
Beim su im Gegensatz zu su - wird keine vollständige Umgebung für root erzeugt, der loginuser ist z.B. immer noch der zu root wechselde User. Auch wird nicht in das root-Homeverzeichnis gewechselt, aber der Suchpfad wird geändert. Und das ist das Ausschlaggebende Moment dass auch beim einfachen su die Befehle gefunden werden.