Права для монтирования linux

Права на точку монтирования

В процессе добавления отдельного раздела для медиафайлов возник следующий вопрос — где именно в системе хранятся права доступа к точке монтирования (т.е. корню раздела)?

Ситуация следующая: 1. До монтирования имеется пустой каталог /mnt/data (0755, root, root). 2. После монтирования /mnt/data (0755, root, root) 3. chown username:username /mnt/data && chmod 0777 /mnt/data (права соответственно 0777, username, username) 4. После размонтирования /mnt/data (0755, root, root), как и было до смены прав.

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

где именно в системе хранятся права доступа к точке монтирования (т.е. корню раздела)?

ты не поверишь — они хранятся в корне монтируемого раздела.

Ты просто слегка путаешся в терминологии.
Монтируешь ты не раздел, а файловую систему, находящуюся, в данном случае, в разделе. Если это какая-либо unix-система (ext2/3/4, raizer, btrfs etc. ), то собственность и права на её корень, записанные в ней самой, и становятся правами точки монтирования. Если ты их поменяешь, отмонтируешь ФС, и примонтируешь опять в любом месте, эти изменения сохранятся.
Если же это какая-либо система не поддерживающая юниксовские права (vfat, ntfs, iso9660, etc. ), то права на точку монтирования, владелец и группа определяются параметрами команды mount или могут быть прописаны в /etc/fstab.
Права/владелец/группа каталога, используемого для монтирования, ни на что не влияют и на самом деле не меняются.

Спасибо за разъяснение! Действительно, немного смутили ФС с другими системами прав

Источник

Монтировать устройство с правами для всех пользователей

Как в Ubuntu 10.04 смонтировать устройство чтобы для все пользователи имели возможность читать и писать. У меня получается только с правами для root (drwx——). Опция ‘user’ в fstab не работает.

Вот моя запись в fstab:
device /mnt/device vboxsf rw 0 0

> vboxsf
Для разных файловых систем — по разному (для некоторых такой возможности вообще нет). Читайте man mount.vboxsf

все маски работают только для рута

The generic mount options (documented in the mount manual page) apply also. Especially useful are the options uid, gid and mode, as they allow access by normal users (in read/write mode, depending on the settings) even if root has mounted the filesystem.

Попробуйте убрать «defaults» и добавить dmode=777,fmode=666. Если не выйдет, добавьте uid=0. Если и после этого не заработает, сделайте uid=1000 (сделать владельцем первого «настоящего» пользователя).

если мне не изменяет склероз, опция `user’ работает только, если устройство монтируется в подвластный узверю директорий, на пример в $HOME/mnt

добавил «dmode=777,fmode=666» и все заработало. Спасибо!

Но есть одна проблема:
При загрузке GNOME, появляется на экране сообщение:
«An error occured while mounting /mnt/device
Press S to skip mounting or M for manual recovery»

Жму S, чтобы пропустить, захошу в пользователя, монтированный раздел исправно работает (ну это я так считаю, может с ним что-то не так).

Читайте также:  Офис для windows 10 про

Если потом в GNOME в консоли набрать
«umount /mnt/device
mount /mnt/device»

никаких ошибок при монтирование не обнаруживатеся.

Возможно, это связано с тем, что модуль virtualbox подгружается позже, чем монтируются локальные файловые системы. Покажите /etc/fstab и вывод lsmod.

# /etc/fstab: static file system information.
#
# Use ‘blkid -o value -s UUID’ to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
#

proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda1 during installation
UUID=029cf09c-c8f2-44f8-aec3-d93a26aeca29 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=c943b6f6-48a7-4905-8200-3fc4564b623f none swap sw 0 0
windata /mnt/WINDATA vboxsf dmode=777,fmode=666 0 0

# /etc/fstab: static file system information.
#
# Use ‘blkid -o value -s UUID’ to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
#

proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda1 during installation
UUID=029cf09c-c8f2-44f8-aec3-d93a26aeca29 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=c943b6f6-48a7-4905-8200-3fc4564b623f none swap sw 0 0
windata /mnt/WINDATA vboxsf dmode=777,fmode=666 0 0

> `lsmod`
Это не вывод lsmod.

Module Size Used by
binfmt_misc 6587 1
vboxvfs 32507 1
vboxvideo 1196 1
drm 162471 2 vboxvideo
agpgart 31724 1 drm
fbcon 35102 72
tileblit 2031 1 fbcon
ppdev 5259 0
font 7557 1 fbcon
bitblit 4707 1 fbcon
softcursor 1189 1 bitblit
parport_pc 25962 0
psmouse 63245 0
serio_raw 3978 0
i2c_piix4 8335 0
vboxguest 138999 9 vboxvfs
vga16fb 11385 1
vgastate 8961 1 vga16fb
lp 7028 0
parport 32635 3 ppdev,parport_pc,lp
pcnet32 28890 0

Ага. И ещё содержимое /etc/modules, пожалуйста.

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with «#» are ignored.

Отлично. Допишите в конец: vboxvfs и попробуйте загрузиться.

Все равно при загрузке появляется сообщение:

«An error occured while mounting /mnt/device
Press S to skip mounting or M for manual recovery

А если нажать M и ввести mount -a (а потом Ctrl+D для продолжения загрузки)?

Получаю в консоли сообщение:

/sbin/mount.vboxsf: mounting failed with the error: No such file or directory

Я так понимаю, монтирующая программа не может найти расшаренное псевдо-устройство, которое создала виртуальная машина.

ls -l /sbin/mount.vboxsf? Если говорит, что нет такого файла или каталога, выполняйте: sudo ln -s $(which mountvboxsf) /sbin/mount.vboxsf

ls -l /sbin/mount.vboxsf
lrwxrwxrwx 1 root root 40 2010-09-12 14:18 /sbin/mount.vboxsf -> /usr/lib/VBoxGuestAdditions/mount.vboxsf

Возможно ли применение варианта «добавить опцию noauto и монтировать вручную (нажатием на значок) после входа в систему»?

Не совсем понял о чем вы. Предложения такого варианта я от системы не получал. Раздел и так монтируется, не смотря на сообщение об ошибке.

Имею ввиду, плюс к «dmode=777,fmode=666» добавить через запятую noauto. Тогда при старте системы ФС не будет монтироваться.

Наверное, так и сделаю. Спасибо что занимался моим вопросом!

Источник

Монтирование диска в Linux

Разделы дисков в Linux подключаются к системе совсем не так, как в Windows. Здесь есть корневая файловая система, куда подключаются все другие разделы и устройства, которые вы будете использовать. Системные разделы монтируются автоматически при старте системы. Но если вам нужно подключить дополнительные разделы, в некоторых случаях, может понадобиться это делать вручную.

Читайте также:  Alienware alienfx windows 10

В этой статье мы рассмотрим как выполняется монтирование диска в Linux, поговорим о том, как правильно использовать утилиту mount, umount и посмотреть какие разделы куда примонтированы.

Что такое монтирование?

Как я уже сказал Linux имеет единую корневую файловую систему, куда подключаются все запоминающие устройства и другие ресурсы. На самом деле, в Windows происходит что-то подобное, только все это скрыто от пользователя.

Фактически смонтированный раздел становится частью корневой файловой системы и система старается сделать работу со всеми разделами, независимо от их файловых систем, прозрачной. Это значит, что если вы примонтируете участок оперативной памяти или удаленную сетевую папку, то сможете работать с ней в файловом менеджере точно так же, как и с локальным диском.

Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.

Монтирование дисков в Linux

Обычно, монтированием занимаются специальные сервисы оболочки, но не всегда они доступны. А иногда нужно сделать все вручную, чтобы задать дополнительные опции монтирования или другие параметры. Для монтирования в Linux используется команда mount. Рассмотрим ее параметры:

$ mount файл_устройства папка_назначения

Или расширенный вариант:

$ mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения

Опции задают различные дополнительные особенности работы утилиты. Опция -t необязательна, но она позволяет задать файловую систему, которая будет использована и иногда это очень полезно. С помощью опции -o вы можете задать различные параметры монтирования, например, монтировать только для чтения и т д. Последних два параметра — это файл устройства, например, /dev/sda1 и папка назначения, например, /mnt.

Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:

  • -V — вывести версию утилиты;
  • -h — вывести справку;
  • -v — подробный режим;
  • -a, —all — примонтировать все устройства, описанные в fstab;
  • -F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;
  • -f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;
  • -n, —no-mtab — не записывать данные о монтировании в /etc/mtab;
  • -l, —show-labels — добавить метку диска к точке монтирования;
  • -c — использовать только абсолютные пути;
  • -r, —read-only — монтировать раздел только для чтения;
  • -w, —rw — монтировать для чтения и записи;
  • -L, —label — монтировать раздел по метке;
  • -U, —uuid — монтировать раздел по UUID;
  • -T, —fstab — использовать альтернативный fstab;
  • -B, —bind — монтировать локальную папку;
  • -R, —rbind — перемонтировать локальную папку.

Это не все, но основные опции, которые вам понадобятся во время работы с утилитой. Также, возможно, вы захотите знать список опций монтирования, которые могут быть полезными. Они все перечислены в статье автоматическое монтирование в fstab и писать их еще и здесь нет смысла. А теперь перейдем к примерам и рассмотрим как монтировать диск в linux.

Читайте также:  Использовать windows explorer как браузер

Монтирование разделов с помощью mount

Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:

sudo mount /dev/sdb6 /mnt/

В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:

sudo mount -v /dev/sdb6 /mnt/

Если нужно, вы можете указать файловую систему с помощью опции -t:

sudo mount -v -t ext4 /dev/sdb6 /mnt

Если необходимо примонтировать файловую систему только для чтения, то вы можете использовать опцию -r или опцию монтирования -o ro, результат будет одинаковым:

sudo mount -t ext4 -r /dev/sdb6 /mnt
$ sudo mount -t ext4 -o ro /dev/sdb6 /mnt

Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:

sudo mount -t ext4 -o noexec /dev/sdb6 /mnt

Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.

Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в linux. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:

sudo mount —uuid=»b386d309-05c1-42c8-8364-8d37270b69e0″ /mnt

Посмотреть uuid для ваших разделов можно с помощью команды:

Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:

sudo mount —label=»home» /mnt/

Вы можете примонтировать одну папку в другую, для этого используйте опцию —bind

sudo mount —bind /mnt/ /media/

Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:

Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:

Размонтирование устройств в Linux

Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:

sudo umount /mnt

Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.

Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:

lsof -w /mnt
$ lsof -w /dev/sdb6

Здесь вы видите всю необходимую информацию, чтобы понять что происходит и что с этим делать. Утилита вывела название программы, ее PID, и даже файл, с которым она работает. Вы можете завершить все программы, а потом снова повторить попытку или используйте опцию -l, файловая система будет отключена немедленно, несмотря на то, что она занята:

sudo umount -l /mnt

Выводы

В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

Оцените статью