Frage: Script setuid root

Ich habe ein Notebook, das ich in verschiedene Umgebungen benutze, bei
der Arbeit, zu Hause, ...

Ich erledige das Wechseln der Umgebung in Scripts, hier z.B. das Script
um im DNET Netz (Internet über Modem) zu Arbeiten:

--------- FILE: godnet ----------------------
#!/bin/bash

* Patrick Ohnewein (pohnewein(a)prodata.it) wrote:

Ich habe ein Notebook, das ich in verschiedene Umgebungen benutze, bei
der Arbeit, zu Hause, ...

Ich erledige das Wechseln der Umgebung in Scripts, hier z.B. das Script
um im DNET Netz (Internet über Modem) zu Arbeiten:

--------- FILE: godnet ----------------------
#!/bin/bash
#
# Setzt die Umgebung für die Arbeit im Internet über die dnet
#
rm -f /etc/hosts
ln -s /etc/hosts.dnet /etc/hosts
rm -f /home/pazzo/.mozilla/default/myaccount/prefs.js
ln -s /home/pazzo/.mozilla/default/myaccount/prefs.js.dnet
/home/pazzo/.mozilla/default/myaccount/prefs.js
--------- END FILE: godnet ----------------------

Als erstes lösche ich /etc/hosts, welches bei mir nur ein Link auf eine
umgebungsabhängige Datei ist. Dann setze ich eben den Link auch
/etc/hosts.dnet, eben jene für die DNET. Das selbe mache ich mit den
Preferences File von Mozilla, da ich im DNET-Netz keinen Proxy verwenden
muss, in andere Umgebung der Proxy aber verpflichtend ist, ...

Alles funktioniert eigentlich recht gut, nur muss ich immer root sein um
das Script auszuführen. Hätte das Script setuid root gesetzt und meiner
Gruppe Ausführrechte gegeben:

[inspiron]pazzo$ ls -ld /usr/bin/godnet
-rwsr-x--- 1 root pazzo 289 Jun 2 15:14 /usr/bin/godnet

Wenn ich das Script aber ausführe erhalte ich die Fehlermeldung:

[inspiron]pazzo$ godnet
rm: Entfernen (unlink) von »/etc/hosts« nicht möglich: Keine Berechtigung
ln: »/etc/hosts«: Datei existiert

Kann mir da jemand weiterhelfen? Habe ich was übersehen?

SetUID bits in scripts werden in Linux vom OS ignoriert [Gott sei dank]

Gibts viele Sicherheitsloecher sonst. Sudo oder SuidPerl benutzen im
Fall.

Ciao,
Michele

Ach so geht das, dann kann ich wohl kopfen :wink:

Danke!

Patrick

baldessari(a)tiscalinet.it wrote: