Seite 1 von 1

[ERLEDIGT] Upgrade im einem Schritt ausführen

Verfasst: 24.09.2019 15:29:49
von Richard
Hi,

ich habe auf dem Pi in die .bashrc diese Zeile drin
sudo apt update && sudo apt dist-upgrade -y && sudo apt autoremove && sudo apt clean
Führe ich 'upgrade' aus wird diese Zeile ausgeführt. Es kommt aber vor, dass wenn einer der Schritte lange dauert, meist dist-upgrade, das Passwort bis zu den letzten beiden schritten vergessen wurde. Ich müsste es dann neu eingeben. Sinn und Zweck ist ja aber, dass das alles einem einem rutsch durch läuft.

Was würde denn passieren, wenn ich das in ein script stecke und das script mit sudo starte? Wird das Passwort dann auch nach x Minuten vergessen? Das script in visudo einzufügen ist denke ich keine gute Idee, denn dann könnte ja jeder was er will in das script eintragen und so root-rechte bekommen.

Ziel ist es das upgrade komplett durchlaufen zu lassen mit nur einmal das Passwort eingeben zu müssen, gleich zu Beginn.

Re: Upgrade im einem Schritt ausführen

Verfasst: 24.09.2019 15:52:48
von hikaru
Richard hat geschrieben: ↑ zum Beitrag ↑
24.09.2019 15:29:49
Was würde denn passieren, wenn ich das in ein script stecke und das script mit sudo starte? Wird das Passwort dann auch nach x Minuten vergessen?
Ja, aber das wäre kein Problem.
Dein Problem ist, dass du dir insgesamt viermal eine Shell mit root-Rechten über sudo beschaffst, aber nur einmal das Passwort. Wenn vor dem Start des letzten sudo-Aufrufs mehr als x* Minuten vergangen sind, ist deine ursprüngliche Passworteingabe nicht mehr gültig.

Steckst du hingegen alles ohne sudo in ein Script und rufst dann nur dieses Script mit sudo auf, dann läuft das gesamte Script in einer einzigen Shell mit root-Rechten und es spielt keine Rolle, wie lange es dauert.
Alternativ zu einem Script in Form einer Textdatei könntest du mit sudo auch gezielt eine Shell-Session starten und innerhalb dieser die eigentlichen Befehle absetzen:

Code: Alles auswählen

sudo sh -c 'apt update && apt dist-upgrade -y && apt autoremove && apt clean'

*) Ich meine mich zu erinnern, dass x=15 sei.

Re: Upgrade im einem Schritt ausführen

Verfasst: 24.09.2019 17:23:59
von Richard
Ich will das ja wieder über ein alias aufrufen und wenn ich das script als alias in die .bashrc schreiben und dann mit sudo ausführen wird das alias nicht gefunden. Ich vermute weil es die alias vom user und nicht von root sind.

Re: Upgrade im einem Schritt ausführen

Verfasst: 24.09.2019 19:14:23
von TRex
Dann definiere den alias doch so wie von hikaru beschrieben in deiner .bashrc.

Re: Upgrade im einem Schritt ausführen

Verfasst: 25.09.2019 16:05:39
von Richard
Ja, so gehts. Hatte ich nicht ganz verstanden. Danke.

Re: [ERLEDIGT] Upgrade im einem Schritt ausführen

Verfasst: 25.09.2019 16:22:10
von hikaru
Es sei noch angemerkt, dass ich die Lösung konzeptuell hässlich finde, denn sie verlangt, dass der User ein im Grunde beliebiges Shell-Script per sudo als root ausführen kann.
Falls jemand deine .bashrc in die Finger kriegt (indem er z.B. aus deinem Browser ausbricht), könnte er den Alias beliebig abändern und so beliebige Befehle als root ausführen.

Andererseits ist das eher eine akademische Betrachtung, denn auf einem Desktop-System ist root eher der uninteressantere Account. Alle wertvollen Daten gehören normalerweise dem (meist einzigen) Nutzer, und wer es schafft diesen Account zu übernehmen, der hat schon das größtmögliche Schädigungspotenzial erreicht.