# Script als root ausführen?

## deranonyme

Hallo

Ich habe mir ein Wacom Intuos 4 zugelegt. Um bei diesem genialen Tablet die Beschriftung der Tasten über die intgrierten OLED's anzuzeigen habe ich ein recht simples Proggy gefunden. 

Hier ist das Tool und die Anleitung:

http://braindump.kargulus.de/?p=321

Leider ist es für Ubuntu und arbeitet mit sudo. Da sudo aber ein Passwort verlangt ist es, zumindest aus meiner Sicht, unter Gentoo so nicht zu verwenden. Zumal der Kerneltreiber erst mal entladen wird und dann wieder geladen wird. Wie könnte ich das sinnvoll realisieren? 

Das ist der Code:

```
#! /bin/bash

# Device name of the tablet retrieved from xsetwacom

DEVICE="Wacom Intuos4 6x9 pad"

# Path to the tablet config application

LEDCMD=./intuos4-led-config

sudo modprobe -r wacom

sudo $LEDCMD --button 1 --icon Undo

sudo $LEDCMD --button 2 --icon Redo

sudo $LEDCMD --button 3 --icon ZoomIn

sudo $LEDCMD --button 4 --icon ZoomOut

sudo $LEDCMD --button 5 --icon Save

sudo $LEDCMD --button 6 --icon Alt

sudo $LEDCMD --button 7 --icon Ctrl

sudo $LEDCMD --button 8 --icon ArrowUp

sudo modprobe wacom

sleep 1

xsetwacom --set "$DEVICE" Button 2 "key ctrl y"

xsetwacom --set "$DEVICE" Button 3 "key ctrl z"

xsetwacom --set "$DEVICE" Button 8 "key plus"

xsetwacom --set "$DEVICE" Button 9 "key minus"

xsetwacom --set "$DEVICE" Button 10  "key ctrl s"

xsetwacom --set "$DEVICE" Button 11 "key alt"

xsetwacom --set "$DEVICE" Button 12 "key ctrl"

xsetwacom --set "$DEVICE" Button 13 "key shift"
```

Wäre schön, wenn jemand einen Tip für mich hätte.

Danke Frank

----------

## papahuhn

Du kannst doch sudo so einrichten, dass es für Deinen User funktioniert.

----------

## deranonyme

Gibt es keine Möglichkeit das dem Modul gleich mit zu geben beim laden?

Frank

----------

## Josef.95

Schau doch mal ob dir die Gentoo Sudo(ers) Anleitung zunächst weiterhilft.

----------

## tazinblack

Unschön, aber geht auch :

Stichwort: suid   -> http://de.wikipedia.org/wiki/Setuid

Aber sehr mit Vorsicht zu genießen, das wird schnell zur Sicherheitslücke auf dem System.

Bevor mich hier alle steinigen: Ich sags nur der Vollständigkeit halber.

----------

## mv

 *tazinblack wrote:*   

> Stichwort: suid   -> http://de.wikipedia.org/wiki/Setuid
> 
> Aber sehr mit Vorsicht zu genießen, das wird schnell zur Sicherheitslücke auf dem System.

 

Bei Scripten ist es unvermeidbar eine Sicherheitslücke (Race Condition beim Öffnen durch den Interpreter) und geht deswegen unter Linux für Scripte gar nicht.

SInnvoller ist es, ein Script zu schreiben, das dann durch sudo ausgeführt wird. Dazu muss das Script aber sicher sein (z.B. keine Argumente und keine relativen Pfade verwenden wie im geposteten Script).

So ganz verstehe ich den Zweck des Scripts nicht. Wäre es nicht sinnvoller, ein Init-Script zu schreiben? Oder ein Script das von udev in einer Regel aufgerufen wird, falls das Teil erst später angesteckt wird? In beiden Fällen würde das Script ja automatisch als root ausgeführt.

----------

