• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Leopard - /etc/bashrc wird für Rootuser nicht gesourced

tfc

Ontario
Registriert
21.07.07
Beiträge
348
Hallo Leute

Normalerweise wird ja die /etc/bashrc vom User, der gerade eine Bash-Instanz geöffnet hat, gesourced. Da habe ich meine eigenen Aliase und so weiter drin, die ich systemweit für jeden User griffbereit haben will.

Das funktionierte jetzt seit Jahren auf meinen Linuxsystemen perfekt und unter Tiger ebenfalls.
Aber unter Leopard habe ich folgendes Problem: Ich werde per "sudo su" Root und da sind die Aliase nicht verfügbar...

Was ist falsch?
 

delycs

Weigelts Zinszahler (Rotfranch)
Registriert
13.09.06
Beiträge
245
liegt vielleicht am sudo.
probiers doch mal mit "ssh -XA root@localhost" oder "su -"

Meines Wissens wird für SU nicht die bashrc vom User genommen der "sudo" genutzt hat sondern eine neue Instanz mit der bashrc des SU geöffnet. Wahrscheinlich hat der aber keine, bzw. nur die globale.
 

tfc

Ontario
Registriert
21.07.07
Beiträge
348
Ich benutze "sudo su" weil es für diese Maschine kein Rootpasswort gibt. Daran soll sich auch nichts ändern.

Per SSH auf die eigene Maschine einloggen oder "su -" klappt daher nicht.

Nachtrag:
Ich habe jetzt einen Alias von Wegen
Code:
alias su='sudo su -l'
eingerichtet, mit dem es prima klappt. Das "-l" sorgt dafür, dass ein kompletter Login simuliert wird, wodurch dann auch die Datei /etc/bashrc gesourced wird.
sh hat noch gemeckert, weil es die Datei /etc/bash/bashrc nicht gäbe, aber ein symbolischer Link hat dann auch diesen Mecker gestoppt.

Unter Tiger funktionierte es ohne. Komisch. Es erscheint mir nicht transparent, wieso es so ist, wie es ist.
 
Zuletzt bearbeitet:

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
In der /etc/bashrc hast Du als User eigentlich nichts verloren. Apple wird sie bei einem Systemupdate recht wahrscheinlich auch einfach so überschreiben. Für User gibts immer noch ~/.bash_profile bzw. ~/.bashrc
Wer die /etc/bashrc verändert riskiert, daß sein System nicht mehr startfähig ist.

Und nur um es nochmal zu wiederholen. Es gibt unter Mac OS X keinen einzigen Grund den root User zu verwenden. Dazu gibt es sudo!
Gruß Pepi
 

tfc

Ontario
Registriert
21.07.07
Beiträge
348
Als User habe ich sehr viel in der /etc/bashrc verloren. Wenn ich Aliase oder bestimmte Initialisierungen für ALLE User einrichten will, dann ist genau diese Datei dafür da. Oder soll ich für jeden User den ich einrichte, noch eine ~/.bashrc einrichten, welche ich dann noch für jeden behinderten einzelnen User einzeln nacheditieren soll, wenn sich etwas ändert? Völliger Blödsinn.
Und in den Jahren, in denen ich UNICES verwendet habe, wurde sie noch nie überschrieben. Wieso auch? Stecken schließlich meine Einstellungen drin, die nicht überschrieben werden sollen.

Ich verwende sudo. Aber wenn ich für die nächsten hundert Befehle Rootrechte brauche, dann werde ich eben mal temporär mit "sudo su" Root. Vor allem ist es sehr nervig, bei Befehlsverkettungen und Einzeilerscripts, die ich mal eben in die Konsole tippe, ständig sudo hier und sudo dort zwischen zu klemmen.
Das Sicherheitsrisiko des Root-Users liegt mehr bei der Existenz des Passworts desjenigen als beim Einloggen mit Rootprivilegien.

Aber abgesehen davon: Das ist jetzt so eine Antwort wie "Wozu spannst Du Deinen Regenschirm auf? Es regnet nicht."