im Script als root anmelden..

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von faber38, 02.07.2006.

  1. #1 faber38, 02.07.2006
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    hi...
    ich möchte mich "im" script als root anmelden um einen vorgang zu starten der nur als root möglich ist..

    danach soll die shell wieder geschlossen werden...
    nur weiss ich noch nicht wie ich die variable $passwd (wird per inputbox ermittelt)
    in der shell mit "su -l root " übergeben kann !
     
  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. hwj

    hwj Doppel-As

    Dabei seit:
    23.06.2006
    Beiträge:
    131
    Zustimmungen:
    0
    Ort:
    Bei Buxtehude
    Aus dem Bauch raus würde ich mal sagen, geht so nicht, ist auch viel zu unsicher. Andere Benutzer könnten über "ps" die Argumente sehen.
    Schon mal "sudo" angesehen, dort könntest DU viel sicherer etwas von root oder anderen usern machen lassen.

    Gruss
    Heiko
     
  4. #3 faber38, 02.07.2006
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    das ist schlecht....
    dann werde ich umdenken müssen...und dem user die rechte zuweisen...
     
  5. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Nein, musst Du nicht. hwj hat Dir doch bereits den Tipp sudo gegeben. Das ist genau für Deine Zwecke gedacht.

    Gruss, Xanti
     
  6. #5 faber38, 02.07.2006
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    mmmh...ich poste mal den script..
    ich würde gerne noch eine abfrage dazu packen oder eben diesen als root ausführen lassen...
    meine Frau und meine Tochter kennen sich mit Linux nicht aus..und wenn die eine diskette einlegen ..tut sich ja nichts...

    daher dieser script.
    PHP:
    #!/bin/sh
    # by Faber38
    # Laufwerk A Floppy oder LS120 mounten/umounten


    Xdialog --yesno "1.44MB(Yes) oder LS120(No) ?" 0 0 
    # 0=1.44MB ; 1=LS120
    antwort=$?

    #Bildschirm löschen
    clear
    if [ $antwort ]
    then 
     Xdialog 
    --yesno "Diskette (ja)mounten/(nein)umounten" 0 0
     
    #0=mounten ; 1=umounten
     
    antwort=$?

     
    # Bildschirm löschen
     
    clear
     
    if [ $antwort ]
     
    then
      Xdialog 
    --yesno "Diskette eingelegt ??" 0 0
      antwort
    =$?
      if [ 
    $antwort ]
      
    then
       mount 
    /dev/fd0 /media/floppy/
       
    Xdialog --infobox "Diskette erfolgreich eingebunden !" 5 40
       sleep 3
        
    else
         exit
       
    fi
      
    else
       
    umount /dev/fd0 /media/floopy/
       
    Xdialog --infobox "Diskette bitte entfernen !" 5 40
       sleep 3
     fi
    else

    # ----------------------------------------------------------------


    Xdialog --yesno "Diskette (ja)mounten/(nein)umounten" 0 0
    #0=mounten ; 1=umounten
    antwort=$?

    # Bildschirm löschen
    clear
    if [ $antwort ]
    then
     Xdialog 
    --yesno "Diskette eingelegt ??" 0 0
     antwort
    =$?
     if [ 
    $antwort ]
     
    then
      mount 
    /dev/hdb /media/LS120/
      
    Xdialog --infobox "Diskette erfolgreich eingebunden !" 5 40
      sleep 3
       
    else
        exit
      
    fi
     
    else
      
    umount /dev/hdb /media/LS120/
      
    Xdialog --infobox "Diskette bitte entfernen !" 5 40
      sleep 3
    fi
    fi
     
  7. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Wenn ich es richtig erkannt habe, geht es in dem Skript nur um das Einhaengen eines Mediums, oder? Dazu brauch man nicht root zu sein, wenn man in der fstab 'user' oder 'users' den Optionen beifuegt.

    Vielleicht habe ich ja auch was uebersehen.
     
  8. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Wie gesagt: sudo mount und sudo umount. Wenn Dir dies zu allgemein ist, schau Dir /etc/devfs.conf an. Hier (unter FreeBSD) kann man darin den Zugriff auf Geräte steuern (ich hoffe, dass es auch unter Linux so ist).

    Gruss, Xanti

    edit: oder so, wie rikola es beschreibt.
     
  9. #8 faber38, 02.07.2006
    Zuletzt bearbeitet: 02.07.2006
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    dachte ich auch...
    nur wenn ich in der shell "mount /dev/hdb /media/LS120" eintippe
    kommt immer
    mount: Nur „root“ kann dies tun

    melde ich mich als root an funktionierts..

    sudo mount .. fragt mich nach dem passwort... und das hat meine Famiolie nicht...
    daher suche ich ja eine lösung das passwort per variable zu übergeben

    fstab:
    /dev/fd0 /media/floppy auto noauto,user,sync 0 0
    /dev/hdb /media/LS120 auto noauto,user,sync 0 0
     
  10. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Um als user die Eintraege in der fstab zu nutzen, darf man nur ein Argument (device oder mount-Punkt) angeben, also entweder 'mount /dev/hdb' oder 'mount /media/LS120' (welches, ist egal).
     
  11. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    man sudo + visudo.
     
  12. #11 faber38, 02.07.2006
    Zuletzt bearbeitet: 03.07.2006
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf

    super.. das wars... danke.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1:oldman

    hier nun eine kurze variante...
    mir gefällt diese besser
    PHP:
    #!/bin/sh
    # by Faber38
    # Laufwerk A Floppy oder LS120 mounten/umounten

    udisk=`dialog --radiolist "Welches Medium ....?" 0 0 2 /dev/fd0 "" off /dev/hdb "" on 3>&1 1>&2 2>&3
    umnt=`dialog --radiolist "welcher Vorgang ...?" 0 0 2 mount "" on umount "" off 3>&1 1>&2 2>&3`


    dialog --clear
    $umnt $udisk
    man lernt jeden tag mehr
     
  13. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Aus reiner Neugier: Welcher Stream hat denn die Nummer 3? Oder ist das etwas dialog-Spezifisches?
     
  14. #13 faber38, 03.07.2006
    Zuletzt bearbeitet: 03.07.2006
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    3>&1 1>&2 2>&3

    ist soweit ich weiß dialog spezifisch... man kann hier auch 5 oder mehr einträge machen.. ohne die 3>&1 1>&2 2>&3 zu verändern

    ich lerne gerade aus dem Buch
    Shell-Programmierung von Jürgen Wolf
    http://www.edv-buchversand.de/suse/product.php?cnt=product&id=gp-683&lng=

    ps:
    Auszug:
    Dies ist ein nachteil von "dialog", weil hierbei das Ergebnis immer auf die Standartfehlerausgabe statt auf die Standartausgabe erfolgt.
    und um die Dialogausgabe zu weiteren Verarbeitung in eine Variable zu schreiben,muss man ebenso vorgehen.
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. #14 phrenicus, 03.07.2006
    Zuletzt bearbeitet: 03.07.2006
    phrenicus

    phrenicus Routinier

    Dabei seit:
    24.05.2006
    Beiträge:
    253
    Zustimmungen:
    0
    Ort:
    Tübingen, Germany
    Das ist ein eigener und nicht Dialog-spezifisch. Anders als bei den Standard-Kanälen (STDIN, STDOUT oder STDERR) sind die eigenen aber immer mit einem File verbunden.

    BEGIN EDIT
    Obiges ist gelogen. Du kannst sie auch direkt mit STDOUT verbinden (siehe Beispiele im Link unten). Was ich behauptet habe, ist nur in meinen Skripten so ;-)
    END EDIT

    Man kann sie anlegen mit dem exec-Kommando:

    Code:
    prompt:~ > exec 3>/tmp/meinfilet
    
    und anschließend den STDOUT mit Kanal 3 zusammen legen:

    Code:
    bla-irgend-ein-kommando 1>&3
    
    Auflösen kann man sie auch wieder:

    Code:
    exec 3>&-
    
    Siehe auch: http://www.faqs.org/docs/abs/HTML/io-redirection.html


    Gruß
     
  17. #15 faber38, 03.07.2006
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    cool... danke für die ausführliche beschreibung...

    man merkt immer wieder..."wissen ist macht"
    auch wenn man ein Buch liest...versteht man ohne hilfe nicht immer alles
     
Thema:

im Script als root anmelden..

Die Seite wird geladen...

im Script als root anmelden.. - Ähnliche Themen

  1. Script um Volumes u. vroot verzeichniss auszulesen

    Script um Volumes u. vroot verzeichniss auszulesen: Hallo, Ich bräuchte dringend Hilfe: Ich möchte gerne mehrere Filer auslesen, zu diesem Zweck möchte ich gerne ein ksh script verwenden....
  2. Startscript als User nicht als root ausführen

    Startscript als User nicht als root ausführen: Hallo Zusammen, wie es der Titel bereits andeutet, möchte ich ein Script als User und nicht als root starten. Leider funktioniert es nur als...
  3. iptables Script, für Rootserver tauglich?

    iptables Script, für Rootserver tauglich?: Ich hab mal bissl gegoogelt, nach einem passenden Script, welches ich auf meinem Rootserver gerne als Firewall einsetzen würde. Gefunden hab ich...
  4. Ubuntu Script mit root Rechten oder boot.local

    Ubuntu Script mit root Rechten oder boot.local: Hallo zusammen, ich habe mir gerade hier Ubuntu installiert und habe schon alles konfiguriert, Samba, Fileserver etc. nun stehe ich aber noch vor...
  5. Script als root ausführen

    Script als root ausführen: Moin, ich bin neu hier, hab aber schon ein bissel mit der SuSE rumgedoktert. Folgendes Problem will ich lösen: Meiner gutsten hab ich Linux...