Hallo, Situation: Ich habe in meinem Linux(Debian) Server u.a. eine 500gb Platte, welche ich nur selten zu Backupzwecken verwenden will. Damit sie in den Tagen/Wochen dazwischen auch definitiv nicht mehr aus Spass anläuft, möchte ich sie in einem kleinen Script umounten und in standby versetzen. Problem: Befehle wie mount, hdparm usw benötigen ja Rootrechte -- jedoch möchte ich das script auch gerne irgendwie als Gast/normaler User ausführen können, so dass meine Mitbewohner auch mal die Festplatte verwenden können, wenn ich mal nicht daheim bin.. Idee ? Kenn mich leider kaum mit unix aus.
Normalerweise macht das sudo. Die man-page darfst Du aber alleine lesen. > Linux(Debian)... > Kenn mich leider kaum mit unix aus. Mutig, mutig...
Die saubere Methode un das mounten zu erlauben ist es, unter /etc/fstab bei der gewünschten Partition die Mount-Option "user" einzutragen. Dann kann auch ein nicht-super-user mounten und unmounten. Einem shell-skript kann man aus guten Grund kein suid root geben, und auch für (u)mount und hdparm steht suid root außer Frage. sudo wäre auch eine Möglichkeit, um gezielt einzelnen Usern bestimmte mount- und hdparm-Befehle zu erlauben. Allerdings musst du das sehr gut konfigurieren, damit dadurch kein Sicherheitsrisiko entsteht (unbedingt Kommandozeilen-Parameter festlegen). Das Suchwort für diese Methode lautet "sudoers".
Hm, wenn ich das jetz richtig verstanden habe, dann: -> es existiert bereits für meine wg-bewohner ein sudologin, jedoch ist es recht umständlich erst das passwort eingeben zu müssen. Ausserdem möchte ich das auch gern mit einer Tastenkombi starten, jedoch werden die Tastenkombinationsbefehle auch nur vom immer laufenden Gastaccount ohne Rootrechte ausgeführt. Erklärung: der Server steht zentral im Flur und wird neben Datenserver und diversen Spielereien als Frühstücksnews-Wetter-Bus-Bahnverbindungs-Informationsstation genutzt, es ist also immer der "WG Gast" auf fluxbox eingeloggt. Da auch ab und zu hier fremde leute unterwegs sind, möchte ich nicht pauschal allzuviel Rechte vergeben ;-)
@ Chris (Gast) Ah, nicht schlecht! schonmal halbes Problem gelöst, danke für den Tipp :-)
Vielleicht reicht Dir schon http://hd-idle.sourceforge.net/ ? Das koennte als suid root evtl. weniger gefaehrlich sein als hdparm. Gruesse
Edith sagt: Bei nicht gemountetem Laufwerk sollte selbiges eigentlich nicht von selbst anlaufen, also geht es mglw. auch ohne manuelles Ausfuehren als suid root, die HD geht dann einfach von slebst nach 10min Ruhe aus.
die Frage ist doch wie gut ist das für die Festplatte ständig an und ausgeschaltet zu werden? Wenn es nur einmal am Tag ist mag das noch gehen, aber wenn es 10mal pro Tag wird dann geht sie dadurch zeitiger Kaputt.
@S. Matlok Sowas habe ich mir auch schon überlegt, wollte es aber über www steuern. Die einzige "saubere" Methode die mir eingefallen ist wäre diese: schreib dir ein Cronskript oder Hintergrundprozess der als root läuft und in eine Datei schaut. Steht z.B. in der Datei eine 0 dann wird das Laufwerk getrennt und bei einer 1 eingehängt. Wenn sich beim trennen jemand im Laufwerk befindet wird es Probleme geben und eine "force" ist dann nicht angebracht. Meine Platten (nicht root) gehen nach etwas 10min. in den suspend (per hdparm eingestellt). Wenn ich nicht über das Netz auf die Platte zugreife bleibt sie im suspend und gut ist. @Peter smartctl ist dein Freund
S. Matlok wrote: > -> es existiert bereits für meine wg-bewohner ein sudologin, jedoch ist > es recht umständlich erst das passwort eingeben zu müssen. Dann konfigurierst Du sudo passowortlos.
>> -> es existiert bereits für meine wg-bewohner ein sudologin, jedoch ist >> es recht umständlich erst das passwort eingeben zu müssen. > Dann konfigurierst Du sudo passowortlos. Genau das meinte ich. Dann ist es aber sehr wichtig, die exakte (!) und vollständige Kommandozeile festzulegen, die passwortlos als root ausgeführt werden darf. In diesem Fall müssen also die Parameter von hdparm in der Datei sudoers genauestens festgelegt werden, damit man keinen Unfug treiben kann.
Chris wrote: >>> -> es existiert bereits für meine wg-bewohner ein sudologin, jedoch ist >>> es recht umständlich erst das passwort eingeben zu müssen. >> Dann konfigurierst Du sudo passowortlos. > > Genau das meinte ich. Dann ist es aber sehr wichtig, die exakte (!) und > vollständige Kommandozeile festzulegen, die passwortlos als root > ausgeführt werden darf. Jemanden, den ich root-Rechte gebe, muss vertrauenswuerdig sein. Wenn er es nicht ist, bekommt er kein root auf der entsprechenden Maschine. "root unter Vorbehalt" ist Unfug. > In diesem Fall müssen also die Parameter von hdparm in der Datei sudoers > genauestens festgelegt werden, damit man keinen Unfug treiben kann. Siehe oben. Selbiges gilt natuerlich fuer unqualifizierte Benutzer => kein root.
@linuxtroll: Dir wünsche ich mal ein linuxbasiertes Consumergerät, wo der Entwickler sich auch dachte: > Jemanden, den ich root-Rechte gebe, muss vertrauenswuerdig sein. Wenn er > es nicht ist, bekommt er kein root auf der entsprechenden Maschine. > "root unter Vorbehalt" ist Unfug. Damit dann viel Spass... BTW.: es heisst: ... ,dem ... (Dativ)
> Genau das meinte ich. Dann ist es aber sehr wichtig, die exakte (!) und > vollständige Kommandozeile festzulegen, die passwortlos als root > ausgeführt werden darf. Stichwort: setuid-bit, ein Dateityp-Bit für ausführbare Dateien. Wer das Programm ausführen darf wird durch die Access-bits festgelegt, das Programm wird dann aber mit den Rechten des Dateibesitzers ausgeführt. Das Programm macht dann selbstverständlich nur solche Sachen, die der Besitzer gutheißt. Wird gern verwendet um z.B. den mount-Befehl für nicht-root-Benutzer zugänglich zu machen, obwohl dieser ja mit root-Rechten das Dateisystem verändern muss. > Jemanden, den ich root-Rechte gebe, muss vertrauenswuerdig sein. Wenn er > es nicht ist, bekommt er kein root auf der entsprechenden Maschine. > "root unter Vorbehalt" ist Unfug. Wenn du das für Unfug hältst dann schlag eine Alternative vor.
> Stichwort: setuid-bit, ein Dateityp-Bit für ausführbare Dateien. Wer das > Programm ausführen darf wird durch die Access-bits festgelegt, das > Programm wird dann aber mit den Rechten des Dateibesitzers ausgeführt. > Das Programm macht dann selbstverständlich nur solche Sachen, die der > Besitzer gutheißt. Wird gern verwendet um z.B. den mount-Befehl für > nicht-root-Benutzer zugänglich zu machen, obwohl dieser ja mit > root-Rechten das Dateisystem verändern muss. Wat bist du denn fuer ein noob-arsch ! > Das Programm macht dann selbstverständlich nur solche Sachen, die der Du solltest lebenslänglich Rechnerverbot bekommen ! DAS setuid-bit darf nur aktiviert werden, wenn das eigentlich Programm eine eigene Sicherheitsüberprüfung mit drin hat ob Morin & Co. keine Scheisse anstellen. Auf alle Fälle NIE einschalten bei solchen SPAM & Virenversendern wie die es sind.
Das einzige, was ich aus deinem geistreichen Kommentar entnehmen konnte, ist genau das, was ich schon erwähnt hatte: Da ein Anwender per setuid anderen Anwendern erlaubt, in seinem Namen und mit seinen Rechten Programme auszuführen, sollte er tunlichst darauf achten, dass die solcherart "freigeschalteten" Programme nichts schlimmes anrichten... z.B. indem es selbstgeschriebene Programme sind, die einen einzigen wohlbekannten Bash-Befehl ausführen und sonst nix (Achtung: bin nicht sicher, ob das Bit bei Bash-Scripten so wie gedacht funktioniert, also vorher nachprüfen!)
> anderen Anwendern erlaubt, in seinem Namen und mit seinen Rechten > Programme auszuführen, sollte er tunlichst darauf achten, dass die > solcherart "freigeschalteten" Programme nichts schlimmes anrichten... > z.B. indem es selbstgeschriebene Programme sind, die einen einzigen > wohlbekannten Bash-Befehl ausführen und sonst nix (Achtung: bin nicht > sicher, ob das Bit bei Bash-Scripten so wie gedacht funktioniert, also > vorher nachprüfen!) Nein, bei Bash-Skripten und allgemein Skripten aller Art wird das setuid-Bit ignoriert, weil es extrem schwierig ist, ein Skript hundert-prozentig abzusichern. setuid auf mount setzen halte ich ebenfalls für keine gute Idee, damit kann viel zu viel Unfug getrieben werden. Am Ende kann man damit noch eine root-shell öffnen, weil mount überhaupt nicht unter setuid-root-Aspekten programmiert wurde. Bevor man überhaupt über setuid nachdenkt, sollte man es zuerst mit der schon mehrfach erwähnten sudo-Methode versuchen: Das hat einen ähnlichen Effekt wie setuid, nur dass man eben die Parameter vorschreiben kann. Der Nicht-root-Nutzer, der dann mount aufruft, kann also nur bestimmte, vorgeschriebene Parameter übergeben und so keine unerwarteten Dinge mit dem mount-Befehl verursachen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.