online 1
gast (50)

/ Forum / Linux

LinuxLinux

Fragevon Linux800 vom 24.01.2022, 12:05 Options

apt-get update im skript verlangt root Password: wie lösbar?

Hi Freakz,

in einem meiner Skripte rufe ich ganz normal

apt-get update

auf. Leider stoppt das dann Skript und verlang das root-password...

Wie kann ich das Skript ohne Unterbrechung ablaufen lassen?

Danke!


Antwort schreiben

Antwort 1 von Tuxfreund vom 24.01.2022, 12:20 Options

ubuntu:

sudo apt-get update

Debian:

su root
mein_passwort

apt-get update

Antwort 2 von Linux800 vom 24.01.2022, 12:30 Options

textstring=$(sudo apt-get update)

...so steht es in meinem Skript

das Skript hat SUID, scheint aber nix zu bringen (hier lesen:)

http://de.wikipedia.org/wiki/Setuid

das SUID gilt scheinbar nicht für Skripte

an oben zitierter Stelle stoppt das Skript und verlangt nach dem root-Passwort :(

mein Linux ist natürlich ein Ubuntu 9.10

Antwort 3 von Jaja vom 24.01.2022, 12:48 Options

der befehl kann immer nur von root bzw. dessen rechten ausgeführt werden.

eine lösung wäre also in diesem sinne nicht möglich, obgleich du auch das ganze script zunächst per sudo oder anderer methode als root ausführen kannst (mit eingabe des passwortes) und so die passwortabfrage mitten im script unterbindest.
nachfolgender code würde am anfang des scriptes das vorhandensein der rechte sicherstellen

:

if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi


oder

if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi

code stammt von hier

allerdings wäre das nicht besonders klug, da fehler im script dann auch gern fatale folgen haben können.
ich rate also dringend von der ausführung selbst geschriebener scripte mit root rechten ab!

Antwort 4 von Tuxfreund vom 24.01.2022, 16:09 Options

Zitat:
obgleich du auch das ganze script zunächst per sudo oder anderer methode als root ausführen kannst (mit eingabe des passwortes) und so die passwortabfrage mitten im script unterbindest.

Kann ich bestätigen. Habs grad selber probiert.

Antwort 5 von Linux800 vom 24.01.2022, 19:44 Options

Vielen Dank für eure Hilfe, aber eine Lösung war das alles nicht - oder bin ich etwas dumm?

Wie kann ich nun ein Skript ausführen lassen, dass in seinem Innern Befehle ausführt die root-Rechte verlangen?

Ich habe auch visudo probiert, aber auch damit keinen Erfolg gehabt...

Antwort 6 von Jaja vom 24.01.2022, 19:51 Options

Zitat:
Wie kann ich nun ein Skript ausführen lassen, dass in seinem Innern Befehle ausführt die root-Rechte verlangen?


ich denke du hast das prinzip noch nicht verstanden:

es darf doch nicht möglich sein, als normaler nutzer root rechte zu erlangen, in dem man einfach die gewünschten befehle (die man nicht ausführen darf, sondern nur root) in ein script schreibt und dann einen "magischen trick" anwendet, damit man eben jenes passwort zur erlangung der root rechte nicht nötig ist?!

entweder du hast das passwort zu beginn anzugeben (wie antw. 3), oder an der entsprechenden stelle im script (wie du es schon hast), oder aber du lässt das script von einem dienst starten, der sowieso schon root rechte hat.

letzteres wäre z.b. über einen cron job möglich, oder gar einem init script oder z.Z. noch Xorg.

Antwort 7 von Linux800 vom 24.01.2022, 20:01 Options

@jaja

warum ist/soll es nicht möglich sein ein Skript aufzurufen, das ggf. ein weiteres Skript aufruft, dass dann mit Superuserrechten arbeitet. Gibt es denn keine Möglichkeit in einem Skript den SU oder SUDO Befehl mit Angabe des Passwortes aufzurufen?

Letztlich möchte ich natürlich das Skript täglich per cron aufrufen lassen. Dazu würde ich in Ubuntu 9.10 Anwendungen -> Systemwerkzeuge -> geplante Aufgaben nehmen. Das ist eine GUI für cron. Soweit ich weiß, werden die von dort aufgerufenen Skripte mit den Rechten des angemeldeten Anwenders ausgeführt, weshalb meine Probleme auftreten.

:)

oder doch besser :( ?

Antwort 8 von htt vom 24.01.2022, 20:39 Options

Hallo,

in ein Skript das root-Passwort schreiben, das ist wirklich Klasse.
Du kannt auch gleich mit root_rechten starten, dann gibt es das Problem nicht.

Gruß

Antwort 9 von Jaja vom 24.01.2022, 22:02 Options

Zitat:
Soweit ich weiß, werden die von dort aufgerufenen Skripte mit den Rechten des angemeldeten Anwenders ausgeführt, weshalb meine Probleme auftreten.


schau mal hier - unten ist auch der umgang mit der contab des root beschrieben.
setzt du dort dein script ein, so wird es auch mit root rechten ausgeführt. dein sudo bzw. su kannst du so im script weglassen und es wird auch nicht nach irgendwelchen passworten gefragt.
allerdings brauchst du einmalig zum erstellen des cron job (crontab des root) natürlich das passwort. ;)

Zitat:
warum ist/soll es nicht möglich sein ein Skript aufzurufen, das ggf. ein weiteres Skript aufruft, dass dann mit Superuserrechten arbeitet.


was würdest du von der sicherheit eines systemes halten, wenn es so einfach wäre, deren sicherheit (im betrieb) zu umgehen. böse gesagt wäre das wohl windows style ;)


Zitat:
Gibt es denn keine Möglichkeit in einem Skript den SU oder SUDO Befehl mit Angabe des Passwortes aufzurufen?


nein.

Ähnliche Themen

Root Passwort
Redneb  11.11.2008 - 42 Hits - 5 Antworten

Root Rechte für alle..?
ReinhardNRW  06.12.2008 - 27 Hits - 1 Antwort

Shell-Skript Autostart
T-Boy00  29.12.2008 - 53 Hits - 3 Antworten

Hostname im bash-skript ausgeben?
IrrerTux  11.01.2010 - 266 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026