![](https://seccdn.libravatar.org/avatar/b7f81fcc0bfdf52577d364d4d25299b7.jpg?s=120&d=mm&r=g)
Hi Ich habe folgendes Problem .Wenn ich mich an der Konsole als root einloge scheinen die richtigen Pfade eingetragen zu sein,das heißt ich kann Dateien aus /usr/local/bin ausführen. Wenn ich allerdings mit su zum superuser werde funktioniert das nicht. Soweit ich weiß fehlt dann vermutliche ein entsprechender Eintrag in der profile im Homeverzeichniss des Users root,oder ? In /root gibt es allerdings überhaupt keine profile,kann ich einfach eine aus einem Userverzeichniss rüberkopieren bzw. was muss ich sonst machen,um nach su auch auch direkt aus /usr/local/bin Programme ausführen zu können ( das wird jetzt wegen instmon nochmal wichtiger für mich) . Tschau Stefan -- Als schließlich selbst Forbes Magazine das Loblied von Open Source und Hackern sang, konnte man sich fragen, ob das Ende des Kapitalismus nah sei. http://www.heise.de/tp/deutsch/inhalt/konf/3384/1.html
![](https://seccdn.libravatar.org/avatar/0fec3cd249fbf95e76c904291ec34b5a.jpg?s=120&d=mm&r=g)
On Sun, Aug 01, 1999 Stefan Schumacher wrote:
Hi
Ich habe folgendes Problem .Wenn ich mich an der Konsole als root einloge scheinen die richtigen Pfade eingetragen zu sein,das heißt ich kann Dateien aus /usr/local/bin ausführen. Wenn ich allerdings mit su zum superuser werde funktioniert das nicht. Soweit ich weiß fehlt dann mit einfachem "su" erhälst du eigentlich nur die rechte des users. wenn du "su -" benutzt, startest du eine login-shell des users, dann stimmt auch die $PATH-Variable wieder.
vermutliche ein entsprechender Eintrag in der profile im Homeverzeichniss des Users root,oder ? In /root gibt es allerdings überhaupt keine profile,kann ich einfach eine aus einem ist nicht nötig, root brauch eigentlich keine .profile. die .profile wird nur bei login-shells ausgeführt. du kannst, wenn root sowas braucht, auch die .bashrc verwenden. die wird von jeder shell (bash-shell) gelesen.
[...] cu, moritz -- ##### Moritz Schulte - <moritz@hp9001.fh-bielefeld.de> ##### ##### Registered LINUX-User #13308 ##### ##### PGP-Key available, encrypted Mail is welcome ##### ##### Home: http://hp9001.fh-bielefeld.de/~moritz/ #####
![](https://seccdn.libravatar.org/avatar/b7f81fcc0bfdf52577d364d4d25299b7.jpg?s=120&d=mm&r=g)
mit einfachem "su" erhälst du eigentlich nur die rechte des users. wenn du "su -" benutzt, startest du eine login-shell des users, dann stimmt auch die $PATH-Variable wieder.
Problem gelöst. Danke!
überhaupt keine profile,kann ich einfach eine aus einem ist nicht nötig, root brauch eigentlich keine .profile. die .profile wird nur bei login-shells ausgeführt. du kannst, wenn root sowas braucht, auch die .bashrc verwenden. die wird von jeder shell (bash-shell) gelesen.
Ich bin jetzt etwas verwirrt was die ganzen verschiedenen Shells angeht. In der .bashrc in /home/stefan steht # Bash knows 3 diferent shells: normal shell, interactive shell, login shell. # ~/.bashrc is read for interactive shells and ~/.profile is read for login # shells. We just let ~/.profile also read ~/.bashrc and put everything in # ~/.bashrc. Was ist der Unterschied zwischen den 3-Shell Typen und welche ist die ,die ich normalerweise verwende wenn ich mich an der Konsole einlogge und dort arbeite ? Soweit ich deine Erklärung verstanden habe werden in der profile Einstellungen gemacht,die nur für login-shells gelten während in der bashrc die Einstellungen für jede Bash-Shell gemacht werden,korrekt ? Unter /root gibt es bei mir auch keine .bashrc -kann ich in diesem Fall die Version aus /home/stefan dorthin kopieren und dann die Rechte ändern oder muss ich noch mehr anpassen ? Btw: Ich bin immer noch auf der Suse nach einem guten Buch für Linux,in dem solche Fragen oder z.B die vorherige Frage von mir mit der glibc beantwortet werden. Irgendein Buch ,das vielleicht erstmal theoretische Grundlagen erläutert und dann auch noch praxisnahe Einstellungshilfen gibt wäre optimal. Bis jetzt habe ich halt das Suse-Handbuch gelesen und mir auch das Linux-Anwenderhandbuch gekauft,was mir aber nicht so zugesagt hat. Kann mir da jemand etwas empfehlen (ruhig auch mehrere Bücher - ich will nicht ewig Linux-Newbie bleiben) ? Tschau Stefan
![](https://seccdn.libravatar.org/avatar/f69149ad47a1861ed2b7d6f5ecee6d16.jpg?s=120&d=mm&r=g)
* Stefan Schumacher <s.schumacher@netcologne.de> schrieb am 02.Aug.1999:
mit einfachem "su" erhälst du eigentlich nur die rechte des users.
Nein, der PATH ist sehr eingeschränkt, es ist weder der vom User noch der von root. Es ist in etwa der originäre root-PATH, den root ohne irgend ein profile hat. root hat zwar normalerweise kein eigenes /root/.profile, aber auch root arbeitet wie jeder User vorher /etc/profile ab. Bei su wird das nicht gemacht.
wenn du "su -" benutzt, startest du eine login-shell des users, dann stimmt auch die $PATH-Variable wieder.
Nein. Du startest eine login-shell von root. Das heißt es wird /etc/profile abgearbeitet. Wenn vorhanden auch /root/.profile. Es ist aber nicht vorhanden, und es sollte auch nicht. Eine interessante dritte Möglichkeit von su ist übrigens su -m. Da wird mit der Umgebung des Users weitergearbeitet. Lediglich wird /sbin und /usr/sbin dem Pfad des Users (also nicht von root) vorangestellt.
überhaupt keine profile,kann ich einfach eine aus einem
ist nicht nötig, root brauch eigentlich keine .profile. die .profile wird nur bei login-shells ausgeführt. du kannst, wenn root sowas braucht, auch die .bashrc verwenden. die wird von jeder shell (bash-shell) gelesen.
ACK von der bash-shell natürlich nicht von tcsh, zsh, ash, ksh, hast_du_nicht_gesehen_sh.
Ich bin jetzt etwas verwirrt was die ganzen verschiedenen Shells angeht. In der .bashrc in /home/stefan steht
# Bash knows 3 diferent shells: normal shell, interactive shell, login shell. # ~/.bashrc is read for interactive shells and ~/.profile is read for login # shells. We just let ~/.profile also read ~/.bashrc and put everything in # ~/.bashrc.
Was ist der Unterschied zwischen den 3-Shell Typen und welche ist die ,die ich normalerweise verwende wenn ich mich an der Konsole einlogge und dort arbeite ?
Wenn Du Dich in der Konsole einloggst, so ist es die login shell. Wenn Du normal su aufrufst, einfach mit bash bzw. sh eine neue Shell aufmachst oder ein xterm eröffnest, so hast Du eine interaktive Shell vor Dir. Eine normale, also nicht interaktive Shell hast Du beim abarbeiten eines Shellskripts.
Soweit ich deine Erklärung verstanden habe werden in der profile Einstellungen gemacht,die nur für login-shells gelten während in der bashrc die Einstellungen für jede Bash-Shell gemacht werden,korrekt ?
Nicht ganz. Eine Loginshell arbeitet zuerst /etc/profile ab. Das darfst Du nicht vergessen. Dann wird ~/.profile abgearbeitet. Eine interaktive Shell, die keine Loginshell ist, arbeitet nur ~./bashrc ab. Eine nicht interaktive Shell, also ein Shellskript arbeitet vorher normalerweise gar nichts ab. Willst Du mehr darüber wissen, so ruf doch mal man bash auf, und suche nach profile. Da findest Du zuerst eine Option --noprofile, aber schon beim zweiten mal suchen bist Du da wo Du willst. Damit die verschiedenen Shelltypen sich nicht unterschiedlich verhalten, hat die SuSE zu einem Trick gegriffen: Im ~/.profile steht weiter nichts als ein Aufruf der ~/.bashrc. Somit wird die ~/.bashrc auch für die Loginshell aufgerufen, was sonst nicht der Fall wäre. Lediglich der Sprüchklopfer fortune gibt es ausschließlich im ~/.profile. Damit auch für die interaktive Shell, die keine Loginshell ist /etc/profile abgearbeitet wird, wird es in der ~/.bashrc aufgerufen. Aber nur, wenn eine Variable, die extra dafür im /etc/profile gesetzt wurde noch nicht gesetzt ist, da /etc/profile schon gelesen wurde, wenn es sich um eine Loginshell handelt, für die nach vorigen Abschnitt auch ~/.bashrc abgearbeitet wird. Bitte beachte, daß die letzten beiden Absätze nur für die SuSE gilt, und nur wenn /etc/profile, ~/.profile und ~/.bashrc im Wesentlichen so sind, wie sie bei der SuSE normalerweise sind. Wenn Du sie in Wesentlichen Teilen, also am Anfang, abänderst solltest Du genau wissen was Du tust. Die nicht interaktiven Shells haben auch bei der SuSE kein profile. Was sollen sie auch damit. Ein Shellskript genügt sich selbst.
Unter /root gibt es bei mir auch keine .bashrc -kann ich in diesem Fall die Version aus /home/stefan dorthin kopieren und dann die Rechte ändern oder muss ich noch mehr anpassen ?
Du mußt bedenken, daß root auch im Singelusermod hochgefahren werden kann, wenn es keine der schönen Dinste gibt. Im Zweifelsfalle sind noch nicht einmal alle Partitionen gemountet. Es wäre gerade in einem Außnahmefall nicht sehr angenehm, wenn dauernd Fehlermeldungen von der Shell kämen. Sei damit also vorsichtig.
Btw: Ich bin immer noch auf der Suse nach einem guten Buch für Linux,in ^^^^ schöner Dre^Huckfehler dem solche Fragen oder z.B die vorherige Frage von mir mit der glibc beantwortet werden. Irgendein Buch ,das vielleicht erstmal theoretische Grundlagen erläutert und dann auch noch praxisnahe Einstellungshilfen gibt wäre optimal. Bis jetzt habe ich halt das Suse-Handbuch gelesen und mir auch das Linux-Anwenderhandbuch gekauft,was mir aber nicht so zugesagt hat. Kann mir da jemand etwas empfehlen (ruhig auch mehrere Bücher - ich will nicht ewig Linux-Newbie bleiben) ?
Schau doch mal in der SuSE-Bücherliste nach. Es wird immer der Kofler empfohlen, ich aber finde den Gulbins besser. Letzteres ist aber kein Linux, sondern ein (W)UNIX-Buch. Es ist auch nicht mehr, sagen wir einmal, auf dem neusten Stand. Die letzte Ausgabe ist von 1995. Spezielle SuSE Sachen stehen somit nicht da drin. Sicher ist da auch KDE nicht erwähnt. Aber alles rund um Unix wird da bestens erklärt. Wenn wir einmal bei historischen Bücher sind, so gibt es einen Geheimtip: Der kleine Werkzeugkasten von Kernighan und Pieck. Er war allerdings schon 1985 restlos veraltert. Er kennt noch nicht einmal den vi. Der Standardeditor ist, jetzt halt Dich fest, ist cat. Trotzdem hat das Buch seinen Wert. Leider findet man diese Bücher nicht mehr in Buchhandlungen. Man kann sie zwar Bestellen, muß sie dann aber wohl auch nehmen. Vielleicht findest Du sie in Bibliotheken. Bernd PS: Da ist ja die richtige Signatur: -- Welches Buch ist zu empfehlen? Schon mal bei SuSE vorbeigesehen? http://www.suse.de/buecher/index.html oder die Empfehlungen der SuSE-Entwickler auf dem eigenen Rechner? file://usr/doc/sdb/de/html/literatur.html |Zufallssignatur 05
participants (4)
-
B.Brodesser@online-club.de
-
bock@nupis.de
-
moritz@hp9001.fh-bielefeld.de
-
s.schumacher@netcologne.de