cn
Anmeldungsdatum: 6. Juni 2005
Beiträge: 356
Wohnort: Oberösterreich
|
Hi! Standardmäßig ist meine Wireless-LAN-Karte deaktiviert. Zum Aktivieren habe ich mir ein kleines Shell-Skript geschrieben, das allerdings klarerweise Befehle enthält, die man nur als sudoer oder root ausführen darf. Wenn ich nach dem Hochfahren mein Skript starten will (was auch des öfteren vorkommt), muss ich nach dem Login ein zweites Mal mein Passwort eingeben, um Wireless LAN zu aktivieren. Gibt es eine Möglichkeit, bestimmte Root-Skripts auch ohne Eingabe des Passworts ausführen zu können? mfg cn
|
dusselmann
Anmeldungsdatum: 6. Mai 2005
Beiträge: 1055
|
Hi, hab das gleich Problem. Wollte das mit sudo angehen.. Hab bloß noch keine Zeit gefunden, da grad mein Filesystem (vermutlich) futsch ist. Mit sudo kannst du Scripts unter deinem Login als root ausführen lassen. Schau mal in diese Datei: /etc/sudoers Gruß, Dussel
|
blackbird
Anmeldungsdatum: 19. November 2004
Beiträge: 3396
Wohnort: Hermagor, Kärnten - Österreich
|
suid flag setzen. dann wird das Programm als root gestartet. 😛
|
umarmung
Anmeldungsdatum: 26. Oktober 2004
Beiträge: 5632
|
Mit dem Befehl sudo visudo die sudoers Datei bearbeiten. (Bitte nicht direkt die config bearbeiten, immer visudo benutzen.) Folgende Zeile einfügen: benutzer ALL= NOPASSWD: /Pfad/zum/Skript.
|
cn
(Themenstarter)
Anmeldungsdatum: 6. Juni 2005
Beiträge: 356
Wohnort: Oberösterreich
|
Danke euch allen für die rasche Antwort. Werd ich gleich mal ausprobieren!
|
cn
(Themenstarter)
Anmeldungsdatum: 6. Juni 2005
Beiträge: 356
Wohnort: Oberösterreich
|
Jetzt habe ich mit dem s-flag in den Dateirechten und mit visudo ein bisschen herumgespielt, bin aber leider zu keinem Erfolg gekommen. Ich muss noch immer das Passwort eingeben. Meine aktuelle Situation sieht wie folgt aus: #!/bin/csh
set me = `whoami`
set script_home = /opt/custom_scripts
echo Running \"$1\" as $me\:
echo ""
switch ( $1 )
case wireless:
$script_home/wireless
breaksw
case nowireless:
$script_home/nowireless
breaksw
case audacity:
$script_home/audacity
breaksw
default
echo Error: Invalid script name \"$1\"
breaksw
endsw
Inhalt von /opt/custom_scripts/:
root@NB-Christian:/opt/custom_scripts # ls -l
total 16
-rwsr-sr-x 1 root root 37 2005-06-15 22:31 audacity
-rwsr-sr-x 1 root root 26 2005-06-15 23:13 nowireless
-rwsr-sr-x 1 root root 362 2005-06-16 14:04 sudonp
-rwxr-xr-x 1 root root 11643 2005-06-16 00:12 sudonp_
-rwsr-sr-x 1 root root 211 2005-06-12 15:18 wireless
In der Datei /etc/sudoers habe ich die Zeile "cn ALL=(ALL) NOPASSWD: /opt/custom_scripts/sudonp" hinzugefügt. Ich vermute dass es an irgendeiner Kleinigkeit scheitert. Vielleicht habe ich irgendwas vergessen oder nicht beachtet? Danke im Voraus!
|
dusselmann
Anmeldungsdatum: 6. Mai 2005
Beiträge: 1055
|
umarmung hat geschrieben: Mit dem Befehl sudo visudo die sudoers Datei bearbeiten. (Bitte nicht direkt die config bearbeiten, immer visudo benutzen.) Folgende Zeile einfügen: benutzer ALL= NOPASSWD: /Pfad/zum/Skript.
funktioniert bei mir auch nicht: dusselmann ALL= NOPASSWD: /home/dusselmann/scripts/RunApache eine Idee? Gruß, Dussel
|
dusselmann
Anmeldungsdatum: 6. Mai 2005
Beiträge: 1055
|
auch wenn ich das Leerzeichen nach dem "=" weg lasse, funktioniert es nicht... Irgendjemand wird sowas doch sicherlich verwenden und könnte uns vielleicht helfen... ☺ Gruß, Dussel
|
umarmung
Anmeldungsdatum: 26. Oktober 2004
Beiträge: 5632
|
dusselmann hat geschrieben: [...] Irgendjemand wird sowas doch sicherlich verwenden und könnte uns vielleicht helfen... ☺ [...]
Natürlich verwendet das jemand, ich poste doch nix Ungetestetes. ☺ Habt ihr u.U. in der Zeile Defaults etwas geändert?
|
dusselmann
Anmeldungsdatum: 6. Mai 2005
Beiträge: 1055
|
nein. könnte es an dem Leerzeichen nach dem NOPASSWD: liegen? Gruß, Dussel
|
umarmung
Anmeldungsdatum: 26. Oktober 2004
Beiträge: 5632
|
Nein, bei mir sieht eine Zeile z.B. so aus:
holger ALL= NOPASSWD: /usr/bin/dialoff, /usr/bin/dialup Bei mir ist also auch ein Leerzeichen nach NOPASSWD: Hast du schon mal andere Befehle zum Testen eingetragen? Oder poste mal deine komplette sudoers Datei.
|
mehrfachstecker
Anmeldungsdatum: 18. Dezember 2004
Beiträge: 661
Wohnort: Neuwied
|
blackbird hat geschrieben: suid flag setzen. dann wird das Programm als root gestartet. 😛
Das suid flag verbietet der Linux-Kernel bei Skripten. Du musst also den Weg über /etc/sudoers gehen.
|
dusselmann
Anmeldungsdatum: 6. Mai 2005
Beiträge: 1055
|
So sieht mein sudoers aus: # /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults
Defaults !lecture,tty_tickets,!fqdn
# User privilege specification
root ALL=(ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
dusselmann ALL=NOPASSWD: /home/dusselmann/scripts/RunApache
dusselmann ALL=NOPASSWD: /home/dusselmann/scripts/StopApache Gruß, Dussel
|
blackbird
Anmeldungsdatum: 19. November 2004
Beiträge: 3396
Wohnort: Hermagor, Kärnten - Österreich
|
mehrfachstecker hat geschrieben: blackbird hat geschrieben: suid flag setzen. dann wird das Programm als root gestartet. 😛
Das suid flag verbietet der Linux-Kernel bei Skripten. Du musst also den Weg über /etc/sudoers gehen.
Hab ich auch schon herausgefunden. 😳
|
xecto
Anmeldungsdatum: 1. März 2005
Beiträge: 1349
Wohnort: Österreich, Baden
|
dusselmann ALL= NOPASSWD: /home/dusselmann/scripts/StopApache Es sollte eigentlich so funktionieren... lg xecto
|