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

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

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

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

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

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

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

Переключение назад & 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). Поэтому я снова удалил эту строку ...

несколько

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

8 ответов

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

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

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

sudo nano / etc / fstab

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

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

Перезагрузите систему, и вам должно быть хорошо.

1
ответ дан 17 July 2018 в 23:55

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

0
ответ дан 17 July 2018 в 23:55

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

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

sudo groupadd sdcard

Теперь добавьте пользователя (ы) в группу sdcard:

sudo usermod -aG sdcard username

Теперь нам нужно выкопать дополнительную информацию о SD-карте (ых), которую вы используете. Нам понадобится sdcard или идентификатор продукта и правило udev или vencor id

подключите вашу SD-карту и введите lsblk . В моем случае это / DEV / SDA. Я знаю, что ваши имена устройств разные, но для простоты я буду ссылаться на SD-карту как / dev / sda. Поиск ваших устройств для получения требуемой информации с помощью sudo lshw

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

lsusb usb-devices dmesg

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

*-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 и поставщик vencor id .

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

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

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

Перезагрузите свою систему

Теперь пользователи из группы sdcard смогут монтировать SD-карты.

0
ответ дан 17 July 2018 в 23:55

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

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

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

Замените опцию mount auto на noauto, чтобы система загрузилась без использования вставленной SD-карты. Недостаток: вы должны вручную установить диск, который вы можете сделать очень легко, и он будет установлен в соответствии с линией в /etc/fstab, sudo mount /media/ExtSD01/ . Если вы хотите, вы можете сделать для него псевдоним, alias mtsd='sudo mount /media/ExtSD01/' Добавить mount umask, чтобы предоставить требуемые разрешения для всех пользователей

. Результатом является следующая строка в /etc/fstab,

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

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

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

0
ответ дан 17 July 2018 в 23:55

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

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

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

sudo nano / etc / fstab

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

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

Перезагрузите систему, и вам должно быть хорошо.

1
ответ дан 24 July 2018 в 17:07
  • 1
    Ну, проблема в том, что если я вставляю два разных SD, один за другим, они оба показывают (on sudo blkid) две новые строки: /dev/mccblk0: PTTYPE="dos") и /dev/mmcblk0p1: LABEL="EOS_DIGITAL" UUID="####-####" TYPE="vfat", хотя последнее с отличается идентификаторы ... – Frank Nocke 11 January 2018 в 00:35
  • 2
    Я поставил обновление / идею в OP. – Frank Nocke 11 January 2018 в 00:47
  • 3
    Что еще я мог сделать? возможно, добавление записи UUID для каждой SD-карты в моей семье? (только 3-4, так что возможно, но ...) – Frank Nocke 15 January 2018 в 14:20

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

0
ответ дан 24 July 2018 в 17:07

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

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

sudo groupadd sdcard

Теперь добавьте пользователя (ы) в группу sdcard:

sudo usermod -aG sdcard username

Теперь нам нужно выкопать дополнительную информацию о SD-карте (ых), которую вы используете. Нам понадобится sdcard или идентификатор продукта и правило udev или vencor id

подключите вашу SD-карту и введите lsblk . В моем случае это / DEV / SDA. Я знаю, что ваши имена устройств разные, но для простоты я буду ссылаться на SD-карту как / dev / sda. Поиск ваших устройств для получения требуемой информации с помощью sudo lshw

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

lsusb usb-devices dmesg

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

*-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 и поставщик vencor id .

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

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

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

Перезагрузите свою систему

Теперь пользователи из группы sdcard смогут монтировать SD-карты.

0
ответ дан 24 July 2018 в 17:07
  • 1
    Спасибо! Я скоро посмотрю на ваше решение. - Пожалуйста, будьте терпеливы со мной, так как у меня будет только доступ к моему ноутбуку, о котором идет речь, во вторник (через 5 дней) ... – Frank Nocke 18 January 2018 в 12:28

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

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

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

Замените опцию mount auto на noauto, чтобы система загрузилась без использования вставленной SD-карты. Недостаток: вы должны вручную установить диск, который вы можете сделать очень легко, и он будет установлен в соответствии с линией в /etc/fstab, sudo mount /media/ExtSD01/ . Если вы хотите, вы можете сделать для него псевдоним, alias mtsd='sudo mount /media/ExtSD01/' Добавить mount umask, чтобы предоставить требуемые разрешения для всех пользователей

. Результатом является следующая строка в /etc/fstab,

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

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

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

0
ответ дан 24 July 2018 в 17:07

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

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