Benutzung von <sys/mount.h>

  • Hallo!
    Ich will in C mit <sys/mount.h> ein Filesystem rw mounten.
    Ist das so richtig:

    Code
    mount("/dev/sdf1", "/media/archive-hdd", "ext4", 0, "")


    Mit den Argumenten (unsigned long mountflags) und (const void *data)
    bin ich mir nicht ganz sicher.
    Das Hauptproblem ist aber, wie nutze ich das als normaler User? Mein
    VDR läuft nicht als root. Und ich will kein Shellscript benutzen.

  • Du musst kein Shellscript benutzen. Du musst aber das Konsolen-Tool "mount" ansprechen. Grund:



    $ ls -l $(which mount)
    -rwsr-xr-x 1 root root 40104 Jul 31 15:15 /usr/bin/mount


    Soll heißen: Das Konsolen-Tool verschafft uns hier temporär die Root-Rechte und erlaubt so das direkte Mounten von Datenträgern, die in der fstab mit "users" als Parameter versehen wurden.

  • Mit <sys/mount.h> geht's dann wohl nicht. Den entprechenden Eintrag in
    der fstab hab ich ja schon. Allerdings darf der User dann nur
    mount /media/archive-hdd
    ausführen. Dann müsste
    system("mount /media/archive-hdd")
    funktionieren. Werd ich morgen mal testen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!