/bin/sh vs. /sbin/sh

aphorism

aphorism

Jungspund
hallo zusammen,

also eigentlich hab ich mir die frage schonöfter gestellt, hab mich aber nie um ne antwort gekümmert.
gerade eben bin ich wegen einem ftp-problem mal wieder darüber gestolpert.

also:
OS: HPUX 11.23

ftp auf ein entferntes system war mit der meldung "access denied" nicht möglich.
ein blick in /var/adm/syslog/syslog.log informierte über eine "bad shell"

in /etc/passwd war als shell die /bin/sh eingetragen.

nachdem ich das in /sbin/sh geändert habe funktioniert's jetzt .... was nicht heisst, dass ich weniger verwirrt wäre.

ist sh != sh ??? :think:

was zur hölle ist denn der unterschied.....nicht im detail sondern grob angerissen....

vielen dank schonmal für eure beteiligung....!
 
Die Shell /sbin/sh eine statisch verlinkte Shell, die von keinen andren Dateien abhaengig ist.
Im Gegensatz dazu ist /bin/sh eine dynamisch verlinkte Shell und haengt deshalb von anderen Dateien ab. Um die /bin/sh zu nutzen muessen daher die Abhaenigkeiten erfuellt sein.
 
Danke hades. Ist das HP-UX spezifisch? Mir ist als wären die verschiedenen Vorkommen jeweils ein dynamischer Link z.B. auf /bin/bash bei Debian. Auf MacOS X 10.4 (BSD?) gibts auch kein /sbin/sh.
 
Zuletzt bearbeitet:
... und die dynamischen Libs befinden sich in der Regel unter /usr, was nicht unbedingt immer gemounted ist ;o)

Greetz, Doc
 
merci @hades!

und jetzt nur noch für mein verständnis:

wofür brauch ich dann überhaupt eine dynamisch verlinkte /bin/sh, wenn die /sbin/sh ...naja...sagen wir mal..."funktionisfähiger" ist?

da kann ich doch immer gleich ins /sbin greifen und sie mir dort holen.

oder gibt's da sicherheits-relevante unterschiede?
 
@aphorism

... weil man die Libraries bei 1000 geöffneten Shells eben nur einmal im Speicher hat. [(dafür sind dynamische Libraries übrigens gedacht ;o)]

Greetz, Doc
 
Deshalb unbedingt aufpassen: Nie die ROOT-Shell einfach anders definieren!! Wenn du mal dein System abgeschossen hast und irgendwelche Shell-libraries kaputt sind hast du nur noch die ROOT-Shell! Wenn die dann nicht statisch ist, dann hast du verloren weil du keine funktionierende Shell mehr hast...
Lieber einen zusaetzlichen Superuser definieren, dem kannst du dann eine beliebige Shell zuweisen und hast fuer Notfaelle immer noch die statische ROOT-Shell!
 
hi männers!

vielen dank erstmal für eure beiträge!

einen hätt ich dann aber doch noch... (warscheinlich eine dumme frage aber hey, "wer nicht fragt bleibt dumm!) :oldman

also.... ich habe hier shells in
/bin
/sbin
/usr/bin


wie kann ich denn feststellen, ob eine shell nun statisch oder dynamisch ist?
(abgesehen vom eher unsportlichen grössenvergleich der files...)

schlagt nicht gleich auf mich ein, ich weiss es halt nicht ;)
 
wie kann ich denn feststellen, ob eine shell nun statisch oder dynamisch ist?
(abgesehen vom eher unsportlichen grössenvergleich der files...)

Ob es da eine allgemeingueltige Regelung gibt kann ich dir leider nicht sagen, ich denke aber vom Prinzip her kannst du davon ausgehen, dass die ROOT-Shell (vorausgesetzt es wurde noch nichts veraendert) eine statische Shell ist. Das waere zumindest logisch sinnvoll...

Wenn dazu jemand noch mehr weiss, bitte unbedingt schreiben, das wuerde mich auch interessieren!
 
@aphorism
Code:
ldd /bin/sh
ldd /sbin/sh
Greetz, Uwe
 
-lol- noch deutlicher geht es in der ausgabe nicht!
danke für das posting, uwe:-)

there there
dat abe
 

Ähnliche Themen

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Debian squeeze, Webmin, Samba Freigaben

Falsche Rechte gesetzt beim Anlegen von Ordnern via Samba-Client

Drucker einrichten mit CUPS und SAMBA

Samba nicht mal Local-Connect...

Zurück
Oben