|
yuriorlov
Anmeldungsdatum: Juni 17, 2011
Beiträge: 1
|

17. Juni 2011 15:54
Hi, der Satz Der Befehl sudo kann anderen Befehlen vorangestellt werden und erlaubt es Benutzern (entsprechend den Einstellungen in der Datei /etc/sudoers) den Befehl bzw. das Programm im Namen und mit den Rechten eines anderen Benutzers auszuführen.
ist meiner Meinung nach falsch. Richtig ist, das "sudo" Programme im Namen anderer Benutzer ausführt, jedoch KEINEN Zugriff auf den Unix-Shell-Befehlssatz hat. So wird z.B. die Eingabe von "sudo cd" ein "sudo: cd: command not found" erzeugen.
Denn: "sudo" versucht das Programm "cd" auszuführen, welches aber nicht existent ist. Richtig also: "Der Befehl sudo kann Programmen vorangestellt werden und erlaubt es Benutzern (entsprechend den Einstellungen in der Datei /etc/sudoers) das Programm im Namen und mit den Rechten eines anderen Benutzers auszuführen.
|
|
user unknown
Anmeldungsdatum: Aug. 10, 2005
Beiträge: 12901
Wohnort: Berlin
|

17. Juni 2011 17:50
Du hast Recht und darfst es ändern. 
|
|
ramnit
Ehemalige
Anmeldungsdatum: Dez. 12, 2009
Beiträge: 881
Wohnort: /dev/null
|

18. Juni 2011 00:51
Wäre nicht "Der Befehl sudo kann Programm-Aufrufen vorangestellt werden..." noch besser. Der Befehl wird doch keinem Programm voran gestellt. Oder bin ich da zu penibel?
|
|
Julian92
Anmeldungsdatum: Jan. 5, 2011
Beiträge: 726
Wohnort: Freiburg im Breisgau
|

18. Juni 2011 00:58
Auf der Wiki Seite zu sudo heißt es : Für größere administrative Aufgaben kann das ständige Voranstellen von sudo auch hinderlich sein. Um länger als root zu arbeiten - sprich mehrere Befehle hintereinander ausführen zu können, ohne immer wieder sudo eingeben zu müssen - kann man in eine Rootshell wechseln. Nach der Eingabe von sudo -i werden alle folgenden Befehle mit Rootrechten ausgeführt... -> Bis dato dachte ich hierfür sei sudo -s zuständig. Gleich mal getestet und - beide haben den gleichen Effekt. Kann ich das ergänzen, oder sind das verschiedene Befehle? lg edit : Wobei es ja eigentlich egal ist, solange es funktioniert. Ich war nur etwas verwundert. sudo -s
ist auch überhaupt nicht unten in der Zusammenfassung aufgeführt. Moderiert von ramnit: An bestehende Diskussion angehangen. Zum Starten einer Diskussion mit direktem Artikelbezug bitte immer den Diskussions-Button über dem Artikel verwenden.
|
|
ramnit
Ehemalige
Anmeldungsdatum: Dez. 12, 2009
Beiträge: 881
Wohnort: /dev/null
|

18. Juni 2011 01:21
Ich kenn mich zu wenig aus, um das abschließend beurteilen zu können. Nachdem was in der man-Page steht, sieht es aber für mich nicht so aus, als wenn die beiden Befehle äquivalent wären. Also Achtung! Liebe Grüße martin
|
|
user unknown
Anmeldungsdatum: Aug. 10, 2005
Beiträge: 12901
Wohnort: Berlin
|

18. Juni 2011 01:48
ramnit schrieb: Wäre nicht "Der Befehl sudo kann Programm-Aufrufen vorangestellt werden..." noch besser. Der Befehl wird doch keinem Programm voran gestellt. Oder bin ich da zu penibel?
Nein. Kritisch lesen ist aber leichter als Schreiben. Oft denke ich "welcher Idiot hat denn geschrieben ..." und merke dann: Ich selbst war's.
|
|
DrScott
Supporter
Anmeldungsdatum: Juli 7, 2005
Beiträge: 5967
Wohnort: Nürnberg
|

18. Juni 2011 02:50
Julian92 schrieb: Gleich mal getestet und - beide haben den gleichen Effekt. Kann ich das ergänzen, oder sind das verschiedene Befehle?
Versuche einmal sudo echo; diff <(sudo -i env) <(sudo -s env)
sudo -s
ist auch überhaupt nicht unten in der Zusammenfassung aufgeführt.
Das liegt daran, dass "-s" einige Gefahren birgt, z.B. die im Artikel ausführlich besprochene HOME-Problematik. "-i" ist zu bevorzugen.
|
|
user unknown
Anmeldungsdatum: Aug. 10, 2005
Beiträge: 12901
Wohnort: Berlin
|

18. Juni 2011 15:30
Pardon, OFFTOPIC: | diff <(echo foo) <(echo fool)
|
Sowas suche ich ja schon lange, und habe mich nie zu fragen getraut. Ich muss es hier wiederholen, um es mir leichter zu merken.
Wunderbar! Entschuldigt die Störung.
|
|
cornix
Wikiteam
Anmeldungsdatum: März 9, 2007
Beiträge: 4334
Wohnort: Wesel
|

19. Juni 2011 15:03
user unknown schrieb: Entschuldigt die Störung.
Nur wenn du es im Wiki (Shell/Tipps und Tricks) verewigst. Gruß, cornix
|
|
user unknown
Anmeldungsdatum: Aug. 10, 2005
Beiträge: 12901
Wohnort: Berlin
|

19. Juni 2011 22:14
Hab' ich getan, paßt aber nicht richtig.
|
|
WinXP to Edgy
Anmeldungsdatum: Jan. 20, 2007
Beiträge: 70
|

6. August 2011 17:24
In dem Satz
Der Befehl sudo sollte nur für Terminalprogramme und Shellkommandos verwendet werden, dadurch werden Dateien vom aktuellen Nutzer mit denen von Root überschrieben und ein login ist danach ggf. nicht mehr ohne weiteres möglich!
stimmt irgendetwas nicht. Von meinem Verständnis her würde ich ihn wie folgt umformulieren:
Der Befehl sudo sollte nur für Terminalprogramme und Shellkommandos verwendet werden. Führt man grafische Programme über sudo aus, werden Dateien vom aktuellen Nutzer mit denen von Root überschrieben und ein login ist danach ggf. nicht mehr ohne weiteres möglich!
Ist das fachlich so zutreffend?
|
|
DrScott
Supporter
Anmeldungsdatum: Juli 7, 2005
Beiträge: 5967
Wohnort: Nürnberg
|

7. August 2011 17:22
Beides ist nicht ganz richtig. Fakt ist, dass neu angelegte Dateien dem Anwender "root" gehören, wenn das betreffende Programm durch sudo, gksudo oder kdesudo gestartet wird. Der Unterschied bezüglich dieser sudo-Varianten ist, wo diese Dateien angelegt werden. Bei den graphischen Varianten ist sichergestellt, dass diese im Home des Zielanwenders (also meist /root) angelegt werden. Damit wird dann ein Konflikt mit den Dateien unter /home/normaluser vermieden. Dies gilt auch für "sudo -H", was ja im Artikel deutlich erklärt wird. Des weiteren ist die Formulierung
Der Befehl sudo sollte nur für Terminalprogramme und Shellkommandos verwendet werden
auch aus diesem Grund nicht richtig: Bei "Terminalprogrammen" kann der Effekt "Datei wird im Verzeichnis /home/normaluser mit Rootprivilegien angelegt" ebenso dazu führen, dass das entsprechende Programm ohne "sudo" nicht mehr funktioniert - gleiches Problem also. "sudo" (also ohne -H oder -i) sollte wirklich nur bei "Befehlen" wie "cp, mv, usw" verwendet werden. Besser wäre es, wenn man sich einfach "sudo -H" angewöhnt.
|
|
WinXP to Edgy
Anmeldungsdatum: Jan. 20, 2007
Beiträge: 70
|

12. August 2011 18:53
Dann versuche ich noch einmal einen Ansatz:
Der Befehl sudo sollte nur für Shellkommandos verwendet werden. Beim Start von Programmen mit sudo werden Dateien im Homeverzeichnis des aktuellen Nutzers mit root-Rechten angelegt, was dazu führen kann, dass ein login danach nicht mehr ohne weiteres möglich ist! Terminalprogramme sollten daher mit sudo -H gestartet werden. Um grafische Programme mit Rootrechten zu starten, gibt es separate Befehle: ...
Gibt es Einwände gegen diese Formulierung?
|
|
user unknown
Anmeldungsdatum: Aug. 10, 2005
Beiträge: 12901
Wohnort: Berlin
|

13. August 2011 14:50
WinXP to Edgy schrieb:
Gibt es Einwände gegen diese Formulierung?
Ja.
Der Befehl sudo sollte nur für Shellkommandos verwendet werden. Beim Start von Programmen mit sudo werden Dateien im Homeverzeichnis des aktuellen Nutzers mit root-Rechten angelegt, was dazu führen kann, dass ein login danach nicht mehr ohne weiteres möglich ist!
Das klingt für mich, als würden immer und dadurch, dass man Programme mit sudo startet, Dateien angelegt - aber natürlich legen viele Programme überhaupt nichts an. Und deswegen widerspreche ich auch DrScott: Wieso soll ich mir etwas angewöhnen, was ich fast nie brauche? Ich benutze sudo fast immer ohne -H, und ohne Probleme. Dass man es leichter erklären kann finde ich als Begründung nicht ausreichend.
|
|
DrScott
Supporter
Anmeldungsdatum: Juli 7, 2005
Beiträge: 5967
Wohnort: Nürnberg
|

13. August 2011 20:35
user unknown schrieb: Und deswegen widerspreche ich auch DrScott: Wieso soll ich mir etwas angewöhnen, was ich fast nie brauche? Ich benutze sudo fast immer ohne -H, und ohne Probleme.
Du darfst Dich natürlich darüber hinwegsetzen. Gedacht ist dieser Ratschlag für Leute, die eben nicht so recht abschätzen können, welche Programme betroffen sind und - viel wichtiger - wie man sich im Problemfall selber helfen kann. Erfahrung ist da natürlich ein guter Helfer. Es gab hier im Forum schon einige Fälle, bei denen "sudo" für Probleme sorgten. Ich hätte vielleicht besser gleich dazu schreiben sollen, dass der Ratschlag nicht für Dich gedacht war.  Du hast Recht damit, dass diese Problematik eher selten ist. Es passiert immer dann, wenn eine Konfigurationsdatei angelegt werden muss. Das ist beispielsweise immer dann der Fall, wenn ein bestimmtes Programm (z.B. vi) zu aller erst per sudo gestartet wird. Meinetwegen kann man den Warnhinweis ganz streichen, da es mit Sicherheit kein häufiges Problem ist. Sinnvoller wäre: "Wichtiger Artikel. Bitte komplett lesen!". WinXP to Edgy schrieb: Dann versuche ich noch einmal einen Ansatz:
Der Befehl sudo sollte nur für Shellkommandos verwendet werden. Beim Start von Programmen mit sudo werden Dateien im Homeverzeichnis des aktuellen Nutzers mit root-Rechten angelegt, was dazu führen kann, dass ein login danach nicht mehr ohne weiteres möglich ist! Terminalprogramme sollten daher mit sudo -H gestartet werden. Um grafische Programme mit Rootrechten zu starten, gibt es separate Befehle: ...
Gibt es Einwände gegen diese Formulierung?
Einwände: Die Formulierung ist mehrdeutig. Man kann das so lesen, als würden nur beim Start per "sudo" diese Dateien angelegt werden. In welchem Fall soll denn ein Login nicht mehr möglich sein? Ich kann keinen sehen. (Es gab da mal ein Missverständnis im Zusammenhang mit der Datei .ICEauthority - siehe momentanen Baustellenartikel zu dieser Datei). Für mich ist das der Hauptgrund für eine Streichung der Hinweisbox. "sudo" ist prinzipiell durchaus geeignet, graphische Programme zu starten. Es sind andere Gründe, die die Alternativen handlicher machen. Steht aber alles im Artikel.
|