su im Skript??

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von D.Cent, 13.10.2006.

  1. D.Cent

    D.Cent Foren As

    Dabei seit:
    27.08.2006
    Beiträge:
    90
    Zustimmungen:
    0
    Hallo,

    Ich habe ein Skript zum Uhren stellen geschrieben. Einmal als root ausführen und nach 5 Sekunden ist die Uhrzeit richtig. Jetzt wollte ich mein Skript erweitern:

    Und zwar, wenn ich dieses Skript nicht als root ausführe, dass ich dann darauf hingewiesen werde, und mein root-password eigeben muss. Doch wenn ich es ausführe, passiert folgendes:

    Bitte als root einloggen, um Uhr zu stellen.
    Passwort:
    linux:/home/philipp/cprogs/sh-skripte #
    linux:/home/philipp/cprogs/sh-skripte # exit
    exit
    ANMELDUNG FEHLGESCHLAGEN!

    Das Problem ist also, dass die Befehle nicht als root ausgeführt werden.

    Das Programm gibt es unten.

    Kann mir jemand helfen?
     

    Anhänge:

  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 whopper, 13.10.2006
    whopper

    whopper Foren As

    Dabei seit:
    01.10.2006
    Beiträge:
    96
    Zustimmungen:
    0
    Vielleicht alles was su ausführen soll in "" oder so.
     
  4. grey

    grey -=[GHOST]=-

    Dabei seit:
    28.07.2006
    Beiträge:
    303
    Zustimmungen:
    0
    So funktioniert es nicht. Momentan ist der Ablauf deines Scriptes folgender:
    • Script wird gestartet
    • echo "Bitte als root ..."
    • su
    • und hier kommt der Knackpunkt -> das Script läuft erst weiter, wenn du den SU-Mode [ich nenn das jetzt mal so] wieder verläßt.

    Wenn du dein Script als normaler User ausführen willst, dann kommt sudo (oder ähnliche Tools) in Frage.
    Eine andere Möglichkeit gibt es mit SU.
    Code:
          1 #!/bin/bash -x
          2 # ich bin ein kleines Test-Script und gebe den Namen des ausführenden Users aus
          3 whoami
    Dann kannst du in der Console eingeben:
    Code:
    grey@mod-001:~$ su -c ./test.sh
    Password:
    + whoami
    root
    grey@mod-001:~$
    Versuch es mal, vielleicht hilft dir das weiter.
     
  5. #4 whopper, 13.10.2006
    whopper

    whopper Foren As

    Dabei seit:
    01.10.2006
    Beiträge:
    96
    Zustimmungen:
    0
    naja vielleicht in script

    su -c "alle möglichen befehle"

    aber ich glaub das geht nicht.
    ich würds mit sudo machen
     
  6. Zico

    Zico Lebende Foren Legende

    Dabei seit:
    16.04.2004
    Beiträge:
    1.559
    Zustimmungen:
    0
    ja man müsste quasi alle Befehle in "su -c" legen, falls kein root aktiv.

    Aber einfach das Script "als root weiterlaufen lassen" geht nicht.

    Ich persönlich würds folgendermaßen machen:
    Bei user ($UID > 0) -> Meldung: "Script needs to run as root", Script beendet sich.
    Deutlich weniger Aufwand. ;)
     
  7. #6 whopper, 13.10.2006
    whopper

    whopper Foren As

    Dabei seit:
    01.10.2006
    Beiträge:
    96
    Zustimmungen:
    0
    würds nicht auch gehen, bei User ID > 0
    einfach das script nochmal ausführen mit su
     
  8. Zico

    Zico Lebende Foren Legende

    Dabei seit:
    16.04.2004
    Beiträge:
    1.559
    Zustimmungen:
    0
    Dann haste das Teil aber quasi in zwei Instanzen laufen... Erstens nicht grad sauber und zweitens unnötig kompliziert (was passiert, wenn die root-Instanz beendet ist)
     
  9. #8 whopper, 14.10.2006
    whopper

    whopper Foren As

    Dabei seit:
    01.10.2006
    Beiträge:
    96
    Zustimmungen:
    0
    Ich würds ja auch nicht so machen.

    (naja dann beendet sich das script :) )
     
  10. #9 root1992, 14.10.2006
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    Ich würde entweder sudo oder einfach das Skript als root ausführen. Z.B. kannst du ja mit <Strg>+<Alt>+<F2> wechseln und dich dort als root anmelden und ausführen.
     
  11. D.Cent

    D.Cent Foren As

    Dabei seit:
    27.08.2006
    Beiträge:
    90
    Zustimmungen:
    0
    Danke für die Antworten :D aber es gibt leider noch einen Haken an sudo:

    Zum Beispiel, ich mache das hier:

    dcent@linux:~> sudo netdate

    dann passiert das:

    root's password:
    sudo: netdate: command not found

    Was kann man da machen??
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. #11 root1992, 14.10.2006
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    schon mal man sudo gemacht? Soviel ich weiß musst du es erst in eine Datei schreiben.
     
  14. Lumpi

    Lumpi Haudegen

    Dabei seit:
    14.06.2006
    Beiträge:
    663
    Zustimmungen:
    0
    Ort:
    Dessau
    Hallo

    mit sudoers setzt du (zumindest bei Suse) die Rechte,
    wer was mit sudo ausführen darf.
    man sudoers

    Gruß Lumpi
     
Thema:

su im Skript??

Die Seite wird geladen...

su im Skript?? - Ähnliche Themen

  1. Kontextmenü mit einem Skript verbinden

    Kontextmenü mit einem Skript verbinden: Abend, wenn ich z. B. eine simple Umwandlung eines Bildformates in ein anderes über das KDE-Kontextmenü (Servicemenü nennt es sich im KDE oder...
  2. [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen

    [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen: Hallo, ich hoffe ihr könnt mir helfen. Ich entwerfe im Moment ein Skript, welches den Callmonitor (Telnet) auf meiner FritzBox abfragt und wenn...
  3. Kunden-Skript ausgelöst durch Linux-Cluster Pacemaker

    Kunden-Skript ausgelöst durch Linux-Cluster Pacemaker: Hallo! Ich komme aus der AIX-Welt wo es im HACMP-Cluster die Möglichkeit der Ausführung eines Start- bzw. Stop-Skriptes im Zuge einer...
  4. Shell-Skript Datum in einer Datai suchen

    Shell-Skript Datum in einer Datai suchen: Hallo zusammen Ich komm eigentlich aus der Klicki-Bunti-Welt von Windows. Seit geraumer Zeit versuche ich meine Künste mit verschiedenen...
  5. Nmap 7.10 mit zahlreichen neuen Skripten und Fingerabdrücken

    Nmap 7.10 mit zahlreichen neuen Skripten und Fingerabdrücken: Der Nmap-Entwickler Gordon »Fyodor« Lyon hat bekannt gegeben, dass eine neue Version des populären, freien Netzwerkscanners veröffentlicht wurde....