PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : per script als su anmelden bzw. wieder aussteigen



Linuxneuling
03.12.2004, 13:42
Schreibe einen Skript, der mittels cron als root gestartet wird. Zuerst wird ein Entferntes Verzeichnis gemountet mit option -o user=xxxx,pwd=xxx was eigentlich nur root machen kann, dann soll der script auf ein user anmelden, der Besitzer die Daten und der Befehl su username funktioniert auch, jedoch möchte ich dass der user im skript noch abmeldet und als root umountet.

Z. B.:

mount -t smbfs -o username=administrator,pwd=xxx //servername/share /mnt/smbfs

su username

rsync -uvr /home/data /mnt/smbfs/

exit // das hier sollte ein Problem sein, da der Skript anscheinend exit ignoriert oder den Skript beendet

umount /mnt /smbfs //da man noch immer als username angemeldet ist, kann man dieses Verzeichnis nicht unmounten.

Welche Möglichkeiten gibt es, im Skript wieder zu root zurückzukommen?

Xanti
03.12.2004, 14:09
Bei Aufruf von su wird eine neue Shell geöffnet. Erst wenn diese geschlossen wird, fährt das Script mit der Abarbeitung eine Zeile nach su fort. Du musst su den Befehl übergeben, den es in der User-Shell ausführen soll, und zwar mittels

su username -c befehl

In Deinem Fall also:

su username -c 'rsync -uvr /home/data /mnt/smbfs/'

Wenn dieser Befehl abgearbeitet ist, wird die von su geöffnete Shell automatisch beendet, also brauchst Du auch kein exit.

Gruss, Phorus