ubuntuusers.de

Was ist eigentlich der Unterschied zwischen "sudo su" und "sudo -s"

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

Frieder108

Avatar von Frieder108

Anmeldungsdatum:
7. März 2010

Beiträge: 9573

Hi, @ all

die Frage steht ja schon in der Überschrift. Kann mir den Unterschied jemand erklären?

THX Frieder

Moderiert von barabbas:

Dieses Thema wurde verschoben. Bitte beachte die als Wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“). Danke!

Barabbas

Avatar von Barabbas

Anmeldungsdatum:
31. März 2007

Beiträge: 1651

Wohnort: Münster

sudo su

  • führt su mit Root-Rechten aus

  • su startet eine Root-Shell

sudo -s

  • startet eine Shell mit Root-Rechten

So wie ich das sehe ist sudo -s weitestgehend äquivalent zu dem Aufruf sudo /bin/bash - nur dass die verwendete Shell eben bei "-s" automatisch bestimmt wird. Die sudo su Variante erscheint mir im Wesentlichen ein Umweg zu sein, der zwei Prozesse für etwas benötigt, das man auch mit einem Prozess erledigen kann.

Das ist zumindest das Verhalten, das ich aus den Man-Pages von sudo und su ableite. Habe mir keine Zeile Quellcode angesehen und kann daher zu den internen Arbeitsweisen wenig sagen.

Besten Gruß,

brb

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

> sudo su
ibmux:/home/stefan/Desktop # 

Beim -s dagegen wird das Verzeichnis nach wie vor als Home von User Stefan mit ~ abgekürzt.

> sudo -s
ibmux:~/Desktop # 

Frieder108

(Themenstarter)
Avatar von Frieder108

Anmeldungsdatum:
7. März 2010

Beiträge: 9573

ok, so halbwegs hab ichs verstanden.Gibts da noch irgendwie was zum Nachlesen dazu?

Noch was zum falschen Unterforum: Habs mal als grundsätzliche Frage verstanden, aber claro, hier ist es besser aufgehoben. Sorry für deine Mühen

Grüße, Frieder

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

Es gab hier schon Threads, und ich meine die Konfigurationsdateien, die gelesen werden, bzw. gesetzte Environmentvariablen können sich unterscheiden - ist mir aber alles zu subtil, um es im Kopf zu halten.

Systemkritiker

Anmeldungsdatum:
2. Januar 2011

Beiträge: 110

Wohnort: Schweiz

Schau dir die Unterschiede doch selbst an:

1
for o in -s su; do echo "env >/tmp/$o" | sudo $o; done; diff -u -0 /tmp/-s /tmp/su | grep -v '^@@' | tail -n +3; sudo rm /tmp/-s /tmp/su

Der wichtigste Unterschied dürfte wohl sein, dass das $HOME-Verzeichnis mit sudo su zu /root geändert wird. Das erklärt auch den Unterschied von user unknown, weil in sudo -s das Kürzel ~ (Heimverzeichnis) im aktuellen Pfad vorkommt, in sudo su nicht. sudo -s ist, soweit ich sehen kann äquivalent zu sudo $SHELL und fühlt sich an, wie wenn du vor jeden Befehl ein sudo tippst, sudo su hebelt das ganze Sicherheitskonzept von sudo aus, es gibt dir die Rootshell su.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

Systemkritiker schrieb:

sudo su hebelt das ganze Sicherheitskonzept von sudo aus, es gibt dir die Rootshell su.

Das würde ich nicht so formulieren. Ja - für die Dauer die man dann als root unterwegs ist sind die Sicherheitsschranken aufgehoben, aber nur so lange, und nur in dieser Shell, und wo ist der Unterschied zu sudo -s?

Wenn man weiß, daß man viel administratives zu tun hat, womöglich mit längeren Recherchen zwischendurch... - ich fahre ganz gut damit, sporadisch sudo su zu nutzen.

franco_bez

Avatar von franco_bez

Anmeldungsdatum:
1. Mai 2007

Beiträge: 688

Wie wär's mit

sudo -Hs

Ciao,

Franco

PS: ich nehme auch lieber "sudo su" ist eine Taste weniger zu tppen ...

Antworten |