Linux mount под пользователем

Mount device with r/w access to specific user

You can use the -o option, that will let you set up umask, owner and group owner for the mounted device.

mount -t vfat -o umask=0022,gid=33,uid=33 dev /var/www 

That will mount a vfat device in /var/www with umask 0022, owner: user with ID 33, and group: group with ID 33.

There’s no generic way to do exactly that. If the filesystem doesn’t have a notion of file ownership, it probably has a mount option ( uid ) to decide which user the files will belong to. If the filesystem does have a notion of file ownership, mount it read-write, and users will be able to write every file they have permission to.

If you only want a specific user to access the filesystem, and there is a FUSE driver for it, then arrange for the user to have read-write access to the device and mount it through FUSE as that user.

Another way to only let a specific user (or a specific group, or better fine-tuning through an ACL) is to place the mount point underneath a restricted-access directory:

mkdir -p /media/restricted/joe/somedisk chown joe /media/restricted/joe/somedisk chmod 700 /media/restricted/joe/somedisk mount /dev/sdz42 /media/restricted/joe/somedisk 

If you want some users to have read-write access and others to have read-only access regardless of file permissions, mount the filesystem read-write under a restricted access directory and use bindfs to make a read-only view of that filesystem.

bindfs -o perms=a-w /media/private/somedisk /media/public-read-only/somedisk 

You can also make a bindfs view read-write to some users and read-only for others; see the -m and -M options in the bindfs man page. Remember to put the primary mount point under a directory that only root can access.

Источник

Команда mount в Linux

В Linux команда mount позволяет пользователям монтировать (присоединять) дополнительную файловую систему к определённой точке монтирования текущей системы.

Примеры использования команд mount и umount в Linux

  • Введение
  • Синтаксис
  • Параметры
  • Использование команды mount в Linux
    • Результат монтирования
    • Запуск без параметров
    • Список определённых файловых систем
    • Монтирование файловой системы
    • Монтирование файловой системы с помощью /etc/fstab
    • Монтирование съёмного устройства
    • Размонтирование съёмного устройства
    • Принудительное размонтирование

    Введение

    Иерархия файловой системы Linux организована в виде большой древовидной структуры, где файловая система начинается с корневого каталога / . Все остальные дочерние файловые системы отходят от корневого каталога.

    Эти файлы могут быть распределены на различных устройствах в зависимости от вашей таблицы разделов fstab . Родительский каталог монтируется к этому дереву в / . Все остальные дочерние файловые системы отходят от корневого каталога.

    Все файловые системы не монтируемые автоматически можно смонтировать вручную с помощью графического интерфейса (если он доступен) или с помощью команды mount , которая передает инструкции монтирования ядру, завершающему операцию.

    Команда указывает ядру смонтировать файловую систему, найденную в устройстве [device] в каталог [dir] . Опция -t [type] необязательна и описывает лишь тип файловой системы (EXT3, EXT4, BTRFS, XFS, HPFS, VFAT и т. д.).

    Если команде mount не указан целевой каталог, то монтируются файловые системы, перечисленные в файле /etc/fstab .

    Пока файловая система смонтирована, предыдущее содержимое, владелец и режим каталога [dir] невидимы, а имя пути [dir] относится к корню файловой системы.

    Синтаксис

    Параметры

    Наиболее распространённые опции команды mount :

    -a Монтирование всех файловые системы, перечисленных в /etc/fstab -F Разветвление нового монтирования каждого устройства (используется в сочетании с опцией -a ) -l Список всех смонтированных файловых систем и добавление меток к каждому устройству -L [label] Монтирование раздела с указанным [label] -M Перемещение поддерева в другое место -O [opts] При использовании в сочетании с опцией -a ограничивает набор файловых систем -r Монтирование файловой системы в режиме только для чтения -R Перемонтирование поддерева в другом месте, делая его содержимое доступным в обоих местах -t [type] Указание типа файловой системы -T Использование для указания альтернативного файла /etc/fstab -v Монтирование подробно с описанием каждой операции -h Отображение файла справки со всеми параметрами команды -V Отображение информации о версии программы

    Использование команды mount в Linux

    Результат монтирования

    Команда mount возвращает одно из следующих значений, указывающих на статус завершения процесса:

    0 Успех 1 Неверный вызов команды или недостаточные разрешения 2 Системная ошибка 4 Ошибка внутреннего монтирования 8 Операция прервана пользователем 16 Проблемы с записью или блокировкой файла /etc/mtab 32 Сбой монтирования 64 По крайней мере, одна операция монтирования прошла успешно, но не все

    Запуск без параметров

    Запуск команды mount без каких-либо параметров позволяет отобразить все смонтированные файловые системы. В выходных данных также отображаются точки монтирования и параметры монтирования:

    oleg@mobile:~:$ mount proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) dev on /dev type devtmpfs (rw,nosuid,relatime,size=921624k,nr_inodes=230406,mode=755,inode64) run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64) /dev/sda6 on / type ext4 (rw,relatime) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot) pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=34,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=14043) mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime) tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime) debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M) configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime) fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime) ramfs on /run/credentials/systemd-tmpfiles-setup-dev.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700) ramfs on /run/credentials/systemd-sysctl.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=932020k,nr_inodes=1048576,inode64) /dev/sda5 on /mnt/ubuntu type ext4 (rw,relatime) /dev/sda3 on /mnt/win_d type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096) /dev/sda2 on /mnt/win_c type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096) /dev/sda8 on /home type ext4 (rw,relatime) ramfs on /run/credentials/systemd-tmpfiles-setup.service type ramfs (ro,nosuid,nodev,noexec,relatime,mode=700) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime) tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=186400k,nr_inodes=46600,mode=700,uid=1000,gid=984,inode64) gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=984) oleg@mobile:~:$

    Список определённых файловых систем

    Параметр -t позволяет пользователям указать, какие файловые системы отображать при выполнении команды mount . Например, чтобы показать только файловые системы ext4 , выполняется следующая команда:

    oleg@mobile:~:$ mount -t ext4 /dev/sda6 on / type ext4 (rw,relatime) /dev/sda5 on /mnt/ubuntu type ext4 (rw,relatime) /dev/sda8 on /home type ext4 (rw,relatime) oleg@mobile:~:$ 

    Монтирование файловой системы

    Для монтирования файловой системы указывается каталог или точка монтирования, к которой будет присоединена файловая система. Например, чтобы смонтировать файловую систему /dev/sdc в каталог /mnt/sdc следует выполнить:

    oleg@mobile:~:$ sudo mount /dev/sdc /mnt/sdc

    Для указания дополнительных параметров монтирования используется флаг -o , за которым перед именем устройства следуют параметры:

    mount -o [options] [device] [dir]

    Монтирование файловой системы с помощью /etc/fstab

    Файл конфигурации /etc/fstab содержит строки, описывающие место монтирования системных устройств и используемые ими параметры. Файл fstab используется для внутренних устройств, таких как устройства CD/DVD, также для общих сетевых ресурсов (samba /nfs/sshfs). Съёмные устройства обычно монтируются иначе.

    При ручном монтировании устройства и предоставлении команде mount только одного параметра ( [dir] или [device] ) утилита считывает содержимое файла конфигурации /etc/fstab . В случае наличия в его списке указанных файловых систем команда mount использует параметры монтирования, приведённые в /etc/fstab .

    Пример структуры файла /etc/fstab :

    oleg@mobile:~:$ cat /etc/fstab # Static information about the filesystems. # See fstab(5) for details. # /dev/sda6 UUID=6d031569-0134-4713-9cb8-4f55968dc362 / ext4 rw,relatime 0 1 # /dev/sda8 UUID=e0b4595f-9e86-4dcc-b334-7f50a012a79b /home ext4 rw,relatime 0 2 # /dev/sda5 # UUID=92369345-9663-4edb-86c1-58578e43edb5 /mnt/ubuntu ext4 rw,relatime 0 2 /dev/sda5 /mnt/ubuntu ext4 rw,relatime 0 2 # /dev/sda2 UUID=2C2E8B882E8B49B2 /mnt/win_c ntfs defaults 0 0 # /dev/sda3 UUID=0292C00092BFF66F /mnt/win_d ntfs uid=oleg,gid=users 0 0 # /dev/sda7 UUID=2cb45ba1-0d5f-493e-bb45-77b966f5fd6e none swap defaults 0 0 /dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0 oleg@mobile:~:$

    Монтирование съёмного устройства

    Подавляющее большинство современных дистрибутивов Linux автоматически монтируют съёмные устройства после их вставки. Однако, если автоматическое монтирование не удалось или вы отключили автоматическое монтирование по каким-либо своим причинам, то для монтирования съёмного устройства вручную выполняется ряд действий.

    Смотрим смонтированные устройства /dev/sd* :

    oleg@mobile:~:$ ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 фев 6 07:55 /dev/sda brw-rw---- 1 root disk 8, 1 фев 6 07:55 /dev/sda1 brw-rw---- 1 root disk 8, 2 фев 6 07:55 /dev/sda2 brw-rw---- 1 root disk 8, 3 фев 6 07:55 /dev/sda3 brw-rw---- 1 root disk 8, 4 фев 6 07:55 /dev/sda4 brw-rw---- 1 root disk 8, 5 фев 6 07:55 /dev/sda5 brw-rw---- 1 root disk 8, 6 фев 6 07:55 /dev/sda6 brw-rw---- 1 root disk 8, 7 фев 6 07:55 /dev/sda7 brw-rw---- 1 root disk 8, 8 фев 6 07:55 /dev/sda8 oleg@mobile:~:$ 

    Все устройства определяются как /dev/sda* .

    Теперь вставляем флешку и проверяем снова:

    oleg@mobile:~:$ ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 фев 6 07:55 /dev/sda brw-rw---- 1 root disk 8, 1 фев 6 07:55 /dev/sda1 brw-rw---- 1 root disk 8, 2 фев 6 07:55 /dev/sda2 brw-rw---- 1 root disk 8, 3 фев 6 07:55 /dev/sda3 brw-rw---- 1 root disk 8, 4 фев 6 07:55 /dev/sda4 brw-rw---- 1 root disk 8, 5 фев 6 07:55 /dev/sda5 brw-rw---- 1 root disk 8, 6 фев 6 07:55 /dev/sda6 brw-rw---- 1 root disk 8, 7 фев 6 07:55 /dev/sda7 brw-rw---- 1 root disk 8, 8 фев 6 07:55 /dev/sda8 brw-rw---- 1 root disk 8, 16 фев 6 11:47 /dev/sdb oleg@mobile:~:$ 

    Мы видим появление нового устройства /dev/sdb .

    Создаём для этого устройства точку монтирования, например /mnt/sdb :

    oleg@mobile:~:$ sudo mkdir /mnt/sdb

    Теперь монтируем устройство /dev/sdb в /mnt/sdb :

    oleg@mobile:~:$ sudo mount /dev/sdb /mnt/sdb

    В данном примере показано монтирование устройства USB. Внешний жёсткий диск, либо карта памяти монтируются точно так же.

    Размонтирование съёмного устройства

    Размонтировать подключенное устройство весьма просто. Для этого достаточно выполнить команду umount с указанием точки монтирования:

    oleg@mobile:~:$ sudo umount /mnt/sdb

    Принудительное размонтирование

    Для принудительного размонтирования файловой системы команда umount используется с опцией -f :

    oleg@mobile:~:$ sudo umount -f /mnt/sdb

    Будьте осторожны при принудительном размонтировании файловой системы, так как процесс может повредить данные в ней.

    Заключение

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

    Источник

    Читайте также:  Linux libstdc so 6
Оцените статью
Adblock
detector