✔ sudo einrichten (gelöst)

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Benutzeravatar
Luxuslurch
Moderator
Beiträge: 2091
Registriert: 14.09.2008 09:41:54

Re: sudo einrichten

Beitrag von Luxuslurch » 01.07.2014 22:46:17

Friedel hat geschrieben:Die großen Vorteile von sudo gegenüber su liegen imho hauptsächlich darin, dass viele Anleitungen und Beschreibungen eben voraussetzen, dass man sudo benutzen kann.
Denk dir einfach das sudo weg und führ die Befehle als root aus => Problem gelöst.
Friedel hat geschrieben:Wenn ich mich für die Installation mit Rootrechten anmelde, muss ich mit Rootrechten surfen oder andere Datenquellen aus externen Quellen öffnen um die Anleitung lesen zu können.
? So wie du das schreibst, ist das aber nur ein einmaliger Vorgang "Installation" (gemeint ist vermutlich des Grundsystems?). Wenn du aber in einem Terminal mittels 'su' zu root wirst, dann läuft dein Browser doch nicht als root - jeder Prozess kann als ein anderer Benutzer gestartet werden.
Friedel hat geschrieben:Dafür, dass ich dieses System vor etwa 24 Stunden zum ersten mal installiert habe, habe ich imho viel gelernt. Wenn das System stabil bleibt, werde ich dabei wohl bleiben. Zumindest auf diesem Rechner.
Das wäre doch schön! Viel Erfolg!
Debian Stable.
Der Mod spricht rot.

Benutzeravatar
hikaru
Moderator
Beiträge: 13958
Registriert: 09.04.2008 12:48:59

Re: sudo einrichten

Beitrag von hikaru » 02.07.2014 08:13:46

Friedel hat geschrieben:Soweit ich weiß, bekommt man damit Root-Rechte. Aber bei dieser Bedeutung sollte man damit die Rechte eine beliebigen anderen Users bekommen können. Ich erkenne zwar keinen Sinn darin, aber bei dieser Bedeutung würde ich erwarten, dass ich damit als Root auch vorübergehend friedel-Rechte bekommen kann.
Genau das ist der Fall.
Wenn du mit su zu root geworden bist, dann kannst du von dort auch mit su friedel friedel werden.*

Der Sinn darin ist der, dass Linux/Unix vom Konzept her ein Mehrbenutzersystem ist. An einem Rechner können gleichzeitig mehrere Benutzer(accounts) arbeiten**. Und su ist eben die/eine Methode um zwischen verschiedenen Nutzern wechseln zu können.
Das wird heute meist benutzt um bestimmte Prozesse gewissermaßen vom Rest des Systems zu trennen. Falls du z.B. einen Webserver auf deinem Rechner betreibst läuft der für gewöhnlich unter einem eigenen User-Account damit darin nicht alle rumfuhrwerken können. Um doch etwas damit machen zu können musst du z.B. via su zu eben jenem User werden.
Abgesehen von solchen Spezialfällen ist Unix/Linux als Desktop-System - so wie es die meisten von uns heute benutzen - aber im Grunde zweckentfremdet.
Friedel hat geschrieben:Aber sudo hat imho nicht nur diesen Zweck, sondern damit kann man sehr gut auch Rootrechte vorübergehend bekommen, ohne gleichzeitig diese Rechte auch für beliebige Anwendungen zu erteilen.
[..]
Wenn ich mich für die Installation mit Rootrechten anmelde, muss ich mit Rootrechten surfen oder andere Datenquellen aus externen Quellen öffnen um die Anleitung lesen zu können.
Ich denke, du hast noch ein grundlegendes Verständnisproblem damit was wir hier mit "als root anmelden" bezeichnen.
Es geht dabei nicht darum, sich am Loginmanager als root in eine X-Session einzuloggen***, sondern darum sich in einem Terminal(emulator) als root anzumelden. Alles was dann aus genau diesem einen Terminal ausgeführt wird läuft mit root-Rechten. Alles andere, sei es über einen grafischen Starter oder aus einem anderen Terminal ohne root-Rechte, wird weiterhin mit normalen Benutzerrechten ausgeführt.


*) Vorsicht: Das ist kein "zurück zu friedel" sondern ein "friedel wird root wird friedel"! Die root-Shell läuft unter der zweiten friedel-Shell weiter und jeder kann dann einfach root werden der sich aus der friedel-Shell ausloggt. Also aus einer root-Shell immer mit exit ausloggen oder die Session anders beenden (z.B. durch schließen des Fensters).
**) Wenn es sich bei den Benutzern um echte Menschen handelt haben sie dazu früher solche Terminals verwendet wie auf dem Bild das Radfahrer im xterm-Thread gezeigt hat. Ein ähnliches Konzept wird heute mit sogenannten "Thin-Clients" verfolgt, falls dich das Thema näher intererssiert.
***) Kleine Anekdote dazu: Falls du dich mal grafisch als root unter OpenSuse anmeldest wirst du durch einen abschreckenden Desktophintergrund darauf hingewiesen, dass du möglicherweise gerade etwas Unvorsichtiges tust.

Benutzeravatar
Patsche
Beiträge: 3263
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: sudo einrichten

Beitrag von Patsche » 02.07.2014 12:48:34

Nur der Vollständigkeithalber:
Solltest du mal in eine Situation kommen, in der ein grafische Programm root Rechte benötigt, dann nimmt man besser Debiangksu. Also beispielsweise möchte man Debianthunar mit root-Rechten öffnen, dann gibt man in der Shell als User ein:

Code: Alles auswählen

gksu thunar
Dann öffnet sich ein grafische Fenster, in dem das root Passwort abgefragt wird.

Wie die Anderen schon schrieben: Wenn du in der Shell von deinem normalen Benutzer mit su zu Benutzer root wechselst, dann bist du nur in dieser Shell root. Wenn du eine Anleitung mit sudo Befehlen folgen willst, dann machst du ganz am Anfang eben einmal su statt sudo und gibst lässt danach einfach das sudo weg.

wanne
Moderator
Beiträge: 7616
Registriert: 24.05.2010 12:39:42

Re: sudo einrichten

Beitrag von wanne » 02.07.2014 15:16:32

Friedel hat geschrieben: Ich erkenne zwar keinen Sinn darin, aber bei dieser Bedeutung würde ich erwarten, dass ich damit als Root auch vorübergehend friedel-Rechte bekommen kann.
Natürlich.
su fridel gibt dir fridel rechte. su root rootrechte. Gibt man nichts an wird der wohl häufigste verwendungszweck genommen: root.
Friedel hat geschrieben:Wenn ich bei einer Installation, einem Setup oder sonst was nach einer Anleitung aus dem Web oder sonst wo her in einem Terminal mit sudo arbeite, können Scripte oder anderer Code aus dieser Website eben nicht mit Rotrechten agieren Wenn ich mich für die Installation mit Rootrechten anmelde, muss ich mit Rootrechten surfen.
? Im Geensatz zu MS-DOS ist Linux ein Multisessionsystem. Du kannst dich wunderbar links auf der Konole als root anmelden und rechts Als normale nutzer den Browser laufen lassen. Mit rootrechten Surfen gibt's eigentlich nur unter Ubuntu wo man mit sudo den klassichen Windows Admin account emulirte indem man über sudo die Rechte des Browser-Benutzers auf die von root erweitert. Mit den meisten Sicherheitskonsequenzen die das auch dort hat.

Defakto sieht su und sudo mit Ubunut-Standard Konfiguration für den Benutzer meist recht ähnlich aus. Die Idee dahinter ist aber eine Völlig andere. Einmal erweitert man dem Benutzer die Rechte einmal wird man schlicht ein anderer.

Es gibt entsprechend aber unterschiede im Detail:
Beispiel:

Code: Alles auswählen

sudo synaptic
Der benutzer führt synaptics mit den Rechten des Benutzers aus der /etc/sudores (bei Ubuntu typischerweise root) aus. Entsprechend geht synaptics auf und der Benutzer kann da beliebige Sachen drin machen. Inklusive beliebige Programme aus beliebigen Quellen installieren. Auch braucht man typischerweise kein Passwort dafür. (Bei Ubuntu wird zur sicherstellung, dass wirklich der User vor dem Bildschirm sitzt das des Users nochmal abgefragt.)

Code: Alles auswählen

su -c "synaptic" root -l
Logt dich als root ein und startet synaptic. Typischerweise kann man dann nicht mehr auf den X-Server des Users zugreifen. Für den Login wird entsprechend das root-Passwort benötigt. Allerdings gilt auch hier dass man per Konfiguration den Passwortlosen Benutzerwechsel einstellen kann und das Weiterschleppen der DISPLAY und XAUTHORITY-Variabalen (die den Zugriff auf den Bildschirm erlauben) mit der Option -p erzwingen.

Beide Programme haben also Konfigurationsdateien in denen man einiges verstellen kann.

Defakto sind die Auswirkungen der Befehle fast gleich:
sudo -s und su
sudo [COMMAND] und su -c [COMMAND]

Als Nachteil von sudo sehe ich aber ein paar grundsätzliche Sachen.
  • Warum mit sudo nochmal ein Programm/System mitbringen, dass potentiell anfällig für Fehler ist. Logins müssen ja auch unter Ubuntu möglich sein.
  • Die Syntax des /etc/sudoers File sieht auf den ersten Blick sehr intuitiv aus. Macht aber recht komische Sachen. Z.B. überschreibt env_check env_reset. Etwas was man erstmal ganz und gar nicht erwartet und vor dem man auch nicht gewart wird, wenn man ein Syntax-Check durchführt.
    Außerdem ist die Syntax mit Wildcards und Grammatiken zwar sehr mächtig aber weit weniger gut verständlich und vor allem sehr ungewohnt für Leute, die reguläre ausdrücke gewohnt sind. Dass die Wildcards Trotzdem ähnlich aussehen wie Reguläre ausdrücke führt dauernd zu Problemen. Z.B. matched auf das harmlos aussehende [[:alpha:]]* das weniger harmlose echo $(passwd) .
    Auch default konfiguration von ubuntu hat da komische Seiteneffekte, wie z.B. dass der User ein Root Programm auf einen anderen X-Server (und damit durch eine andere Tastatur bedienbar ) verschieben kann.
  • sudo wähnt Nutzer in einer sicherheit, die es nicht birgt. So kann man sich mit sudo mit eimem cp oder chmod oder chown Befehl dauerhaft rootrechte Sichern. Und das obwohl man doch vermeitlich nie das root-Passwort herausgegeben hat.
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten