Операции с SD-картой из нескольких учетных записей?

Я использую Ubuntu MATE 16.04, и копирование изображений в и из моего внутреннего устройства чтения карт SD в основном работает нормально… на моем основном аккаунте.

Если другой член семьи входит в систему (моя учетная запись все еще активна в фоновом режиме, но не вышла из системы), а затем вставляет SD-карту, он не может получить к ней доступ:

enter image description here

Так это какая-то проблема с правами ...? Войдя в систему как основной пользователь, я также вижу некоторые проблемы с правами:

enter image description here

Итак, что бы это ни было, как можно Я ослабил права доступа к устройству чтения SD-карт, чтобы он стал доступен для всех (включая пользователей без прав администратора)?

Возможно, какая-то «расслабленная» etc/fstab запись? (пока нет соответствующей записи)


Обновление I:

Переключение назад & amp; далее между двумя SD-картами (от одного пользователя) и просмотром /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] представляется единственной константой здесь. Возможно, я смогу найти решение с помощью этого?

Я добавил это в /etc/fstab (согласно man-странице , первый параметр также может быть путем к устройству, если я правильно понимаю):

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

Это работало несколько хорошо , теперь, когда я могу mount /dev/mmcblk0p1/ и размонтироваться на независимый от пользователя путь, не автоматически, а по крайней мере из командной строки (недостаток 1). Однако моя система зависает при перезагрузке - если у меня не вставлена ​​SD-карта перед загрузкой (недостаток 2). Поэтому я снова удалил эту строку ...

Может быть, есть другое место для редактирования параметров монтирования в Ubuntu Mate? system.d? В другом месте?

7
задан 14 January 2018 в 09:57

4 ответа

Чтобы смонтировать SD-карту при запуске для всех пользователей, нам нужна запись в файле fstab. В настоящее время происходит то, что SD-карта монтируется для пользователя, который входит в систему, и который дает права доступа только этому пользователю. При добавлении записи в fstab SD-карта будет монтироваться с правами root с доступом ко всем пользователям. этот ч / б доступ можно контролировать позже.

sudo blkid перечисляет все разделы (включая вашу SD-карту), доступные в вашей системе. Запишите UUID раздела, который вы хотите смонтировать при загрузке.

теперь создайте папку, например sudo mkdir /media/ExtSD01. Это папка, в которую будет смонтирован раздел вашей SD-карты. Эта папка будет принадлежать пользователю root. Чтобы дать другим пользователям разрешение на запись в эту папку, нам нужно дать соответствующие разрешения. так что chmod -R 777 /media/ExtSD01 было бы достаточно хорошо. Теперь вам нужно отредактировать ваш файл fstab. Для этого введите следующую команду.

sudo nano / etc / fstab

перейдите в конец файла и добавьте туда следующую строку.

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

Перезагрузите систему, и все будет хорошо.

1
ответ дан 14 January 2018 в 09:57
  • 1
    Этот " technically" работы в 17,10, но это - ужасное, ужасное приложение. – Ivan Perez 5 April 2018 в 15:31
  • 2
    Этот " technically" работы в 17,10, но это - ужасное, ужасное приложение. – Ivan Perez 5 April 2018 в 15:31
  • 3
    Этот " technically" работы в 17,10, но это - ужасное, ужасное приложение. – Ivan Perez 5 April 2018 в 15:31
  • 4
    Этот " technically" работы в 17,10, но это - ужасное, ужасное приложение. – Ivan Perez 5 April 2018 в 15:31
  • 5
    Этот " technically" работы в 17,10, но это - ужасное, ужасное приложение. – Ivan Perez 5 April 2018 в 15:31
  • 6
    Этот " technically" работы в 17,10, но это - ужасное, ужасное приложение. – Ivan Perez 5 April 2018 в 15:31

Вы можете попытаться добавить новую группу под названием sdcard и написать правило udev для своих SD-карт.

Давайте начнем с простой части и создадим новую группу:

    sudo groupadd sdcard

Теперь добавьте пользователей в группу SDCard:

    sudo usermod -aG sdcard username

Теперь мы должны копать для получения дополнительной информации о SD-картах, которые вы используете.
Нам нужно название продукта или идентификатор продукта и название поставщика или vencor id

  1. подключите вашу SD-карту и наберите

    lsblk
    

    В моем случае это /dev/sda.
    Я знаю, что имена ваших устройств разные, но для простоты я буду ссылаться на SD-карту как /dev/sda.

  2. Поиск на ваших устройствах нужной информации с помощью

    sudo lshw
    

Эти дополнительные команды могут помочь вам найти поставщика и продукт:

  • lsusb
  • usb-devices
  • dmesg

В моем случае lshw предоставил следующую информацию:

    *-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

Как вы можете видеть, мой продукт - USB2.0-CRW , а поставщик - Универсальный .

  1. Теперь вы можете создать файл в /etc/udev/rules.d/ и назвать его, то есть 10-sdcard.rules

    # /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"
    

Это добавит узел устройства для SDCard и предоставит разрешение на чтение и запись для группы SDCARD .
Если вы найдете идентификатор продукта (т.е. 1234) или идентификатор поставщика (т.е. abcd) вместо , название продукта и , имя поставщика , используйте ATTRS{idProduct}="1234", ATTRS{idVendor}="abcd".

Если ваши две SD-карты имеют одинаковый идентификатор / имя поставщика и идентификатор / имя продукта, этой одной строки должно быть достаточно. Если нет, добавьте дополнительную строку, предоставляющую информацию для другой SD-карты.

  1. Перезагрузите систему

Пользователи в группе SDCard должны теперь иметь возможность монтировать SD-карты.

0
ответ дан 14 January 2018 в 09:57

Вы добавили это в /etc/fstab (согласно man-странице, первый параметр также может быть путем к устройству, если я правильно понимаю):

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

Предполагается, что у вас есть файловая система Microsoft (NTFS). , FAT32 или exFAT) в SD-карте, я предлагаю следующие модификации:

  • Замените опцию монтирования auto на noauto, чтобы система загружалась без вставленной SD-карты .

    Недостаток: вы должны установить привод вручную, что вы можете сделать очень легко, и он будет установлен в соответствии с линией в /etc/fstab,

    sudo mount /media/ExtSD01/
    

    Если вы хотите, вы можете сделать псевдоним для него,

    alias mtsd='sudo mount /media/ExtSD01/'
    
  • Добавьте опцию монтирования umask для предоставления желаемых разрешений для всех пользователей

В результате получается Следующая строка в /etc/fstab,

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

Смотрите следующую ссылку, если вы хотите настроить параметры монтирования,

Как использовать 'chmod' на NTFS (или FAT32) раздел?

0
ответ дан 14 January 2018 в 09:57

Как насчет отсутствия автоматического подключения USB-накопителей при их подключении. В этом случае вы можете вручную смонтировать их по своему желанию. Чтобы отключить автомонтирование, используйте dconf-editor и перейдите в org / gnome / desktop / media-processing и отключите автомонтирование, установив для него значение false. Затем вручную подключите SD-карту к папке с разрешениями, установленными по вашему желанию.

0
ответ дан 14 January 2018 в 09:57

Другие вопросы по тегам:

Похожие вопросы: