Монтирование сетевой папки в linux

Установка samba в Debian на домашнем компьютере

Установить можно как с помощью пакетного менеджера Synaptic так и с помощью терминала. Я расскажу как установить самба через терминал. Итак открываем терминал и от имени суперпользователя даем команду:

# apt-get install samba -y

1 # apt-get install samba -y

Завершите сеанс и зайдите в систему снова. Для того, что бы можно было легко отрыть доступ к папкам установите дополнение для файлового менеджера Nautilus, «nautilus-share». Командой в терминале:

sudo apt-get install nautilus-share

1 sudo apt-get install nautilus-share

После установки в наутилусе появится дополнительный пункт в контекстном меню «Общий доступ».

Теперь можно расшарить (сделать доступной по сети) любую папку прямо из файлового менеджера. Для этого кликните правым кликом по папке к которой собираетесь открыть доступ. Из контекстного меню выберите пункт общий доступ. В открывшемся окне поставьте флаг «Опубликовать эту папку».  И выставьте требуемые разрешения и оставьте комментарий. После чего нажмите кнопку «Создать ресурс».

Если при попытке открыть общий доступ к папкам через наутилус возникнет ошибка:

‘net usershare’ returned error 255: net usershare: usershares are currently disabled

Нужно сделать следующее. Откройте в терминале и отредактируйте файл:

sudo gedit /etc/samba/smb.conf

1 sudo gedit /etc/samba/smb.conf

В секции пропишите:

usershare path = /var/lib/samba/usershare
usershare max shares = 100
usershare allow guests = yes
usershare owner only = False
read only = No
guest only = Yes
guest ok = Yes

1
2
3
4
5
6
7
usershare path = /var/lib/samba/usershare
usershare max shares = 100
usershare allow guests = yes
usershare owner only = False
read only = No
guest only = Yes
guest ok = Yes

Сохраните и закройте. Затем создайте каталог ‘usershare’, где Samba будут храниться списки общих папок. Разрешите чтение и запись (следующие команды удобней выполнять от имени суперпользователя. Что бы переключится используйте команду su).

# mkdir /var/lib/samba/usershare
# chown root:sambashare /var/lib/samba/usershare
# chmod 1770 /var/lib/samba/usershare
# usermod -a -G sambashare <имя пользователя>

1
2
3
4
# mkdir /var/lib/samba/usershare
# chown root:sambashare /var/lib/samba/usershare
# chmod 1770 /var/lib/samba/usershare
# usermod -a -G sambashare <имя пользователя>

Перезапустите самба:

# /etc/init.d/samba restart

1 # /etc/init.d/samba restart

Либо команда для более новых систем:

sudo systemctl restart smbd

1 sudo systemctl restart smbd

Завершите сеанс и войдите снова. Теперь никаких ошибок быть не должно. Можно пользоваться. Посмотрите видеоролик — «Как установить и настроить samba в Debian:»

(Visited 895 times, 1 visits today)

Точки монтирования

Вам может быть интересно, почему мы так сфокусировались на кажущимся произвольно выбранном файле, содержащим в себе список точек монтрирования. Что в нём такого особенного? Список точек монтирования даёт процессу полное описание доступных файловых систем в системе и, поскольку мы пребываем на территории Linux с мантрой всё есть файл, видимость почти каждого ресурса диктуется этим описанием: от фактических файлов и устройств до информации о том, какие другие процессы также запущены в системе. Таким образом, это даёт огромный выигрыш в безопасности для , позволяющий точно указывать о каких именно частях системы будут в курсе команды, которые мы хотим выполнить. Пространства имён mount в сочетании с точками монтирования являются очень мощным инструментом, который позволит нам этого достичь.

Мы можем видеть точки монтирования, видимые для процесса с id посредством файла — его содержимое одинаково для всех процессов, принадлежащих к тому же mount namespace, что и :

В списке, полученном на моей системе, видно устройство , смонтированное в (ваше может быть другим). Это дисковое устройство, на котором размещена корневая файловая система, которая содержит всё что нужно для запуска и правильной работы системы, поэтому было бы здорово, если бы запускала команды без ведома о таких файловых системах.

Давайте начнём с запуска терминала в его собственном mount namespace:

Хммм, мы всё еще можем видеть тот же самый список, что и в корневом mount namespace. Особенно после того, как в предыдущем посте стало ясно, что новый user namepace начинается с чистого листа, может показаться, что флаг , который мы передали , не дал никакого эффекта.
Процесс шелла фактически выполняется в другом mount namespace (мы можем убедиться в этом, сравнив файл симлинка с файлом другой копии шелла, работающей в корневом mount namespace). Причина, по которой мы все еще видим тот же список, заключается в том, что всякий раз, когда мы создаем новый mount namespace (дочерний), в качестве дочернего списка используется копия точек монтирования mount namespace, в котором происходило создание (родительского). Теперь любые изменения, которые мы вносим в этот файл (например, путём монтирования файловой системы), будут невидимы для всех других процессов.
Однако изменение практически любого другого файла на этом этапе будет влиять на другие процессы, поскольку мы всё ещё ссылаемся на те же самые файлы (Linux только делает копии особых файлов, таких как список точек монтирования). Это означает, что сейчас у нас минимальная изолированность. Если мы хотим ограничить то, что будет видеть наш командный процесс, мы должны сами обновить этот список.

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

Лучшее решение — предоставить программе собственную копию зависимостей и системных файлов, которые требуются для запуска целиком в «песочнице», чтобы она могла вносить в них какие-либо изменения, не влияя на другие программы в системе. По лучшему сценарию мы можем поместить эти файлы в файловую систему и смонтировать её как корневую файловую систему (в корневой каталог ) до выполнения ничего не подозревающей программы. Идея заключается в том, что поскольку всё, что доступно процессу, должно достигаться через корневую файловую систему, и поскольку мы будем точно знать, какие файлы мы туда помещаем для командного процесса, мы будем спокойны, зная, что он должным образом изолирован от остальной системы.

Хорошо, в теории это звучит хорошо и для реализации этого мы сделаем следующее:

  1. Создадим копию зависимостей и системных файлов, необходимых команде.
  2. Создадим новый mount namespace.
  3. Заменим корневую файловую систему в новом mount namespace на ту, которая содержит копии наших системных файлов.
  4. Выполним программу в новом mount namespace.

Samba — это SMB для Linux

SMB — это протокол, технология, которая позволяет создать файловые сервер. В первой части я говорил, что в Linux функции сервера и клиента SMB выполняет Samba. Это не совсем так, на самом деле, в настоящее время Samba не только реализует возможности SMB, но и дублирует функционал сервера Доменов Active Directory (технология Windows, позволяющая управлять множеством компьютеров — кстати, про Active Directory скоро будет большой материал на HackWare.ru).

Далее мы будем говорить про Samba, но мы затронем только вопросы SMB.

Начните с установки пакетов samba и smbclient.

В Debian, Linux Mint, Ubuntu, Kali Linux и их производных для установки samba выполните команду:

В Arch Linux, BlackArch и их производных выполните команду:

Настройка автоматического монтирования сетевой папки в Linux

Автоматически монтируемые файловые системы прописываются в файле /etc/fstab. Откроем этот файл:

Теперь в него нужно добавить строку вида:

Мы добавили опцию nofail, чтобы ОС нормально загружалась даже если не удалось смонтировать данную файловую систему. Ещё добавьте опцию _netdev, эта опция означает, что файловая система находится на устройстве, которому требуется доступ к сети (используется для предотвращения попыток системы смонтировать эти файловые системы до тех пор, пока в системе не будет включена сеть).

Для моего примера это строка:

Сохраним и закроем этот файл. Для проверки выполним:

Если сетевая папка успешно смонтировалась, значит можно выполнить проверку перезагрузкой.

Если нужно смонтировать папку для входа в которую не требуется пароль, то используйте в качестве опции учётные данные «username=guest,password=»:

Либо можно по-прежнему использовать файл .smbcredentials, как это было показано выше:

/.smbcredentials запишите следующее:

Резервное копирование файла Fstab

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

Шаг 1: создайте папку на своем ПК для хранения резервной копии. Кроме того, рассмотрите возможность загрузки указанной резервной копии в такие службы, как Dropbox или Google Drive, для безопасного хранения.

mkdir ~/system-backups

Шаг 2: получите корневую оболочку с помощью sudo -s, а затем войдите в каталог / etc /.

cd /etc/

Шаг 3: создайте резервную копию и поместите ее в папку резервных копий.

cp fstab /home/username/system-backups

Шаг 4: переименуйте файл, чтобы он имел расширение .bak.

mv fstab fstab.bak

Восстановить резервную копию

Шаг 1: получите корневую оболочку с помощью sudo -s.

Шаг 2: войдите в каталог / etc / и удалите поврежденный файл fstab.

cd /etc/
rm fstab

Шаг 3: скопируйте резервную копию в папку / etc /.

cp /home/username/system-backups/fstab /etc/

Шаг 4: переименуйте резервную копию.

mv fstab.bak fstab

Команды ifconfig и route

В случаях поиска неисправностей, для отладки и т.д. сетевые интерфейсы можно настроить с помощью команд ifconfig и route. Настроим сначала локальный интерфейс, если он не настроен, тем более что его нужно настроить в любом случае. Он используется для связи программ IP-клиентов с IP-серверами, запущенными на этой же машине :

# ifconfig lo 127.0.0.1

В параметрах команды не указываем маску подсети, т. к. по умолчанию устанавливается маска подсети 255.0.0.0

Проверяем:

$ ping 127.0.0.1 -с 3 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.128 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.115 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.276 ms — 127.0.0.1 ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 2014ms rtt min/avg/max/mdev = 0.115/0.173/0.276/0.073 ms

Для нашего сетевого интерфейса даём команду:

# ifconfig eth0 192.168.123.254 netmask 255.255.255.0 broadcast 192.168.123.255 up

Проверяем:

$ ping 192.186.123.254 -c 3 PING 192.168.123.254 (192.168.123.254) 56(84) bytes of data. 64 bytes from 192.168.123.254: icmp_seq=1 ttl=64 time=0.312 ms 64 bytes from 192.168.123.254: icmp_seq=2 ttl=64 time=2.16 ms 64 bytes from 192.168.123.254: icmp_seq=3 ttl=64 time=0.248 ms — 192.168.123.254 ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 2025ms rtt min/avg/max/mdev = 0.248/0.909/2.169/0.891 ms

Перед тем, как добавить маршруты посмотрим таблицу маршрутизации:

# routeKernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface

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

# route add -net 127.0.0.0 netmask 255.0.0.0 lo

А для сетевого интерфейса выполняем сначала:

# route add -net 192.168.0.0 netmask 255.255.255.0 eth0

А затем добавим основной шлюз:

# route add default gw 192.168.123.1 eth0

Посмотрим опять таблицу маршрутизации:

# route

Kernel IP routing table

Destination

Gateway

Genmask

Flags

Metric

Ref

Use

Iface

localnet

*

255.255.255.0

U

eth0

loopback

*

255.0.0.0

U

lo

default

192.168.123.1

0.0.0.0

UG

eth0

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

Настройка автоматического монтирования сетевой папки в Linux

Автоматически монтируемые файловые системы прописываются в файле /etc/fstab. Откроем этот файл:

Теперь в него нужно добавить строку вида:

Мы добавили опцию nofail, чтобы ОС нормально загружалась даже если не удалось смонтировать данную файловую систему. Ещё добавьте опцию _netdev, эта опция означает, что файловая система находится на устройстве, которому требуется доступ к сети (используется для предотвращения попыток системы смонтировать эти файловые системы до тех пор, пока в системе не будет включена сеть).

Для моего примера это строка:

Сохраним и закроем этот файл. Для проверки выполним:

Если сетевая папка успешно смонтировалась, значит можно выполнить проверку перезагрузкой.

Если нужно смонтировать папку для входа в которую не требуется пароль, то используйте в качестве опции учётные данные «username=guest,password=»:

Либо можно по-прежнему использовать файл .smbcredentials, как это было показано выше:

/.smbcredentials запишите следующее:

Размонтирование файловых систем NFS

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

Чтобы отсоединить смонтированный общий ресурс NFS, используйте команду за которой следует либо каталог, в котором он был смонтирован, либо удаленный общий ресурс:

Если для монтирования NFS есть запись в , удалите ее.

Команда не сможет отсоединить общий ресурс, когда смонтированный том используется. Чтобы узнать, какие процессы обращаются к общему ресурсу NFS, используйте команду :

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

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

Если удаленная система NFS недоступна, используйте параметр ( ) для принудительного размонтирования.

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

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

Монтирование в Linux позволяет получить доступ к содержимому диска и организовать структуру файловой системы. С помощью монтирования также можно открыть для работы образ диска (например, созданного с помощью программы dd), а также открыть для доступа и редактирования самые разные файловые системы и образы дисков (например, образы дисков виртуальных машин); даже удалённые сетевые директории могут быть смонтированы, в результате чего они станут доступны как будто бы файлы на любом другом локальном хранилище.

Кроме того, что с помощью монтирования можно работать с образами дисков, правильные настройки монтирования необходимы для компьютера к которому подключается диск для криминалистического анализа — например, этот диск не должен автоматически монтироваться с правами записи (чтобы не быть испорченным).

В Linux есть такое понятие как «монтирование» диска. Чтобы получить доступ к файлам на этом диске, его нужно сначала смонтировать. Может возникнуть вопрос, зачем такие сложности? Монтирование это мощнейшая вещь, которая позволяет поразительно гибко настроить файловую систему!

Суть монтирования в том, что в файловой системе создаётся новая директория (обычная папка), допустим, это папка /mnt/disk_d. А затем командой mount указывается, что теперь, например, диск /dev/sda смонтирован в директорию /mnt/disk_d. После этого можно получить доступ к файлам диска /dev/sda открыв папку /mnt/disk_d в любом менеджере файлов:

С помощью такого подхода — когда любой диск может быть любой папкой в системе, можно делать очень гибкую настройку. Самый частый пример, встречающийся на практике: файлы пользователя хранятся в папке /home/имя_пользователя/, например, у меня это папка /home/mial/. При установке операционной системы я могу сделать так, что мой второй или третий диск (а не системный) будет смонтирован в точку /home/mial/. То есть вся операционная система будет располагаться на одном диске, а все мои пользовательские файлы — на другом. Что это даёт? В случае переустановки системы, я вновь настрою монтирование диска с моими файлами в папку /home/mial/ и в результате в новой, только что установленной системе, уже будут на месте все мои документы, фотографии и прочее!

Поскольку часто узким местом в мощных компьютерах является скорость чтения с диска, то на на серверах с высокой нагрузкой практикуется перенос файлов баз данных (например, /var/lib/mysql/ на другой диск), возможен перенос файлов сервера (/srv/http/) на третий диск, файлов логов (/var/log/httpd/) на ещё один диск и т. д. Это позволяет добиться того, что данные из баз данных считываются независимо от записи журналов, то есть пока выполняются операции чтения-записи для одного процесса, другому процессу не нужно ждать своей очереди — всё выполняется одновременно.

Ещё монтирование позволяет выбрать различные режимы, например, диск можно смонтировать в режиме «только чтение» — в результате с него можно будет просматривать файлы, но испортить этот диск невозможно.

В общем, несмотря на то, что монтирование является чем-то непривычным для пользователей Windows, это потрясающая функция! Причём ничего сложного в этом нет, если понять суть.

Авто монтаж

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

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

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

Откройте файл в текстовом редакторе :

    Добавьте следующую строку в файл:

/etc/fstab

    Выполните следующую команду для монтирования общего ресурса:

Команда, будет читать содержание и установить долю.

При следующей перезагрузке системы общий ресурс Windows будет смонтирован автоматически.

Протестировать скорость диска

Проверка реальной скорости диска задача не простая. Во-первых, в операционной системе есть кэш. Если используется рейд контроллер, то в нем тоже есть свой кэш

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

Так что я предлагаю пару простых способов измерить скорость записи и чтения на глазок, просто чтобы прикинуть или сравнить разные диски.

# sync; dd if=/dev/zero of=tempfile bs=1M count=12000; sync
12000+0 records in
12000+0 records out
12582912000 bytes (13 GB, 12 GiB) copied, 14.4436 s, 871 MB/s

Это обычный ssd диск Samsung 860 EVO. Виртуальная машина работает на нем. А вот результат на рейд контроллере с отложенной записью, где массив raid10 собран из 4-х sata hdd.

# sync; dd if=/dev/zero of=tempfile bs=1M count=2000; sync
2000+0 records in
2000+0 records out
2097152000 bytes (2.1 GB) copied, 1.83823 s, 1.1 GB/s

Тут явно запись полностью попадает в кэш контроллера, поэтому такая нереальная скорость для обычных hdd дисков. Привожу это для примера, чтобы вы понимали, что то, что вы видите на тестах скорости это не всегда скорость самих дисков. Вот обычный софтовый raid1 на двух hdd дисках.

# sync; dd if=/dev/zero of=tempfile bs=1M count=6000; sync
6000+0 records in
6000+0 records out
6291456000 bytes (6.3 GB) copied, 37.7701 s, 167 MB/s

Скорость чтения диска можно измерить, к примеру, с помощью программы hdparm. Ставится из стандартных репозиториев.

# apt install hdparm
# hdparm -t /dev/vda1
/dev/vda1:
 Timing buffered disk reads: 742 MB in  3.00 seconds = 247.13 MB/sec

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

Монтирование сетевой папки windows в debian

Монтирование папки(ок) может осуществляться несколькими методами. В данном случае, мы будем использовать CIFS Для этой цели нам потребуется установленный пакет cifs-utils, в Ubuntu и Debian установить его можно командой:

!ВАЖНО: Желательно перезагрузиться. Вот такой командой можно примонтировать папку, требующую авторизации по логину и паролю:

Вот такой командой можно примонтировать папку, требующую авторизации по логину и паролю:

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

При удачном выполнении этих команд не должно произойти никакого уведомления – можете смело проверять как примонтировалась папка. Для того чтобы осуществить автомонтирование таких папок нам придется отредактировать системный файл fstab. Также, если доступ к необходимому windows-ресурсу требует обязательной авторизации, то потребуется предварительно создать файл, в котором будут прописаны логин и пароль доступа (сделать это можно любым текстовым редактором, например nano):

В этот новый файл добавьте две строки:

где, соответственно, windowsuser – имя пользователя с необходимыми правами доступа к ресурсу Windows, windowspass – пароль этого пользователя. Измените права созданного файла так, что редактировать и смотреть его смог только root, то есть сама система:

Сохраните изменения и переходите к редактированию файла /etc/fstab:

И здесь в самом конце добавьте строку типа:

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

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

И, соответственно, если требуется только лишь гостевой доступ в режиме чтения к windows-папке, то будет достаточно такой строки:

Для того, чтобы проверить корректно ли монтируется shared-папка из fstab без перезагрузки нужно выполнить такую команду:

Удалить общий ресурс можно командой:

В некоторых случаях, бывает отсутствует возможность вместо IP адреса использовать DNS. Для этого необходимо воспользоваться установкой winbind, в Debian-based:

После этого отредактируйте файл /etc/nsswitch.conf:

перед dns добавьте wins, то есть после редактирования она должна выглядеть вот так:

!ВАЖНО: Необходимо перезагрузиться, чтобы корректно заработало преобразование DNS имен

Онлайн курс “Data Engineer”

Онлайн-курс Data Engineer – для разработчиков, администраторов СУБД и всех, кто стремится повысить профессиональный уровень, освоить новые инструменты и заниматься интересными задачами в сфере работы с большими данными. Курс не для новичков – нужно пройти вступительный тест.Выпускники курса смогут:

  • разворачивать, налаживать и оптимизировать инструменты обработки данных;
  • адаптировать датасеты для дальнейшей работы и аналитики;
  • создавать сервисы, которые используют результаты обработки больших объемов данных;
  • отвечать за архитектуру данных в компании.

Проверьте себя на вступительном тесте и смотрите программу детальнее по

Онлайн курс «DevOps практики и инструменты»

Помогла статья? Подписывайся на telegram канал автора

16 комментариев

Все объекты, что в шаре, стали иметь владельца root))) Даже если монтировать через sudo.

Внесу, пожалуй, свои 5 копеек:

server min protocol = SMB2 server max protocol = SMB3 client min protocol = SMB2 client max protocol = SMB3 min protocol = SMB2 max protocol = SMB3 client ipc min protocol = SMB2

В случае монтирования из консоли, так же лучше указать это в опциях, пример:

Спасибо за содержательное и полезное дополнение. Сразу ответили на вопрос, который давно у меня зрел в голове, но никак не доходили руки уточнить. Как явно указать использовать определенную версию протокола smb.

Пробовал у себя как у Вас в примере написано, не заработало, повернул слеши и шара подцепилась. Правда у меня не CentOS, а Mageia, но fstab думаю и в Африке fstab :))

Спасибо за замечание. Вы правы, слеши должны быть в другую сторону, как и в команде на ручное монтирование. Это была ошибка.

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

Команда для автоматического монтирования не сработала. Добавил в /etc/fstab. Подскажите в чем может быть проблема. Может какие-то логи можно посмотреть?

В логах должна отразиться ошибка. Если через fstab совсем не получается и не понятно почему, а через консоль монтирует, то можно команду для монтирования через консоль просто добавить в /etc/rc.local Эффект будет тот же самый.

слеши в начале строчки разверни в другую сторону, по линуксовому =)

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

Следующие инструкции применимы для всех дистрибутивов Linux и macOS.

Чтобы смонтировать удаленный каталог, пользователь SSH должен иметь к нему доступ. Команда монтирования SSHFS принимает следующий вид:

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

Например, чтобы смонтировать домашний каталог пользователя с именем «linuxize» на удаленном хосте с IP-адресом «192.168.121.121», сначала создайте каталог, который будет служить точкой монтирования, это может быть любое место, которое вы хотите:

Затем используйте команду sshfs для монтирования удаленного каталога:

Вам будет предложено ввести пароль пользователя. Чтобы не вводить пароль каждый раз при монтировании удаленного каталога, сгенерируйте ключи SSH и настройте вход SSH без пароля .

Теперь вы можете взаимодействовать с каталогами и файлами, расположенными на удаленном сервере, точно так же, как и с локальными файлами. Например, вы можете редактировать, удалять, переименовывать или создавать новые файлы и каталоги.

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

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

/etc/fstab

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

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

Пользователи Windows могут использовать проводник Windows, чтобы подключить сетевой диск к удаленному каталогу на SSH-сервере.

Откройте проводник Windows, щелкните правой кнопкой мыши «Этот компьютер» и выберите «Подключить сетевой диск». Выберите диск для монтирования и в поле «Папка» введите удаленного пользователя, сервер и путь в следующем формате:

На момент написания этой статьи SSHFS-Win не поддерживает аутентификацию на основе ключей, поэтому удаленный сервер SSH должен быть настроен для принятия аутентификации на основе пароля.

Монтирование файловых систем NFS вручную

Подключение удаленного общего ресурса NFS аналогично монтированию обычных файловых систем.

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

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

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

    Точка монтирования — это каталог на локальном компьютере, где должен быть смонтирован общий ресурс NFS.

  2. Подключите общий ресурс NFS, выполнив следующую команду от имени пользователя root или пользователя с привилегиями sudo :

    Где — это IP-адрес сервера NFS, — это каталог, который сервер экспортирует, а — локальная точка монтирования.

    В случае успеха вывод не производится.

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

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

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

Когда вы монтируете общий ресурс вручную, подключение общего ресурса NFS не сохраняется после перезагрузки.

Как из linux зайти в общую папку windows

CIFS (Common Internet File System) — это популярный протокол обмена файлами в Интернете. Этот протокол и позволит пользователям ОС Linux получить доступ к общей папке Windows.

CIFS — это реализация SMB (Server Message Block) — протокола, используемого для совместного использования сетевых файлов. Но он устарел.

В этой статье мы по шагам пройдем все этапы установки и настройки CIFS, чтобы подключиться к сетевому ресурсу Windows на ОС Linux.

Установка CIFS

Сейчас мы установим пакет cifs-utils на Ubuntu Linux (точно так же можно сделать на всех Debain-подобных ОС).

Монтируем Windows Share (сетевой ресурс)

Сейчас мы разберем на примерах, как монтировать общую папку Windows вручную и автоматически.

Создадим на нашем Linux директорию, к которой мы будем монтировать сетевой ресурс. Назовем ее myshare и расположена она будет в каталоге /mnt

Сетевой ресурс (шара) Windows может быть примонтирован к ОС Ubuntu или Debian с помощью следующей команды:

WIN_HOST_IP — это IP адрес хоста Windows, на котором расположена общая папка

share — имя сетевого ресурса

user — наш пользователь и Passw0rd — пароль с которыми мы подключемся к шаре.

Если пользователь доменный, то необходимо в опциях (-o) указать домен.

По-умолчанию сетевой ресурс монтируется с полными правами (rwx или 777). Если Вы хотите установить иные права, используйте опции dir_mode и file_mode.

Так же Вы можете установить владельцев uid (id пользователя) и gid (id группы).

Если после выполнения предыдущих команд Вы не получили никаких ошибок, то можете с помощью команды df -h убедиться, что сетевой ресурс успешно примонтирован к нашему ПК на Linux. В примере WIN_HOST_IP = 192.168.1.100 и имя общей папки share

Безопасность учетных данных при монтировании через CIFS

В этом разделе опишем, как лучше всего передавать учетные данные (имя пользователя, пароль, домен) при монтировании сетевого ресурса к ОС на базе Линукс.

Создайте файл с учетными данными для cifs: /etc/cifs-credentials

Внутрь поместите следующее содержимое:

Задайте права для этого файла:

Теперь мы можем подключить общую папку такой командой:

Как сделать автоматическое монтирование общей папки Windows

В примерах выше, после того, как Вы перезагрузите свой ПК, сетевой ресурс не примонтируется. Поэтому сделаем так, чтобы шара подключалась автоматически. В Linux это делается через файл /etc/fstab. Откройте этот файл любимым редактором.

И добавьте такую строку:

Следующей командой запустим монтирование всех точек, описанных в /etc/fstab

Теперь наш удаленный сетевой ресурс будет доступен даже после перезагрузки.

Как размонтировать общую папку CIFS

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

Часто бывает так, что сетевой ресурс занят каким-то процессом и тогда Вы получите ошибку при попытке размонтирования, тогда запустите команду с ключем -l (—lazy)

Возможно Вам будет это инетересно

Как сделать загрузочную флешку Linux Mint

7 thoughts on “Как подключить общую папку (сетевой ресурс, шару) Windows к Linux”

CIFS: Attempting to mount //192.168.10.250/home CIFS VFS: Error connecting to socket. Aborting operation. CIFS VFS: cifs_mount failed w/return code = -2 CIFS: Attempting to mount //192.168.10.250/home/Drive/школа/English CIFS VFS: Error connecting to socket. Aborting operation. CIFS VFS: cifs_mount failed w/return code = -2 CIFS: Attempting to mount //192.168.10.250/Учебный_год_3В CIFS VFS: Error connecting to socket. Aborting operation. CIFS VFS: cifs_mount failed w/return code = -2 usb 1-1: reset high-speed USB device number 2 using ehci-pci random: crng init done random: 7 urandom warning(s) missed due to ratelimiting tg3 0000:3f:00.0 enp63s0: Link is up at 100 Mbps, full duplex tg3 0000:3f:00.0 enp63s0: Flow control is off for TX and off for RX IPv6: ADDRCONF(NETDEV_CHANGE): enp63s0: link becomes ready

Все бы хорошо, но не успевает сетевуха поднять линк

дальше вручную «sudo mount -a» и все взлетает

CIFS: Attempting to mount //192.168.10.250/home CIFS: Attempting to mount //192.168.10.250/Учебный_год_3В CIFS: Attempting to mount //192.168.10.250/home/Drive/школа/English

вот вопрос, как бы заставить монтироваться после поднятия линка и получение адреса

ноут по wifi нормально отрабатывает, а системник с обычной сетевухой нет

Монтирование что это?

Монтирование – это подключение диска, раздела, каталога или файла в корневую систему Linux.

Как уже сказано было выше, в ОС «Линукс» имеется общая корневая система. Именно к ней подключаются все устройства и ресурсы, которыми пользуется владелец ПК. Если углубиться в эту сферу более подробно, Windows выполняет процедуры аналогично, но все процесс скрыты от пользователя.

После монтирования определённый раздел становится частью корневой системы, которая всяческими способами пытается сделать свою работу максимально прозрачной. К примеру, после монтирования оперативной памяти или удаленной системной папки пользователь может изучить ее в файловом менеджере. Допускается работа с такими разделами. Она будет аналогична работе, которая касается локального диска.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Союз-Маркет
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: