PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Konsolenbefehle? Wo definiert?



Sormel
26.02.03, 13:47
Hi,

ich hab mal ne Frage, zu der ich im Forum keine Antwort finde (Weil ich nicht weis, wie ich danach suchen soll.

Also, wenn man Programme installiert, dann kann man die ja immer irgendwie mit einem Konsolenbefehl aufrufen. Nun habe ich aber ein Problem. Irgendwie habe ich als normaler User nur beschränkt Konsolenbefehle. Manche fehlen einfach. Warum eigentlich?
Weiterhin gehe ich davon aus, dass die Installation in irgend eine Datei schreibt, welcher Befehl welches Programm ausführt. Kann mir jemand sagen, wo man die findet?

Sormel

zippelmann
26.02.03, 13:54
Warum fehlen die Befehle ?
ANTWORT: Linux is ein MultiUserOS, d.h. mehere User sollen daran arbeiten. Wenn nun jeder volle Rechte hätte, könnte jeder Proggys installieren und dadurch vielleicht konflickte erstellen, die das System zerlegen. Deshalb benutzt man zum installieren den root.

Wo sind die Proggys hin ? (Die Frage kommt bestimmt nicht zum ersten Mal)
ANTWORT: Sie liegen in /usr/bin. Dadurch sind die proggys global, d.h. man kann sie von überall aufrufen.

lorenzc
26.02.03, 13:55
Was für eine Distri ist installiert?
Bei RH 8.0 gibt es: /usr/bin/redhat-logviewer

Das ist ein Tool für System-Protokolle. Hier kannst du dir in der Kategorie
RPM-Pakete ein. alle installierten Programme anzeigen lassen.

Gruß
Lo.

steve-bracket
26.02.03, 13:55
Na im Verzeichniss in dem die ausführbare Datei des Programms liegt.
Und deine "fehlenden" Kommandozeilenbefehle sind nur die Auswirkung der Userrechte.
Welche Befehle funktionierten den nicht als normaler User.


fG Steve

Sormel
26.02.03, 14:31
Vielen Dank! Ich habe mir auch schon gedacht, dass es an den rechten liegt, nur habe ich mir das so vorgestellt, dass es da irgendwo eine Datei gibt, in der sozusagen der konsolenbefehl und der pfad zum proggy gespeichert ist. Und wenn man die Rechte nich hat, dann wird das eben in die Datei eingetragen, und die Konsole erkennt glei den Befehl net. Manchmal mach ich`s mir wirklich schwer! Danke!

Sormel

Sormel
26.02.03, 15:36
Huch, komme doch net klar!

Ich kann als normaler User z.B. nicht "kwrite" oder "kate" eingeben. Beides sind doch normale Editoren, und ich müsste ja executable rights haben, oder?

Sormel

Elektronator
26.02.03, 15:52
kleines Anfänger-know-how:

1. Es gibt keine Datei, die ein Befehlsverzeichnis enthält, die Befehle heißen einfach so, wie sie aufgerufen werden.

2. Befehle für den Superuser liegen üblicherweise in /sbin oder /usr/sbin, Befehle für normale Benutzer eben in /bin oder /usr/bin oder /usr/local/bin usw.

3. Wenn du einen Befehl suchst, verwende "which xyz", dann wird der Path durchsucht (für den aktuellen Benutzer), global verwende "locate xyz". Wenn du wissen willst, was ein bestimmter Befehl macht, verwende "whatis xyz".

4. Wenn du kwrite mit locate gefunden hast, lass dir mit "ls -l kwrite" die Dateieigenschaften anzeigen. Da das ein grafischer Editor ist, muss aber z.B. X laufen.

DustPuppy
26.02.03, 15:53
echo $PATH

Sormel
26.02.03, 16:40
Gut, hab mit dem neuen Wissen mal ein bissel herumgespielt.

Der Befehl krwrite liegt in /opt/kde3/bin/kwrite. Also mal echo $PATH eingegeben. Root hat viele Verzeichnisse, wo die Konsole nach Befehlen suchen kann. Wie kann man ein Verzeichnis hinzufügen?

Sormel
:confused:

DustPuppy
26.02.03, 17:26
poste mal die datei "/etc/profile"

cat /etc/profile

Sormel
26.02.03, 18:23
Ich habes sie mal als .txt angehängt.


Sormel

DustPuppy
26.02.03, 18:37
if test -z "$PROFILEREAD" ; then
PATH=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin #das hier für normale user
for dir in $HOME/bin/$CPU $HOME/bin ; do
test -d $dir && PATH=$dir:$PATH
done
test "$UID" = 0 && PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
for dir in /var/lib/dosemu \
/usr/games \
/opt/bin \
/opt/gnome2/bin \
/opt/gnome/bin \
/opt/kde3/bin \
/opt/kde2/bin \
/opt/kde/bin \
/usr/openwin/bin \
/opt/cross/bin #hier für root
do
test -d $dir && PATH=$PATH:$dir
done
unset dir
export PATH
fi

Sormel
27.02.03, 16:38
Hmm,

wäre es jetzt böse, wenn ich die Pfadangaben von root auch auf die anderen Benutzer übertrage? Könnte ja sein, dass der Benutzer dann irgedwelche Sachen darf, die er überhaupt nicht soll. Aber eigentlich müssten ja die Befehle extra noch gesperrt sein, für alle, die nicht root sind, oder?



Ach ja, für das Terminal gibts doch "su" als Befehl, um sich kurz mal root-Rechte zu verschaffen. Gibt es sowas ähnliches, mit dem ich der ganzen grafischen Oberfläche (inklusive aller Programme, die laufen) mitteile, dass ich grad mal "SU" bin. Das wäre nämlich extrem praktisch, wenn man mal kurzzeitig auch mit graf. Editoren auf Pfade zugreifen kann, obwohl man es normalerweise nicht darf. (Man muss sich dann nicht immer Abmelden).

Sormel

gfc
27.02.03, 16:45
Original geschrieben von Sormel

Ach ja, für das Terminal gibts doch "su" als Befehl, um sich kurz mal root-Rechte zu verschaffen. Gibt es sowas ähnliches, mit dem ich der ganzen grafischen Oberfläche (inklusive aller Programme, die laufen) mitteile, dass ich grad mal "SU" bin.

unter KDE:

kdesu

try it: kdesu konqueror

DustPuppy
27.02.03, 16:46
für grafisches gibt es

kdesud 'befehl'

ja du kannst mit den befehlen die für root sind als user nichts anrichten. z.B. kannst du mittels "ifconfig"
dir zwar alle ifaces anzeigen lassen aber nicht die ip, netmask, etc. ändern.

Sormel
27.02.03, 16:54
Naja, dann werde ich mal an meiner .profile rumstricken! Aber warum ist das überhaupt so, dass man die kde-befehle (z.B.) den normalen Usern nicht gewährt. Traut man denen das nicht zu, dass sie z.B. Konqueror in der Konsole starten?

Sormel

gfc
27.02.03, 16:56
Original geschrieben von Sormel
Naja, dann werde ich mal an meiner .profile rumstricken! Aber warum ist das überhaupt so, dass man die kde-befehle (z.B.) den normalen Usern nicht gewährt. Traut man denen das nicht zu, dass sie z.B. Konqueror in der Konsole starten?

Sormel

ich weiss ja ned, welche Distro du hast, aber bei Suse und Gentoo kann der User also den konqueror starten, wie es ihm passt...

Sormel
28.02.03, 08:15
Ähh... Im Grunde...

habe ich ja Suse 8.1, aber bei mir kanns der User net, wenn ich`s net freigebe. Villeicht liegt es daran, dass ich KDE noch net als normaler User gestartet habe.

Sormel