1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

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

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von tfc, 17.11.07.

  1. tfc

    tfc Ontario

    Dabei seit:
    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?
     
  2. delycs

    delycs Weigelts Zinszahler (Rotfranch)

    Dabei seit:
    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.
     
  3. tfc

    tfc Ontario

    Dabei seit:
    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.
     
    #3 tfc, 18.11.07
    Zuletzt bearbeitet: 18.11.07
  4. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     
  5. tfc

    tfc Ontario

    Dabei seit:
    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."
     

Diese Seite empfehlen