su im Skript??

Diskutiere su im Skript?? im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo, Ich habe ein Skript zum Uhren stellen geschrieben. Einmal als root ausführen und nach 5 Sekunden ist die Uhrzeit richtig. Jetzt wollte...

  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. Sudo in Skripten

    Sudo in Skripten: Hallo, ich schreibe gerade an einem Deployment-Skript, was Dateien von einer Debian-Maschine auf einen Remote-Server (ebenfalls Debian) kopiert....
  2. HandbrakeCLI Shell Skript

    HandbrakeCLI Shell Skript: Hallo zusammen und Schöne grüße aus Süddeutschland. Ich versuche mich gerade an einem Skript für Handbrake. Ich bin ein Anfänger , und habe mir...
  3. Shell Skript beschleunigen

    Shell Skript beschleunigen: Hallo zusammen, ich bin neu hier und hab gerade angefangen mich an Schell Skripte zu wagen. Nun hab eine Frage ich hab ein Skript geschrieben und...
  4. 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...
  5. [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...