ubuntuusers.de

UDEV Regel soll mount-script ausführen, tut sie aber nicht :(

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

wbR80

Anmeldungsdatum:
18. Januar 2023

Beiträge: 16

Hallo zusammen,

ich arbeite mich gerade in Linux (Ubuntu) ein und habe hier ein Verständnisproblem bei dem ich bitte mal Hilfe von euch brauche.

Ich skizziere erst mal, was ich vorhabe, evtl. mache ich mir die Sache ja unnötig schwer:

Ich habe eine Ubuntu Maschine (22.04) und zwei USB Sticks. Ich will erreichen, dass sobald einer der beiden Sticks angeschlossen wird, dieser unter einem definierten mountpoint gemountet wird und anschließend ein auf dem Stick selbst abgelegtes Backup-Script startet, dass via smbclient die Inhalte verschiedener Ordner in einem SMB-Share auf diesen Stick kopiert.

Mein Ansatz sieht derzeit so aus:

Der User 'sicherung' soll mount und umount ohne Passwort nutzen können, also:

1
2
3
4
/etc/sudoers
>
sicherung ALL=(ALL) NOPASSWD: /usr/bin/mount
sicherung ALL=(ALL) NOPASSWD: /usr/bin/umount

Das funktioniert schon Mal. Nun zum Script, dass von der Udev-Regel unter dem Useraccount von 'sicherung' ausgeführt werden soll:

1
2
3
/usr/local/bin/mount-usb.sh
>
sudo mount /dev/usbbackup /mnt/usbbackup

Und hier die Udev-Regel, die das Script triggern soll:

1
2
3
/etc/udev/rules.d/99-usb-backup.rules:
>
KERNEL=="sd?1", ATTRS{serial}=="1234", ACTION=="add", SYMLINK+="usbbackup" RUN+="/usr/bin/sudo -u sicherung -g sicherung /usr/local/bin/mount-usb.sh"

Alle Einzelschritte für sich funktionieren super, die Udev-Regel reagiert auf das anschließen des Sticks, der mount Befehl Im mount script wird aber nicht ausgeführt. Wenn ich vor den mount Befehl nen touch /tmp/Test setze wird die Datei zwar angelegt aber der Stick nicht gemountet.

Wenn ich das Script mit sudo von Hand ausführe (angemeldet als 'sicherung') wird der Stick ohne Passworteingabe unter /mnt/usbbackup gemountet.

Ich schaffe es offenbar nicht, dass die Udev-Regel das mount-script im Benutzerkontext von 'sicherung' ausführt, so zumindest meine Vermutung. In meiner Verzweiflung habe ich noch folgendes in die /etc/sudoers gepackt, hat aber nix geholfen:

1
sicherung ALL=(ALL) NOPASSWD: /usr/local/bin/mount-usb.sh

Wie würdet Ihr das ganze angehen, bin ich hier komplett auf dem falschen Dampfer?

Grüße, Chris

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11237

Wohnort: München

Es könnte daran liegen, dass udev unter Systemd standardmäßig nicht für das System sichtbar mounten darf: https://www.marcusfolkesson.se/blog/systemd-udev - bzw. udev.

Ich würde mir überlegen, das mit einem Systemd-Automount (Fstab) zu machen, falls der Datenträger vorab bekannt ist.

wbR80

(Themenstarter)

Anmeldungsdatum:
18. Januar 2023

Beiträge: 16

Tatsache, das war mir nicht bewusst...

Ich bin noch nicht zum testen gekommen, aber so wie ich das sehe definiere ich die jeweiligen Sticks am besten über die UUID? Über die S/N des Sticks scheint in der fstab nichts machbar zu sein, richtig?

Gruß, Chris

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4445

Wohnort: Göttingen

Hallo,

willkommen hier im Forum!

Hast Du Dir udev schon durchgelesen?

wbR80

(Themenstarter)

Anmeldungsdatum:
18. Januar 2023

Beiträge: 16

Hi Doc,

ja ich bin mittlerweile ein ganzes Stück weiter, Danke! Der Knackpunkt waren die private mounts, wie im verlinkten Artikel von seahawk beschrieben.

Danke für eure Hilfe! Gruß, Chris

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4445

Wohnort: Göttingen

Hi,

dass Du weiter gekommen bist, ist schön zu hören!

Falls das Thema damit erledigt ist, markiere es bitte noch als gelöst.

Antworten |