монтирование USB-устройств
Подскажите, пожалуйста, что я делаю не так:
Прописываю USB устройство, назначаю пользователю/группе права только для чтения
Успешно формируется правило udev — в нем все правильно — дискретка 440
Захожу пользователем, подключаю USB
успешно монтируется, читается и .
пользователь имеет возможность записывать и редактировать информацию!
Т.е. по факту права 660 (как минимум)
TopRaN
New member
Сообщения 14
adduser и usermod — это две разные утилиты, которые имеют общий факт, что оба могут добавить пользователя в группу.
Согласно man adduser
adduser является более дружественным передним концом инструментам низкого уровня, таким как программы useradd, groupadd и usermod.
Дополнительная информация:
man adduser: adduser, addgroup — добавить пользователя или группу к системному человеку usermod: usermod — изменить учетную запись пользователя
FrostSrg
New member
Сообщения 13
adduser и usermod — это две разные утилиты, которые имеют общий факт, что оба могут добавить пользователя в группу.
Согласно man adduser
adduser является более дружественным передним концом инструментам низкого уровня, таким как программы useradd, groupadd и usermod.
Дополнительная информация:
man adduser: adduser, addgroup — добавить пользователя или группу к системному человеку usermod: usermod — изменить учетную запись пользователя
Это вы о чем?
Montfer
New member
Сообщения 2 358
после перезагрузке так же?
FrostSrg
New member
Сообщения 13
после перезагрузке так же?
да
Перезагрузка не при чем — правило же отрабатывает
Но почему-то дискретку неправильно навешивает
Можете проверить у себя?
Последнее редактирование: 18.12.2020
Montfer
New member
Сообщения 2 358
я сталкивался на 1.5, когда флешку подключаешь под уровнем 1, потом выходишь, другую подключаешь под уровнем 0, но ошибка, т. к. символьная ссылка в dev/ всё еще имеет уровень 1. лечилось перезагрузкой или удалением этой ссылки
по вашей ситуации: попробую повторить ошибку, но у меня только виртуальные машины для тестирования, хз, как там флешки себя поведут
FrostSrg
New member
Сообщения 13
я сталкивался на 1.5, когда флешку подключаешь под уровнем 1, потом выходишь, другую подключаешь под уровнем 0, но ошибка, т. к. символьная ссылка в dev/ всё еще имеет уровень 1. лечилось перезагрузкой или удалением этой ссылки
по вашей ситуации: попробую повторить ошибку, но у меня только виртуальные машины для тестирования, хз, как там флешки себя поведут
Вопрос не по мандатке — с ней как раз все нормально
Проблема с дискреткой — даже каталог, куда флэшка монтируется (/run/user/UID/media/UsbID ) получает неправильные дискреционные атрибуты
В виртуалках у меня такая же ситуация.
Montfer
New member
Сообщения 2 358
да та же фигня, попробовал на флешке с ntfs. с fat32 и ext не стал — лень форматировать
oko
New member
Сообщения 1 253
to all
Поигрался с правилами udev, оснасткой fly-admin-smc и правилами /etc/fstab.pdac.
Сдается мне, что ALSE 1.6 (в ALSE 1.5, если память не изменяет, все было иначе) не полностью реализует механизмы СКН (контроль использования машинных носителей информации). Вероятно, намеренно. Теперь понятно, откуда растут ноги презентаций Кода Безопасности о необходимости использования SNLSP в ALSE (что, imho, дичь).
Короче, дискреционка не отрабатывает по причине того, что монтированием МНИ в /run занимается fly-dm. И он либо монтирует под нужного пользователя с полными правами , либо нет. Определяется этот момент строкой /dev/sd* в /etc/fstab.pdac (разрешить монтирование любых блочных устройств для любых юзеров), наличием пользователя в группе floppy (группа, обладающая правами монтирования блочных устройств по умолчанию) и наличием правила для конкретного МНИ и конкретного пользователя (вне зависимости от прав «чтение», «запись», «выполнение») в перечне «Устройства и правила» раздела «Политики безопасности» (те самые правила udev). Можно, конечно, правила udev модифицировать для каждого пользователя вручную каждый раз, но это как-то, мягко говоря, тупо.
Что Руководство КСЗ, что wiki.astralinux.ru много говорят о мандатных метках и переходе на ФС ext3/ext4, а вот про дискреционку единственная запись мимолетом — дескать, дискреционка тоже определяется правилами разграничения доступа. Выходит, не определяется, ага.
Ну, либо я дурак и не заметил очевидного.
Как примонтировать флешку в Linux
В наши дни очень большую популярность у пользователей набрали USB флешки. Они используются для обмена файлами, различными фильмами и документами, установки операционных систем, а также восстановления системы после сбоя. Чтобы работать с флешкой в Linux ее нужно примонтировать в корневую файловую систему.
Дело в том, что организация файловой системы Linux немного отличается от того, что мы привыкли видеть в Winodws. Здесь нет никаких дисков C,D,E и так далее, есть только корень, самая верхняя точка файловой системы, в подкаталоги которой подключаются все жесткие диски и внешние носители.
Если в системе используется окружение рабочего стола, то оно, как правило, берет на себя всю низкоуровневую работу чтобы выполнить монтирование флешки в linux. Система обнаруживает подключенную флешку и в системном лотке всплывает уведомление о подключенном устройстве. Дальше остается кликнуть по значку флешки, чтобы система выполнила все нужные для ее монитрования действия. Но если окружение рабочего стола не запущенно или вам нужно работать в консоли можно выполнить все действия по монтированию флешки вручную.
В этой инструкции мы рассмотрим монтирование usb флешки в linux через терминал, а также настройку автоматического монтирования для оконных менеджеров, которые не поддерживают такую возможность.
Монтирование флешки в Linux
Самое первое, что нужно сделать после того, как вы подключили флешку — узнать имя ее файла в системе. В Unix все устройства имеют свои файлы и именно через эти файлы система и программное обеспечение взаимодействуют с ними.
Файлы флешек и других устройств хранения данных находятся в каталоге /dev. Устройства нумеруются по алфавиту sda, sdb, sdc, sdd и т д. Так как флешка подключается последней у нее будет старшая буква. Например, sdb или sdc. Имя sda принадлежит жесткому диску. Можно, конечно, просто посмотреть содержимое каталога /dev/, но такой способ ненадежный. Мы воспользуемся утилитой fdisk.
Подключите флешку и выполните:

Как видите, здесь мы можем посмотреть детальную информацию об устройстве. Имя файла, список разделов, формат таблицы разделов, список разделов. А главное для нас, размер раздела и его файловую систему. Теперь не сложно понять какая из них флешка. В этом примере это /dev/sdc1
Создаем папку для монтирования:
sudo mkdir /mnt/usb
Теперь монтируем флешку с помощью команды mount:
sudo mount /dev/sdc1 /mnt/usb

Если знаете файловую систему флешки, то лучше ее указать с помощью опции -t. Чаще всего используется FAT, так как ее легко открывают как Windows так и Linux системы:
sudo mount -t vfat /dev/sdc1 /mnt/usb
Монтирование осуществляется от суперпользователя, но если нужно чтобы отмонитровать флешку мог любой нужно указать опцию users:
sudo mount -t vfat -o users /dev/sdc1 /mnt/usb
По умолчанию владельцем файлов на флешке при монтировании устанавливается root, поэтому если вы захотите работать с флешкой через файловый менеджер, то нужно будет его запускать с правами суперпользователя или же сразу примонтировать флешку в linux таким образом, чтобы владельцем был ваш пользователь. Для этого укажите группу и id своего пользователя в опциях uid и gid:
sudo mount -o users,uid=1000,gid=1000 /dev/sdc1 /mnt/usb
Удостовериться что флешка подключена можно посмотрев содержимое каталога, в который мы ее монтировали:
Или выполнив команду mount:

После завершения работы с флешкой не забудьте ее отмонтировать. Потому что иначе данные могут быть не сохранны или вообще повреждена файловая система флешки:
sudo umount /dev/sdc1
Автоматическое монтирование флешки в Linux
Популярные окружения рабочего стола выполняют монтирование флешки linux автоматически, как только она подключена к системе или по клику на ярлыке. Мы можем это реализовать с помощью службы udisks2.
Udisks — это служба dbus, позволяющая другим программам и пользователю взаимодействовать с udev. Мы можем получать сообщения о только что подключенных устройствах, выполнять их монтирование и отключение. Окружения рабочего стола используют именно этот сервис для монтирования устройств.
Мы тоже можем использовать его для ручного монтирования. Здесь даже есть несколько плюсов. Во-первых, мы можем монтировать без прав суперпользователя, во-вторых, не нужно создавать папку.
Для монтирования используется такая команда:
udisksctl mount -b /dev/sdc1

Здесь /dev/sdc1 — файл нашей флешки, а опция -b указывает, что нужно монтировать блочное устройство. Так же как и в mount здесь можно задать опции монтирования -o и файловую систему -t. Флешка будет примонтирована в папку /run/имя_пользователя/uuid-флешки/
Для размонтирования используется аналогичная команда:
udisksctl unmount -b /dev/sdc1

Автоматическое монтирование usb флешки в linux можно настроить с помощью утилиты udiskie. Все новые подключенные флешки будут автоматически подключаться, после подключения устройства будет всплывать окно с предложением открыть файловый менеджер, а также значок, с помощью которого можно получить доступ к каждому из устройств.
Устанавливается утилита в Ubuntu командой:
sudo apt install udiskie
Дальше остается запустить программу:
Теперь все подключаемые устройства будут автоматически монтироваться с помощью udisks. Рассмотрим что значат опции:
- -a — выполнять автоматическое монтирование
- -n — показывать всплывающее уведомление
- -t — показывать значок в трее.
Выводы
Теперь монтирование флешки linux не вызовет у вас проблем. Даже если у вас не будет работать окружение рабочего стола и придется делать все вручную. Если остались еще вопросы, спрашивайте в комментариях.
Повторное монтирование флешки
Здравствуйте! OS: Fedora Когда вставляешь флешку, происходит ее автомонтирование в /run/media/user/flashka После umount /run/media/user/flashka Флешка отмонтируется.
Как повторно ее примонтировать без использования root? У флешки остается /dev/sdX, но при попытке монтирования: mount: must be superuser to use mount. Понятно, что можно под root монтировать через mount, но ведь автомонтирование происходит без прав root Спасибо
user2021
16.11.21 18:53:22 MSK
Автоматическое монтирование HDD, SSD- и USB-носителей
Как автоматически монтировать HDD-, SSD- и USB-носители?
Ответ
В этой статье рассматривается настройка автоматического монтирования носителей путем внесения изменений в конфигурационный файл /etc/fstab .
Как правило, файл /etc/fstab используется для настройки параметров автоматического монтирования разделов устройств, постоянно присутствующих в системе, например, NVME-, HDD- и SSD-носителей. Описывать в нем параметры монтирования отчуждаемых устройств (USB-носители, карты памяти и т. д.) не рекомендуется: если носитель не будет подключен к компьютеру, а в опциях монтирования не указан параметр nofail , загрузка ОС будет прервана с сообщение об ошибке:
You are in emergency mode. After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or "exit" to boot into default mode. Cannon open access to console, the root account is locked. See sulogin(8) man page for more details. Press Enter to continue.
Для настройки автоматического монтирования отчуждаемых носителей рекомендуется воспользоваться инструкциями, приведенными в статьях Справочного центра:
- Съемные носители в Astra Linux
- Автоматическое монтирование USB-накопителей
Для настройки автоматического монтирования носителей следует выполнить следующие действия:
-
До подключения к компьютеру нового накопителя получить список имеющихся разделов:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 232,9G 0 disk ├─sda1 8:1 0 94M 0 part /boot/efi ├─sda2 8:2 0 70G 0 part / └─sda3 8:4 0 3,7G 0 part [SWAP]
- sda — имя устройства;
- sda1 , sda2 , sda3 — имена разделов на устройстве.
sudo blkid
/dev/sda1: UUID="4ae60b6a-5093-42d4-92fd-babe9dd82d7f" TYPE="vfat" PARTUUID="e7710043-01" /dev/sda2: UUID="3f43345d-4d96-4800-8edd-d641a7b6e982" TYPE="ext4" PARTUUID="e7710043-02" /dev/sda3: UUID="7d329803-23da-23ef-0921-f4871059d18b" TYPE="swap" PARTUUID="e7710043-03" /dev/sdb1: UUID="f6247746-5ce3-4544-80f7-e7472869969d" TYPE="ext4" PARTUUID="d57a956d-01"
- /dev/sdb1 — имя первого раздела на подключенном носителе;
- f6247746-5ce3-4544-80f7-e7472869969d — UUID нового раздела;
- ext4 — тип файловой системы нового раздела.
sudo mkdir -p /mnt/mount_point