SD-Kartenvorgänge von mehreren Benutzerkonten?


7

Ich verwende Ubuntu MATE 16.04 und das Kopieren von Bildern auf und von meinem internen SD-Kartenleser funktioniert grundsätzlich einwandfrei… auf meinem Hauptkonto.

Wenn sich ein anderes Familienmitglied anmeldet (mein Login ist noch im Hintergrund aktiv, nicht abgemeldet) und dann eine SD-Karte einlegt, kann er nicht darauf zugreifen:

Geben Sie hier die Bildbeschreibung ein

Also, ist das eine Art Rechteproblem ...? Wenn ich mich wieder als Hauptbenutzer anmelde, werden auch einige Rechteprobleme angezeigt:

Geben Sie hier die Bildbeschreibung ein

Wie kann ich also die Zugriffsrechte auf dem SD-Kartenleser lockern, damit er für alle zugänglich ist (auch für Benutzer ohne Administratorrechte)?

Vielleicht ein 'entspannter' etc/fstabEinstieg? (noch kein verwandter Eintrag dort)


Update I:

Wechseln zwischen 2 SD-Karten (von einem einzelnen Benutzer) und Betrachten von /dev/disk/by-id:

?> ~ $ ll /dev/disk/by-id | grep mmc
...  mmc-SDU1_0x02400f04 -> ../../mmcblk0
...  mmc-SDU1_0x02400f04-part1 -> ../../mmcblk0p1
?> ~ $ ll /dev/disk/by-id | grep mmc
...  mmc-SE32G_0x0072e5ab -> ../../mmcblk0
...  mmc-SE32G_0x0072e5ab-part1 -> ../../mmcblk0p1
?> ~ $ ll /dev/disk/by-id | grep mmc
...  mmc-SDU1_0x02400f04 -> ../../mmcblk0
...  mmc-SDU1_0x02400f04-part1 -> ../../mmcbl

?> ~ $ ll /dev/disk/by-id | grep mmc
...  mmc-SDU1_0x02400f04 -> ../../mmcblk0
...  mmc-SDU1_0x02400f04-part1 -> ../../mmcblk0p1
?> ~ $ ll /dev/disk/by-id | grep mmc
...  mmc-SE32G_0x0072e5ab -> ../../mmcblk0
...  mmc-SE32G_0x0072e5ab-part1 -> ../../mmcblk0p1
?> ~ $ ll /dev/disk/by-id | grep mmc
...  mmc-SDU1_0x02400f04 -> ../../mmcblk0
...  mmc-SDU1_0x02400f04-part1 -> ../../mmcblk0p1

../../mmcblk0[p1]/dev/mmcblk0[p1]scheint hier die einzige Konstante zu sein. Vielleicht kann ich damit eine Lösung finden?

Ich habe dies hinzugefügt /etc/fstab(laut Manpage kann der erste Parameter auch ein Gerätepfad sein, wenn ich das richtig verstehe):

/dev/mmcblk0p1  /media/ExtSD01/  auto   auto,user,rw 0 0

Dies hat etwas gut funktioniert , jetzt, da ich mount /dev/mmcblk0p1/den benutzerneutralen Pfad nicht automatisch, sondern zumindest über die Befehlszeile aufheben und entfernen kann (Nachteil 1). Mein System hängt jedoch einen Neustart auf - es sei denn, ich habe vor dem Start eine SD-Karte eingelegt (Nachteil 2). Also habe ich diese Zeile wieder entfernt ...

Vielleicht gibt es einen anderen Ort, an dem Sie Mount-Optionen in Ubuntu Mate bearbeiten können? system.d? Anderswo?


Sie können versuchen, die SD-Karte gemäß diesem Link zu mounten, askubuntu.com/questions/11840/… - Beispiel 3, vollständige Berechtigungen für alle
Sudodus

Antworten:


1

Um die SD-Karte beim Start für alle Benutzer bereitzustellen, benötigen wir einen Eintrag in der fstabDatei. Derzeit wird die SD-Karte für den Benutzer bereitgestellt, der sich anmeldet und nur diesem Benutzer Zugriffsberechtigungen erteilt. Durch Hinzufügen eines Eintrags in der fstab wird die SD-Karte per Root mit Zugriff auf alle Benutzer bereitgestellt. Dieser R / W-Zugriff kann später gesteuert werden.

sudo blkidlistet alle auf Ihrem System verfügbaren Partitionen (einschließlich Ihrer SD-Karte) auf. Notieren Sie sich die UUIDPartition, die Sie beim Booten bereitstellen möchten.

Erstellen Sie nun beispielsweise einen Ordner sudo mkdir /media/ExtSD01. Dies ist der Ordner, in dem Ihre SD-Kartenpartition bereitgestellt wird. Dieser Ordner gehört root. Um anderen Benutzern die Berechtigung zum Senden von Dateien in diesen Ordner zu erteilen, müssen die entsprechenden Berechtigungen erteilt werden. so chmod -R 777 /media/ExtSD01würde gut genug sein. Jetzt müssen Sie Ihre fstab-Datei bearbeiten. Geben Sie dazu den folgenden Befehl ein.

sudo nano / etc / fstab

Gehen Sie zum Ende der Datei und fügen Sie dort die folgende Zeile hinzu.

UUID='enter your UUID here' /media/ExtSD01/     auto,user,rw 0 0

Starten Sie das System neu und Sie sollten bereit sein.


Nun, das Problem ist, wenn ich zwei verschiedene SDs nacheinander einfüge, zeigen beide ( on sudo blkid) zwei neue Zeilen :) /dev/mccblk0: PTTYPE="dos"und /dev/mmcblk0p1: LABEL="EOS_DIGITAL" UUID="####-####" TYPE="vfat", obwohl letztere mit unterschiedlichen IDs ...
Frank Nocke

Ich habe ein Update / eine Idee in das OP gestellt.
Frank Nocke

Was könnte ich noch tun? Vielleicht einen UUID-Eintrag für jede SD-Karte in meinem Haushalt hinzufügen? (nur 3-4, so machbar, aber ...)
Frank Nocke

0

Was ist, wenn die USB-Laufwerke nicht automatisch aktiviert werden, wenn sie angeschlossen sind? In diesem Fall können Sie sie manuell nach Ihren Wünschen bereitstellen. Verwenden Sie zum Deaktivieren von automount den dconf-editor, gehen Sie zu org / gnome / desktop / media-handle und deaktivieren Sie automount, indem Sie den Wert auf false setzen. Hängen Sie dann die SD-Karte manuell in einen Ordner mit den gewünschten Berechtigungen ein.


0

Sie können versuchen, eine neue Gruppe namens sdcard hinzuzufügen und eine udev-Regel für Ihre SD-Karten zu schreiben .

Beginnen wir mit dem einfachen Teil und erstellen eine neue Gruppe:

    sudo groupadd sdcard

Fügen Sie nun die Benutzer zur SD-Kartengruppe hinzu:

    sudo usermod -aG sdcard username

Jetzt müssen wir nach zusätzlichen Informationen über die von Ihnen verwendeten SD-Karten suchen.
Wir benötigen einen Produktnamen oder eine Produkt-ID sowie einen Lieferantennamen oder eine Vencor-ID

  1. Stecken Sie Ihre SD-Karte ein und geben Sie ein

    lsblk
    

    In meinem Fall ist es / dev / sda.
    Ich weiß, dass Ihre Gerätenamen unterschiedlich sind, aber der Einfachheit halber werde ich die SD-Karte als / dev / sda bezeichnen.

  2. Durchsuchen Sie Ihre Geräte mit nach den gewünschten Informationen

    sudo lshw
    

Diese zusätzlichen Befehle können Ihnen bei der Suche nach Anbieter und Produkt helfen:

  • lsusb
  • usb-devices
  • dmesg

In meinem Fall lieferte lshw die folgenden Informationen:

    *-usb:0
        description: Mass storage device
        product: USB2.0-CRW
        vendor: Generic
        physical id: 1
        bus info: usb@3:1
        logical name: scsi0
        version: 57.13
        serial: 20120926571200000
        capabilities: usb-2.00 scsi emulated scsi-host
                  configuration: driver=usb-storage maxpower=500mA speed=480Mbit/s
      *-disk
           description: SCSI Disk
           product: SD/MMC/MS PRO
           vendor: Generic-
           physical id: 0.0.0
           bus info: scsi@0:0.0.0
           logical name: /dev/sda
           version: 1.00
           serial: 2012062914345300
           capabilities: removable
           configuration: ansiversion=4 logicalsectorsize=512 sectorsize=512
         *-medium
              physical id: 0
              logical name: /dev/sda

Wie Sie sehen können, ist mein Produkt USB2.0-CRW und der Hersteller ist Generic .

  1. Sie können jetzt eine Datei in /etc/udev/rules.d/ erstellen und diese als 10-sdcard.rules bezeichnen

    # /etc/udev/rules.d/10-sdcard.rules
    # This file allows the group sdcard to mount sd cards
    # without administrative permissions
    
    SUBSYSTEM=="usb", ATTRS{product}="USB2.0-CRW", ATTRS{vendor}=="Generic", ACTION=="add", OWNER="root", GROUP="sdcard", MODE="0664"
    

Dadurch wird den Geräteknoten für die SD - Karte und bietet Lese- und Schreibberechtigung für das Hinzufügen sdcard Gruppe.
Wenn Sie eine Produkt-ID (dh 1234) oder eine Lieferanten-ID (dh abcd) anstelle des Produktnamens und des Lieferantennamens finden, verwenden Sie diese ATTRS{idProduct}="1234", ATTRS{idVendor}="abcd".

Wenn Ihre beiden SD-Karten dieselbe Hersteller-ID / denselben Namen und dieselbe Produkt-ID / denselben Produktnamen haben, sollte diese eine Zeile ausreichen. Wenn nicht, fügen Sie eine zusätzliche Zeile hinzu, die die Informationen für die andere SD-Karte enthält.

  1. Starten Sie Ihr System neu

Die Benutzer in der SD-Kartengruppe sollten nun in der Lage sein, die SD-Karten zu mounten.


Vielen Dank! Ich werde Ihre Lösung bald prüfen. - Bitte haben Sie etwas Geduld mit mir, da ich erst am Dienstag (in 5 Tagen) Zugang zu meinem fraglichen Laptop haben werde…
Frank Nocke

0

Sie haben dies hinzugefügt /etc/fstab(laut Manpage kann der erste Parameter auch ein Gerätepfad sein, wenn ich das richtig verstehe):

/dev/mmcblk0p1  /media/ExtSD01/  auto   auto,user,rw 0 0

Angenommen, Sie haben ein Microsoft-Dateisystem (NTFS, FAT32 oder exFAT) auf der SD-Karte, schlage ich die folgenden Änderungen vor:

  • Ersetzen Sie die Mount-Option autodurch noauto, damit das System ohne eingelegte SD-Karte ordnungsgemäß startet.

    Nachteil: Sie müssen das Laufwerk manuell montieren, mit dem Sie ganz einfach tun können, und es wird in entsprechend der Linie montiert werden /etc/fstab,

    sudo mount /media/ExtSD01/
    

    Wenn Sie möchten, können Sie einen Alias ​​dafür erstellen.

    alias mtsd='sudo mount /media/ExtSD01/'
    
  • Fügen Sie die Mount-Option hinzu umask, um die gewünschten Berechtigungen für alle Benutzer bereitzustellen

Das Ergebnis ist die folgende Zeile in /etc/fstab:

/dev/mmcblk0p1  /media/ExtSD01/  auto   noauto,user,rw,umask=000  0  0

Unter dem folgenden Link können Sie die Mount-Optionen optimieren.

Wie verwende ich 'chmod' auf einer NTFS- (oder FAT32-) Partition?

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.