Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Wer setzt $PATH auf Red Hat?

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Tronar



Anmeldungsdatum: 20.07.2009
Beiträge: 11

BeitragVerfasst am: 28. Aug 2009 9:28   Titel: Wer setzt $PATH auf Red Hat?

Hallo,

eigentlich sollte es eine Trivialität sein:
Ich wollte in /etc/profile eine angepaßte $PATH definieren für alle Benutzer des Systems.
Denkste! Irgendwo wird sie wieder überschrieben. Aber wo? Ich habe schon überall in bashrc, im profile.d-Verzeichnis usw. gesucht, finde aber nichts.
Mein Desktop ist ein einfacher FVWM, der über den gdm gestartet wird. FVWM ist definitiv harmlos, aber der gdm?
Mein Linux ist ein "Scientific Linux 5.3", das ist in etwa dasselbe wie Red Hat Enterprise.

Weiß jemand einen Rat?
Werner

PS: Das ist es, was ich inzwischen an Linux nicht mehr mag: Daß sich alle Distributionen immer mehr zukonfigurieren und nicht mehr zu durchblicken sind.
 
Benutzer-Profile anzeigen Private Nachricht senden

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 28. Aug 2009 12:42   Titel:

/etc/profile wird nur von Login-Shells ausgeführt. Das sind üblicherweise nur die Shells, die von agetty gestartet werden, also die Textkonsolen. Die von dir gewünschte Ergänzung musst du in /etc/X11/xinit/... oder /etc/bash.bashrc einbauen.

Das hat auch nichts damit zu tun, dass sich 'alle Distributionen immer mehr zukonfigurieren'. Das war schon zu seligen Unix-Zeiten so.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

Tronar



Anmeldungsdatum: 20.07.2009
Beiträge: 11

BeitragVerfasst am: 31. Aug 2009 7:54   Titel:

Janka hat folgendes geschrieben::
/etc/profile wird nur von Login-Shells ausgeführt. Das sind üblicherweise nur die Shells, die von agetty gestartet werden, also die Textkonsolen.

Hallo, Janka!

Du klingst ein wenig so, als ob Login-Shells nur seltene Spezialfälle wären. Aber natürlich sollte am Anfang jedes Login-Vorgangs eine Login-Shell stehen (oder anderweitig ein "Sourcen" dieser Startup-Dateien), auch beim Login über einen Display-Manager oder über ssh. Das entspricht ja auch den Tatsachen, schließlich werden alle anderen Umgebungsvariablen, die ich in der /etc/profile definiere, ja auch gesetzt. Nur meine $PATH wird eben überschrieben. Ich betrachte das durchaus als einen Bug im Startup-Vorgang.
Inzwischen habe ich herausgefunden, daß ein Wrapper-Skript für den Displaymanager, /etc/X11/prefdm, den Pfad überschreibt. Aber das ist nicht alles. Ich suche weiter.

Ein Verändern der X-Startup-Dateien, wie Du vorschlägst, wäre natürlich wenig sinnvoll, weil ich mich ja bisweilen auch anderweitig einlogge, z. B. über ssh. In der /etc/bash.bashrc sollten Umgebungsvariablen eher nicht gesetzt werden, weil man ja i. a. auch mal Shells mit unterschiedlichem Environment haben will, etwa in der Art:
PATH=/home/ich/speziell Superskript.ksh
Janka hat folgendes geschrieben::
Das hat auch nichts damit zu tun, dass sich 'alle Distributionen immer mehr zukonfigurieren'. Das war schon zu seligen Unix-Zeiten so.

Oh doch, dabei bleibe ich: Das einstmals durchdachte Unix-Konzept wird immer undurchschaubarer. Ich habe schon Distributionen erlebt, bei denen aus der /etc/bash.bashrc bedingungslos die /etc/profile aufgerufen wird und dergleichen. Für xinit gilt leider Ähnliches.

Naja, ich werde mir irgendeine Krücke ausdenken müssen.
Danke jedenfalls für die Antwort!

Werner
_________________
Jabber-ID (remove "nix"): "W.Schenixinast@web.de"
 
Benutzer-Profile anzeigen Private Nachricht senden

hastifranki



Anmeldungsdatum: 06.05.2006
Beiträge: 252

BeitragVerfasst am: 31. Aug 2009 16:27   Titel:

Hallo Werner,

die Unterscheidung in login und non-login shell ist schon i.O.:

www.linuxfromscratch.org/blfs/view/stable/postlfs/profile.html

oder

info2html.sourceforge.net/cgi-bin/info2html-demo/info2html?(bash.info.gz)

(unter Bash Features -> Bash Startup Files)

Viele Grüße
Frank
 
Benutzer-Profile anzeigen Private Nachricht senden

Tronar



Anmeldungsdatum: 20.07.2009
Beiträge: 11

BeitragVerfasst am: 02. Sep 2009 13:09   Titel:

hastifranki hat folgendes geschrieben::
die Unterscheidung in login und non-login shell ist schon i.O.


Hallo, Frank!

Daß Janka etwas Falsches gesagt hätte, wollte ich ja nicht behaupten, sorry! Ich fand nur, daß sie an einer Stelle etwas übertrieb.

Im übrigen habe ich den Fehler gefunden:
Beim Login eines beliebigen (!) Users werden die Einstellungen in der /etc/profile überschrieben von - traraaa - dem, was in /root/.bashrc steht. Kein Scherz!

Für den Root hatte ich in seiner .bashrc eine eigene $PATH definiert, daher war ich selbst mit schuld.

Die Begründung ist einfach: Prozesse wie der gdm oder der sshd werden während des Bootens von einem Root-eigenen Bash-Skript gestartet, und bei einem Login wird das Environment eben nicht zurückgesetzt. Gerade letzteres halte ich aber für einen Bug. Erstens erbt der User beim Login ein Bash(!)-spezifisches Environment, selbst wenn er die C-Shell benutzt, und zweitens geht ihn das Root-Setup nichts an. Root könnte ja in seinen Umgebungsvariablen vertrauliche Dinge abgelegt haben.

Meine Frage an Alle: Testet das doch mal bei Eurer Distribution! Wer, außer den Red-Hat-Nutzern beobachtet das auch? Definiert eine ganz spezielle (*) PATH in der /root/.bashrc, stellt sicher, daß in der /etc/bashrc oder ~/.bashrc nichts daran geändert wird, bootet neu und loggt Euch ein! Welche $PATH seht Ihr dann? Die von Root oder die benutzereigene?

Neugierig
Werner

(*) Sie sollte aber verwendbar sein, d. h. alle wichtigen Systemverzeichnisse /bin:/sbin usw. enthalten. Sonst bootet Euer System nicht mehr.
Hängt einfach etwas dran: export PATH=$PATH:/nixlos
_________________
Jabber-ID (remove "nix"): "W.Schenixinast@web.de"
 
Benutzer-Profile anzeigen Private Nachricht senden

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 02. Sep 2009 15:20   Titel:

Das scheint Fedora-spezifisch zu sein. Ich hab hier mit SuSE11.0 weder das Symptom, noch kann ich ein wildes Gehüpfe durch die rcfiles lokalisieren. Allerdings ist die /etc/profile auch bei SuSE relativ kompliziert, um z.B. auch bei ssh-Logins alle rcfiles zu erwischen.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy