Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
24.07.2021, 22:28:06

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
  • Mitglieder insgesamt: 25776
  • Letzte: joba48
Statistiken
  • Beiträge insgesamt: 746688
  • Themen insgesamt: 60054
  • Heute online: 375
  • Am meisten online: 2287
  • (22.01.2020, 19:20:24)
Benutzer Online

Autor Thema: [erledigt] Nur ein Befehl im Script mit Root Rechten  (Gelesen 3709 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

[erledigt] Nur ein Befehl im Script mit Root Rechten
« am: 11.05.2018, 20:10:04 »
Moin mal wieder ne Bash Frage:
hab n Script, welches den Befehl showkey enthält. Soweit so gut eigentliches Problem ist nun, dass der Befehl Root Rechte braucht. Diese will ich aber eigentlich nich dem ganzen Script geben, da sonst alle Dateien mit denen ich arbeite und so auch alle von Root sind. Deswgen wärs mir am liebsten dem einen Befehl Root Rechte zu geben das restliche Script aber ohne laufen zu lassen. (sudo befehl geht nich weil der in ner Schleife is und ich das passwort dann ja immer wieder eingeben müsste)

Wär froh wenn jemand ne Idee hat.
« Letzte Änderung: 14.05.2018, 21:46:41 von stor der schnitter »

Linux_4_Ever

  • Gast
Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #1 am: 11.05.2018, 20:16:34 »
Zitat
sudo befehl geht nich weil der in ner Schleife is und ich das passwort dann ja immer wieder eingeben müsste
Nein, dem ist nicht so.
Auch wenn sudo öfters vorkommt wird nur einmal das Passwort abgefragt (auch in Schleifen).
Bis zum sudo-Timeout(ca. 10min) oder Schließen des Terminals
« Letzte Änderung: 11.05.2018, 20:21:07 von Linux_4_Ever »

Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #2 am: 14.05.2018, 21:46:33 »
Also normal hab ich schon nen sudo timeout (also, dass ich im Terminal nachdem ich einmal sudo genommen hab, ich nach einiger Zeit das Passwort wieder neu eingeben muss) aber ich hab mal n Test Script n paar Stunden laufen lassen, das wollte nicht nochmal das Passwort.

Aber letztendlich hats dann geklappt ohne, dass das das Passwort nochmal brauch.

Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #3 am: 14.05.2018, 22:56:02 »
In der Datei /etc/sudoers kann man Benutzern das Ausführen von "Root-Befehlen" ohne Passwort erlauben. Siehe Ubuntu-Wiki.

Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #4 am: 15.05.2018, 06:33:01 »
ich hab mal n Test Script n paar Stunden laufen lassen, das wollte nicht nochmal das Passwort.

Weil der timeout bei jedem erneuten sudo-Aufruf (in diesem Fall innerhalb Deines Scripts) wieder neu beginnt.

Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #5 am: 15.05.2018, 07:53:14 »
hab n Script, welches den Befehl showkey enthält.
Steht denn noch mehr drin?
Das zu wissen … könnte ja für die weitere Bash-Beratung förderlich sein.  ;)
Was willst Du denn mit dem Script erreichen?
« Letzte Änderung: 15.05.2018, 08:08:19 von aexe »

tml

  • Gast
Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #6 am: 15.05.2018, 18:42:32 »
dem einen Befehl Root Rechte zu geben

Für so etwas eignet sich xc hervorragend, eine Kurzbeschreibung zu dem Programm findest du hier ("Rechteinhaber").

Das Programm lässt sich einfach über den "Dreischritt" (./configure, make, sudo make install) erstellen, für die Version 1.3 wirst du wahrscheinlich noch
apt install gcc-5-multilibnachziehen müssen und für die 1.4 zusätzlich auch
apt install libncurses5-devZur 1.5 kann ich nichts sagen, die habe ich noch nicht installiert.

secureIT

  • Gast
Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #7 am: 15.05.2018, 20:34:39 »
@ stor


Eine Variante ist, das PW in einer Variablen zu speichern, die dann sofort nach Befehlsausführung wieder gelöscht wird :

# Passwortabfrage via Zenity
# Passwort wird in String PASSW vorübergehend gespeichert
# danach wird mit sudo-S der Befehl aufgerufen
# Passworteingabe wird nach Befehlsausführung zurückgestzt durch Löschen des Strings PASSW

PASSW=$(zenity --entry --hide-text --text "Bitte Passwort eingeben:" --title "Benutzerpasswort")
echo -e "$PASSW\n" | sudo -S BEFEHL
PASSW=""

Es wird zwar davor gewarnt, das PW im Klartext  in einer Variablen zu speichern ....... diese Variable wird aber via PASSW="" direkt nach Befehlsausführung wieder gelöscht.
Ob Dir das zu "unsicher" ist ? ....... entscheide selbst.

Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #8 am: 15.05.2018, 21:03:25 »
In der Datei /etc/sudoers kann man Benutzern das Ausführen von "Root-Befehlen" ohne Passwort erlauben. Siehe Ubuntu-Wiki.

Oder im Verzeichnis /etc/sudoers.d/ hierfür eine Datei anlegen, ist für mich übersichtlicher. Beispiel meine Datei veracrypt:

# Allow user ultim-baer to start veracrypt without root password

ultim-baer ALL=(ALL) NOPASSWD:/usr/bin/veracrypt

Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #9 am: 15.05.2018, 22:19:00 »
Ok danke für all eure Hilfe bin grad aber stark am überlegen ob ich die Datei nich einfach in die /etc/sudoers einzutragen (hab da aber mal gehört das soll unsicher sein weil ne Datei mit selben Dateipfad erstellt werden könnte und dann auch root Rechte hat)

Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #10 am: 16.05.2018, 06:33:48 »
Für die sichere Unterbringung der Daten bist Du zuständig, das ist wohl wahr. Mit dem potentiellen Risiko, dass jemand mit root-Rechten eine Systemdatei so manipuliert, dass ein anderes Programm gestartet wird müssen alle PC-Anwender leben. Ein gewisses Vertrauen gehört zum Leben dazu.
Warum ich einem von Dir adminstrierten System (inkl. Deiner Scripte) weniger vertrauen sollte als meinen Kollegen ist eben auch so eine Vertrauensfrage.

Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #11 am: 27.02.2021, 22:13:49 »
In der Datei /etc/sudoers kann man Benutzern das Ausführen von "Root-Befehlen" ohne Passwort erlauben. Siehe Ubuntu-Wiki.

Oder im Verzeichnis /etc/sudoers.d/ hierfür eine Datei anlegen, ist für mich übersichtlicher. Beispiel meine Datei veracrypt:

# Allow user ultim-baer to start veracrypt without root password

ultim-baer ALL=(ALL) NOPASSWD:/usr/bin/veracrypt

Frage: editiere ich die Datei einfach mit sudo nano <Dateiname>?

Re: Nur ein Befehl im Script mit Root Rechten
« Antwort #12 am: 27.02.2021, 22:56:35 »
Nein.
Es geht hier nicht um nano, Nemo oder pkexec, gksu.
Seit diesem Thread (11.05.2018) sind fast drei Jahre vergangen und die Dinge haben sich vielleicht geändert. Derartige Eingriffe in die Rechteverwaltung sind außerdem (Sicherheits-)kritisch.
Mach bitte ein neues Thema auf und schreibe vor allem, was Du damit erreichen willst.
« Letzte Änderung: 27.02.2021, 23:31:59 von aexe »