Leopard: Root Bash

galdo

Auralia
Registriert
02.06.06
Beiträge
201
Hallo,

ich habe ein kleines Problem mit dem Leoparden :(
Also normaler User ist ja standardmäßig die Bash als Shell eingestellt, was auch wunderbar ist, aber wenn ich mich mit su als root anmelden möchte, dann erhalte ich als Shell TCSH...

in meiner /etc/passwd steht im Root-Eintrag /bin/bash als Shell, aber irgendwie scheint der das zu ignorieren. Selbst ein
SHELL=/bin/bash
export SHELL
in der .profile-Datei und der globalen /etc/profile bringt leider nichts :(

Hat jemand eine Idee, wie ich dennoch die Bash auch für den Root-User aktivieren kann?

Vielen Dank
Galdo
 

Mitglied 17022

Gast
bei mir geht "su" gar nicht erst... geht was du suchst vielleicht mit "sudo -s" ???
so habe ich es unter tiger immer gemacht und unter leopard schaut es nur bissl anders aus aber es erscheint "bash 3-2" oder so
 

galdo

Auralia
Registriert
02.06.06
Beiträge
201
Habs gelöst:

chsh -s /path/to/your/shell username

ändert die Shell für bestimmte benutzer - also bei mir:

chsh -s /bin/bash root

Um den User root anzulegen, musst du erst mit sudo passwd root erst ein Passwort festlegen...
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Erstens hast Du als normaler User definitiv absolut keinen Grund unter Mac OS X als rot zu arbeiten! Das nur mal so am Rande erwähnt.

Frage dazu: Wurde Dein System von 10.2 > 10.3 > 10.4 > 10.5 upgedatet?

Die /etc/passwd wird ausschließlich im Single User mode berücksichtigt und ist somit für Dich erstens uninteressant und zweitens tabu, es sei denn Du weist genau warum Du Dein System potentiell verschrotten willst.

Der root User muß nicht angelegt werden, er exisitert sowieso und immer schon. Es hat auch einen Grund warum er nicht aktiviert ist. chsh ist zwar der korrekte Weg um die Login Shell eines Users zu ändern, es ist jedoch definitiv gefährlich dies bei root zu tun, da viele Systemkomponenten nicht shellagnostisch sind!


Und weils mich interessiert: Warum glaubst Du unbedingt als root etwas (was?) tun zu müssen und warum bist Du der Meinung, daß dafür sudo nicht ausreichend ist?

Man kann es garnicht oft genug wiederholen: Es ist unter Mac OS X definitiv nicht notwendig und auch nicht ratsam den root User zu aktivieren!
Gruß Pepi
 

galdo

Auralia
Registriert
02.06.06
Beiträge
201
Das mit dem Single-Mode ist mir neu - danke für die Infos.
Aber um den Rest brauchst du dir keinen Gedanken machen, lass das mal getrost meine Sorge sein - übrigens bei Tiger war für den Root ja auch die Bash aktiv und nicht die Shell...

Außerdem mach ich Backups und darf mit meinem System machen was ich will - ich bin ja schließlich root :p

Ne Spaß beiseite - ich mag sudo nicht! Und dass mit "anlegen" war natürlich nicht so gemeint wies da steht - mir scheint nur, als wüßte "fuzz" nicht so wirklich über den UNIX-Unterbau bescheid und da war das eben am anschaulichsten...

Du brauchst dir um mich keine Gedanken machen - ich weiß schon was ich tue :)

Galdo
 

TaTonka

Neuer Berner Rosenapfel
Registriert
19.03.06
Beiträge
1.975
naja, wenn wir schon dabei sind...
ich konnte mit tiger wunderbar mit "sudo su" in ne rootshell wechseln. das geht jetzt auch noch, allerdings hab ich da wie gesagt, tcsh und nicht die bash.
kann ich das wie oben erwähnt genau so einstellen, ohne meinen rootaccount zu aktivieren?
 

Hobbes_

Gast
Ich gebe zu: Ich bin selbst begeisterter sudoer. Mir gefällt einfach die Idee dahinter. Doch bin ich ja auch nur ein Einsteiger...
 

WDZaphod

Prinzenapfel
Registriert
10.11.06
Beiträge
546
Viele Unixe verwenden eine "Rudimenär-Shell", da diese hard gelinkt ist, und daher so gut wie immer funktioniert. Die Bash kann man zerlegen, was dann etwas blöd ist - wenn root die als Loginshell verwendet.
Unter Solaris und AIX kommt auch erst mal die C-Shell, welche gelinde gesagt grausam ist. Daher rufe ich da zuerst immer /bin/bash auf...
Ich denke, daß OSX einfach diese Eigenschaft übernommen hat, um unbenutzbare Systeme zu vermeiden.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Ich gebe zu: Ich bin selbst begeisterter sudoer. Mir gefällt einfach die Idee dahinter. Doch bin ich ja auch nur ein Einsteiger...
Für Einsteiger gibts da ein hervorragendes Terminal Tutorial! :p


Unter Leopard ist die Standard Shell für Root /bin/sh welche genaugenommen eine bash im sh Mode ist.

Die einzigen Möglichkeiten wie root zu einer tcsh als default shell gekommen ist sind manuelle Änderung derselben, oder das System wurde von maximal 10.2 Jaguar immer nur aktualisiert und niemals clean installiert. Dann bleiben solche Altlasten erhalten. Mir persönlch wäre das Risiko allerdings zu groß um bei so einem System die root Shell zu ändern, da ich das für betriebsgefährlich halte.
Gruß Pepi
 
  • Like
Reaktionen: 1 Person

Katagia

Zuccalmaglios Renette
Registriert
18.02.07
Beiträge
260
Also wenn ich eine Root-Shell aufmache, öffne ich zu erst eine normale
Terminalsitzung und wechsele auf einen Adminbenutzer.

Mit dem mache ich dann ein "sudo bash" und habe meine root-Shelle.
Das sollte so auch mit jeder anderen Shell gehn.