per script als su anmelden bzw. wieder aussteigen

Linuxneuling

Linuxneuling

Tripel-As
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?
 
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
Code:
su username -c befehl

In Deinem Fall also:
Code:
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
 

Ähnliche Themen

Queue für copy Script

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

Probleme mit umount

CGI laesst sich nicht ausfuehren

FC2 Samba einrichten

Zurück
Oben