Отмонтировать сетевой диск linux

Помогите размонтировать сетевой диск недоступного хоста.

Пытаюсь написать скрипт для openvpn, который должен монтировать сетевые диски при подключении определенных пользователей и размонтировать их при отключении. Основная проблема заключается в том, что openvpn настроен на роботу с пониженными привелегиями. И если с монтированием эта проблема решается добавлением в fstab строчек вида

//10.10.10.10/writeable /disk/network/writeable cifs noauto,_netdev,users,guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777,cache=none 0 0

то с размонтированием у меня возникли проблемы. Пока хост доступен umount работает и с правами пользователя. Но мне надо размонтировать диск как раз когда хост не доступен и тут он ругается что хост недоступен и диск не размонтирует. Как я понимаю надо вот так umount -l -f но на это он ругается что только root так может.

хз, посмотри это, вдруг идея возникнет (например, добавить атрибут user помимо users) https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=662078

А какая система? Версии софта, ядра?

Linux SERVER-2C68EF67A5 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) i686 GNU/Linux
mount.cifs version: 6.4
mount from util-linux 2.25.2 (libmount 2.25.0: selinux, assert, debug)
umount from util-linux 2.25.2 (libmount 2.25.0: selinux, assert, debug)

А разве user и users это не взаимно исключающие атрибуты. Как я понимаю user разрешает определенному пользователю, а users разрешает всем пользователям. Немного уточню проблему. Как и говорил выше, если хост с сетевым диском доступен, то шара размонтируется без проблем, обычным пользователем, простой командой umount /путь/. Но как только хост с шарой становиться не доступным, ни простой пользователь, ни даже root командой umount, без дополнительных опций, размонтировать шару не может. Что бы размонтировать нужно добавит к umount -l -f и тогда шара будет отмонтирована, но проблема в том что использовать дополнительные опции в umount может только root, а мне надо что бы такие права на определенные шары были у непривилегированного пользователя. В связи с этим возникает вопрос куда и что нужно добавить что бы umount работал с этими опциями от пользователя.

Ну так настрой sudo для этой команды и пользователя из под которого openvpn запускается, в чём проблема-то?

Pinkbyte ★★★★★ ( 16.07.15 10:46:42 MSK )
Последнее исправление: Pinkbyte 16.07.15 10:46:50 MSK (всего исправлений: 1)

Как я понимаю user разрешает определенному пользователю, а users разрешает всем пользователям.

ЕМНИП один из этот атрибутов не_рабочий. Ошибочный. Кажется user разрешает монтирование пользователю. А users попал в некоторые fstab сугубо по недоразумению. Ошибка разработчиков. Либо наоборот.

Читайте также:  Linux cad cam cae

Как «не очень безопасное, но рабочее решение» можно в sudoers добавить разрешение определенной группе запускать umount с нужными параметрами, но это на свой страх и риск.

autofs и /thread, а что такое — thread или это опечатка тега.

Огромное всем спасибо за подсказки куда копать. Получилось от простого пользователя отмонтировать диски с доп опциями. Правда мне это не особо помогло. т.к. на данную операцию уходит около двух минут и всё это время приложение висит. Плюс проблемы с завершением работы тоже на 2 минуты зависание.

sudo visudo # Редактируем /etc/sudoers и добавляем строчку изменив под себя
you_user_name ALL=NOPASSWD:/bin/umount -f /disk/network/writeable, /bin/umount -f /disk/network/backup

После чего пользователь с именем you_user_name получит права на размонтирования двух дисков вот такой командой

sudo umount -f /disk/network/writeable
sudo umount -f /disk/network/backup

P.S. добавлять пользователя you_user_name в группу sudo не надо и категорически нельзя.

На фоне первого варианта autofs показался куда интересней, хоть он тоже не размонтирует недоступные сетевые диски, но так как большую часть времени они не используются, то получаются почти всегда отмонтированными и вероятность совпадения разрыва связи с сервером и использования в это время диска стремится к 0.

Вот только ругается чего то, вот такими сообщениями

automount[8029]: key «*» not found in map source(s).

Но работает и все диски монтирует.

/disk/network /etc/auto.network —timeout=10 —ghost
/disk/network/wd8000 /etc/auto.wd8000 —timeout=10 —ghost
/disk/network/yandex /etc/auto.webdav —timeout=60 —ghost

writeable -fstype=cifs,guest,rw,iocharset=utf8,file_mode=0666,dir_mode=0777,cache=none ://10.10.10.10/writeable
backup -fstype=cifs,guest,rw,iocharset=utf8,file_mode=0666,dir_mode=0777,cache=none ://10.10.10.18/backup

foto -fstype=cifs,guest,ro,iocharset=utf8,file_mode=0444,dir_mode=0555 ://10.10.10.10/foto
download -fstype=cifs,guest,ro,iocharset=utf8,file_mode=0444,dir_mode=0555 ://10.10.10.10/download
cartoons -fstype=cifs,guest,ro,iocharset=utf8,file_mode=0444,dir_mode=0555 ://10.10.10.10/cartoons
films -fstype=cifs,guest,ro,iocharset=utf8,file_mode=0444,dir_mode=0555 ://10.10.10.10/films
music -fstype=cifs,guest,ro,iocharset=utf8,file_mode=0444,dir_mode=0555 ://10.10.10.10/music

/disk/network/yandex/user1 user1 my_password
/disk/network/yandex/user2 user2 my_password
/disk/network/yandex/user3 user3 my_password

Источник

Монтирование и размонтирование сетевого каталога в Linux

Или «ленивое» размонтирование, оно ожидает завершения всех операций с диском, а затем размонтирует каталог, при этом точка монтирования пропадает из списка примонтированных файловых систем /etc/mtab сразу

umount -t cifs -l /DIR/dest
//192.168.10.15/DIR/Source /DIR/dest cifs defaults 0 0
//192.168.10.15/DIR/Source /DIR/dest cifs credentials=/home/.mount_credentials,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
  • Настройка сети в Linux
  • Настройка и подключение к Linux по SSH с использованием паролей и ключей
  • SELinux в Linux
  • Настройка Linux в качестве Master Browser
  • Монтирование и размонтирование сетевого каталога в Linux
  • Создание пользователя с правами sudo в Linux
  • LVM в Linux
  • LVM увеличение размера раздела за счет размера другого раздела в Linux
  • Не отображаются русские буквы в консоли Linux
  • Работа с редактором VIM в Linux
  • Разрешения и владельцы файлов и каталогов в Linux
  • Пользователи и группы в Linux
  • Управление пакетами и репозиториями APT, DPKG в Ubuntu
  • Управление пакетами и репозиториями YUM, RPM в CentOS
  • Firewalld в Linux
  • Управление службами через SYSTEMCTL в Linux
  • Устройства и виртуальные файловые системы в Linux
  • История команд в Linux
  • Ссылки в Linux
  • Логи в Linux
  • Потоки и конвейеры в Linux
  • Обработка консольного текстового вывода в Linux
Читайте также:  Linux mint запрашивает пароль

Источник

Как монтировать и размонтировать файловые системы в Linux

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

Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.

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

Как вывести список подключенных файловых систем

При использовании без аргументов команда mount отобразит все подключенные в данный момент файловые системы:

По умолчанию вывод будет включать все файловые системы, включая виртуальные, такие как cgroup, sysfs и другие. Каждая строка содержит информацию об имени устройства, каталоге, в который оно смонтировано, типе файловой системы и параметрах монтирования в следующей форме:

device_name on directory type filesystem_type (options) 

Чтобы отобразить только определенные файловые системы, используйте параметр -t .

Например, чтобы распечатать только разделы ext4, которые вы должны использовать:

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

Чтобы смонтировать файловую систему в указанном месте (точке монтирования), используйте команду mount в следующей форме:

mount [OPTION. ] DEVICE_NAME DIRECTORY 

После присоединения файловой системы точка монтирования становится корневым каталогом смонтированной файловой системы.

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

sudo mount /dev/sdb1 /mnt/media

Обычно при монтировании устройства с общей файловой системой, такой как ext4 или xfs команда mount автоматически определяет тип файловой системы. Однако некоторые файловые системы не распознаются и требуют явного указания.

Используйте параметр -t чтобы указать тип файловой системы:

mount -t TYPE DEVICE_NAME DIRECTORY 

Чтобы указать дополнительные параметры монтирования , используйте параметр -o :

mount -o OPTIONS DEVICE_NAME DIRECTORY 

Несколько вариантов могут быть представлены в виде списка, разделенного запятыми (не вставляйте пробел после запятой).

Вы можете получить список всех вариантов монтирования, набрав в терминале man mount .

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

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

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

Читайте также:  Подключение консоли linux windows

Файл /etc/fstab содержит список записей в следующем виде:

[File System] [Mount Point] [File System Type] [Options] [Dump] [Pass] 

Используйте команду mount в одной из следующих форм, чтобы присоединить файловую систему, указанную в /etc/fstab :

mount [OPTION. ] DIRECTORY mount [OPTION. ] DEVICE_NAME 

Установка USB-накопителя

В большинстве современных дистрибутивов Linux, таких как Ubuntu, USB-накопители автоматически монтируются, когда вы их вставляете, но иногда вам может потребоваться вручную смонтировать диск.

Чтобы вручную подключить USB-устройство, выполните следующие действия:

    Создайте точку монтирования:

sudo mount /dev/sdd1 /media/usb
fdisk -l ls -l /dev/disk/by-id/usb* dmesg lsblk

Чтобы смонтировать USB-накопители в формате exFAT, установите бесплатный модуль и инструменты FUSE exFAT .

Монтирование файлов ISO

Вы можете смонтировать файл ISO с помощью устройства loop, которое представляет собой специальное псевдоустройство, которое делает файл доступным как блочное устройство.

    Начните с создания точки монтирования, это может быть любое место, которое вы хотите:

sudo mount /path/to/image.iso /media/iso -o loop

Монтирование NFS

Чтобы смонтировать общий ресурс NFS, в вашей системе должен быть установлен клиентский пакет NFS.

    Установите клиент NFS в Ubuntu и Debian:

sudo apt install nfs-common
sudo yum install nfs-utils

Выполните следующие действия, чтобы смонтировать удаленный каталог NFS в вашей системе:

    Создайте каталог, который будет точкой монтирования для удаленной файловой системы:

Добавьте в файл следующую строку, заменив remote.server:/dir IP-адресом сервера NFS или именем хоста и экспортированным каталогом:

#     remote.server:/dir /media/nfs nfs defaults 0 0

Отключение файловой системы

Чтобы отсоединить смонтированную файловую систему, используйте команду umount после которой укажите либо каталог, в котором она была смонтирована (точка монтирования), либо имя устройства:

umount DIRECTORYumount DEVICE_NAME

Если файловая система используется, команда umount не сможет отсоединить файловую систему. В таких ситуациях вы можете использовать команду fuser чтобы узнать, какие процессы обращаются к файловой системе:

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

Ленивое отключение

Используйте параметр -l ( —lazy ), чтобы отключить занятую файловую систему, как только она больше не будет занята.

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

Используйте параметр -f ( —force ), чтобы принудительно размонтировать. Этот параметр обычно используется для отключения недоступной системы NFS.

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

Выводы

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

Чтобы узнать больше о параметрах команд mount и umount , см. Соответствующие страницы руководства.

Источник

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