kanotix.com

Scripte - Newbie hat keine Ahnung von su und sudo

acheronta.movebo - 17.09.2006, 10:22 Uhr
Titel: Newbie hat keine Ahnung von su und sudo
Ich habe hier ein paar Skripte, die ich immer über das KDE-Menü aufrufe (VPN, Tor, Privoxy, Router reseten, Truecrypt).

Die Skripte hatte ich schon zu meinen Kubuntuzeiten geschrieben, doch nun habe ich unter Kanotix Probleme mit su und sudo. Einige Dienste, wie Tor etwa, kann ich nur mit Rootrechten starten. Aber der Befehl

Code:
#!/bin/bash...
echo starte Tor und Privoxy
sudo /etc/init.d/tor start
sudo /etc/init.d/privoxy start
echo fertig


funktioniert nicht mehr, obwohl ich in der Sudo-Gruppe bin. Jetzt habe ich mit su, su -c, su -l rumprobiert, aber es will alles nicht gehen.
devil - 17.09.2006, 10:36 Uhr
Titel: Newbie hat keine Ahnung von su und sudo
sux sollte gehen

greetz
devil
acheronta.movebo - 17.09.2006, 10:57 Uhr
Titel:
Eine Lösung kann lauten

Code:
#!/bin/bash...
echo starte Tor und Privoxy
sux root /etc/init.d/tor start
sux root /etc/init.d/privoxy start
echo fertig


Edit: Aber dann muß ich ja das Paßwort zweimal eingeben. Bin faul. Geht es auch nur mit einer Eingabe?

Edit 2: Beim Gebrauch von sudo gibt die Konsole aus, daß ich nicht in der sudoers-Datei bin?!
ockham23 - 17.09.2006, 11:27 Uhr
Titel:
This incident will be reported! Lachen
acheronta.movebo - 17.09.2006, 11:42 Uhr
Titel:
Aber ich bin doch in der sudo-Gruppe.
hubi - 17.09.2006, 11:51 Uhr
Titel:
Bin mir nicht ganz sicher mit Diensten und sudo, aber so könnte es gehen:
Code:
# visudo

Dort trägst du ein:
Code:
username        ALL=NOPASSWD: /etc/init.d/tor
username        ALL=NOPASSWD: /etc/init.d/privoxy
"username" natürlich durch den richtigen Nutzernamen ersetzen.

imho sollte dann dein Script auch als User laufen, ohne dass du ein Passwort eingeben musst.

Mehr dazu in "man visudo" oder von Leuten, die sich da viel besser auskennen.

hubi
acheronta.movebo - 17.09.2006, 12:03 Uhr
Titel:
Sieht gut aus, so ungefähr hatte ich das auch verstanden, aber halt nur so ungefähr.
blauweiss - 18.09.2006, 18:31 Uhr
Titel:
Wenn du schon scripte programmiert hast, warum erstellst nicht ein script,
sagen wir mal 'acheronta.movebo' und speicherst das in /usr/local/bin/.
Das einzige mit sudo-root-Rechten auszuführende Programm,
wäre dann ausschliesslich 'acheronta.movebo'.
Eintrag in /etc/sudoers:
Benutzer Rechnername = NOPASSWD: /usr/local/bin/acheronta.movebo

Das script wird dann mit einem Parameter aufgerufen, z.B. root-konsole:
sudo acheronta.movebo KONSOLE

Das script 'acheronta.movebo' würde so aussehen:

#!/bin/sh
case $1 in
KONSOLE)
konsole &;;
*)
echo "nichts Zutreffendes gefunden";;
esac

erweitere es wie du willst für tor, privoxy, usw...
Mach das script nur für dich einseh- und ausführbar und trag dich in die Gruppe staff ein.
acheronta.movebo - 22.10.2006, 11:29 Uhr
Titel:
blauweiss,

Danke für Deinen Tipp. Hatte gar nicht mehr in den Beitrag reingeguckt. Ich habe aber überhaupt keine Ahnung von Skripten, so daß ich Dein Skript nicht lesen kann. Die Idee verstehe ich schon, aber wie ich es in ein Skript umsetze, weiß ich nicht. Ergänze bitte mal Dein Skript oben um einen Eintrag wie "/etc/init.d/tor start ". Vielleicht verstehe ich dann, wie ich eins erstelle, daß alle möglichen Befehle abarbeitet.
blauweiss - 22.10.2006, 21:59 Uhr
Titel:
Hi acheronta.movebo

Wenn der Eintrag in /etc/sudoers klar ist,
ein paar Beispiele fürs script /usr/local/bin/acheronta.movebo

Code:

#!/bin/sh

WERT=$1

case $WERT in
#-------------------------------------------------------
  ANONYM)
   #privoxy und tor (Proxyserver) starten oder beenden
   #Aufruf mit: sudo acheronta.movebo ANONYM
    proxy_start() {
      /etc/init.d/privoxy start
      /etc/init.d/tor start
    }
    proxy_stop() {
      /etc/init.d/tor stop
      /etc/init.d/privoxy stop
    }
    if [ "$(pidof privoxy)" == "" ]; then
      proxy_start
      echo "starte Proxyserver..."
    else
      proxy_stop
      echo "beende Proxyserver..."
    fi;;
#-------------------------------------------------------
  KONSOLE)
   #root-Konsole
   #Aufruf mit: sudo acheronta.movebo KONSOLE
    konsole &;;
#-------------------------------------------------------
  SYNAPTIC)
   #synaptic als root ausführen
   #Aufruf mit: sudo acheronta.movebo SYNAPTIC
    synaptic &;;
#-------------------------------------------------------
  KWRITE)
   #Datei als root bearbeiten
   #Aufruf mit: sudo acheronta.movebo KWRITE /Pfad/Datei
    kwrite $2 &;;
#-------------------------------------------------------
  *)
    echo "nichts Zutreffendes gefunden";;
esac

das script nur für dich les- und ausführbar machen:
Code:
chmod 700 /usr/local/bin/acheronta.movebo

acheronta.movebo - 23.10.2006, 12:09 Uhr
Titel:
Alles klar. Cool.
vb - 13.01.2008, 20:20 Uhr
Titel:
Hi,

ich bin noch fauler als meine Vorposter,
denen ich dankbar bin , weil sie mich schlauer machen...
Nachdem ich das mit visudo hingekriegt habe und auch das script
von blauweiss (Danke!) am laufen hab, wollte ich mir ein Icon auf den Desktop machen, der das Script startet.

Hab also eine neue Verknüpfung zu Befehl auf dem Desktop angelegt.
(Befehl sudo safesurf ANONYM), safesurf heisst das script bei mir und ist auch in der sudo-Liste...

Es geht auch, aber .. Starten macht er, beim stoppen (also wenn ich das Ding das 2. mal anklicke, dann hüpft der Cursor ewig lang, so wie wenn ein Programm nicht startet...
aus der Konsole heraus gehts ganz schnell, das stoppen.. hat einer ne Idee?

Viele Grüße

vb
besenmuckel - 13.01.2008, 20:49 Uhr
Titel:
rechtsklick auf das icon ->eigenschaften->programm->erweiterte option->start-startrückmeldung. hier haken rein oder raus. kannst es ja mal probieren.
vb - 13.01.2008, 21:02 Uhr
Titel:
Danke!! wieder was gelernt...

Grüße

vb
blauweiss - 20.01.2008, 17:35 Uhr
Titel:
vb hat folgendes geschrieben::
ich bin noch fauler als meine Vorposter,

Glaub ich nicht Sehr glücklich
Ich hab mir emelfm2 als Dateimanager ausgeguckt,
damit sind sämtliche der o.g. Befehle (und einige mehr) mit max. 2 Mausklicks erreichbar.
emelfm2 ist sowohl in der Optik, wie auch in der Belegung der buttons
oder des Kontextmenüs ziemlich wahlfrei zu konfigurieren...
emelfm2 ist eigentlich schon lange verfügbar und ich hoffe immernoch,
das es endlich mal bei debian aufgenommen wird Mit den Augen rollen
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007