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