Смонтируйте сетевой ресурс с помощью NFS с именем пользователя / паролем - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь смонтировать NAS с помощью nfs для приложения.Команда хранения экспортировала его на хост-сервер, и я могу получить к нему доступ по адресу /nas/data.

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

Так что единственное альтернативное решение, которое у меня есть, это монтирование этой папки nas во время запуска контейнера с именем пользователя /password.

Команда ниже работает нормальнона акции, поддерживающей Unix / Windows.Я могу смонтировать при запуске контейнера

mount -t cifs  -osec=ntlmv2,domain=mydomain,username=svc_account,password=password,noserverino //nsnetworkshare.domain.company/share/folder /opt/testnas

Мне сказали, что мы должны использовать опцию nfs вместо cifs. Так что просто попытайтесь выяснить, будет ли использование nfs или cifsне имеет значения.

Задание параметра nfs приводит к появлению ошибки ниже.

 mount -t nfs -o nfsvers=3,domain=mydomain,username=svc_account,password=password,noserverino //nsnetworkshare.domain.company/share/folder /opt/testnas


mount.nfs: remote share not in 'host:dir' format

Кажется, что команда ниже 'тоже не работает.

 mount -t nfs -o nfsvers=3,domain=mydomain,username=svc_account,password=password,noserverino nsnetworkshare.domain.company:/share/folder /opt/testnas

mount.nfs: an incorrect mount option was specified

Я не смог't найти пример опции -t nfs с именем пользователя / паролем.Поэтому я думаю, что мы не можем использовать mount -t nfs с учетными данными.

Пожалуйста, добавьте идеи.

Спасибо,
Вишну

Ответы [ 2 ]

0 голосов
/ 22 августа 2019

CIFS - это протокол обмена файлами.NFS - это протокол разделения томов.Разница между этими двумя понятиями может и не быть очевидной.

NFS по сути является небольшим шагом по сравнению с прямым совместным использованием / dev / sda1.На самом деле клиент получает голое представление общего подмножества файловой системы, включая (по крайней мере, для NFSv4) описание того, какие пользователи могут получить доступ к каким файлам.Клиент должен фактически управлять разрешениями, которым пользователю разрешен доступ к каким файлам.

CIFS, с другой стороны, управляет пользователями на стороне сервера и может предоставлять представление для каждого пользователя идоступ к файлам.В этом отношении он похож на FTP или WebDAV, но с возможностью чтения / записи произвольных подмножеств файла, а также нескольких других функций, связанных с блокировкой.

Может показаться, что NFSзаметно уступает CIFS, но на самом деле они предназначены для другой цели.NFS наиболее полезна для внешних жестких дисков, подключенных через Ethernet, и виртуального облачного хранилища.В таких случаях предполагается использовать сам диск совместно с машиной, а просто сделать это через Ethernet, а не через SATA.Для этого случая использования NFS предлагает большую простоту и скорость.NAS, как вы используете, на самом деле является прекрасным примером этого.Во-первых, он не предназначен для управления доступом, он не должен подвергаться воздействию систем, которые к нему не должны обращаться.

Если вы абсолютно ДОЛЖНЫ использовать NFS, есть несколько способов обезопасить себя.Это.NFSv4 имеет дополнительную модель безопасности, основанную на Kerberos.Удачи в этом.Лучший вариант - не разрешать прямое подключение к службе NFS с хоста, а вместо этого требовать прохождения через некоторый безопасный туннель, такой как переадресация порта SSH.Тогда безопасность сводится к созданию туннеля.Однако любой из них требует сотрудничества с хостом, что, вероятно, было бы невозможно в случае вашего NAS.

Имейте в виду, если вы уже используете CIFS, и он работает хорошо, и это дает вамхороший контроль доступа, нет веских причин для переключения (хотя для безопасности вам придется отключить NFS).Однако, если у вас есть хост в стиле докера, возможно, стоит поиграть с iptables (или брандмауэром по вашему выбору) на хосте docker, чтобы предотвратить доступ других контейнеров к NAS в первую очередь.Вместо того, чтобы делегировать безопасность NAS, это следует делать на уровне узла докера.

0 голосов
/ 04 декабря 2018

Что ж, я бы сказал, перейдите с CIFS, поскольку NFS (Old) немногие из Linux / Unix bistro даже перестали его поддерживать.

NFS - это «Сетевая файловая система», специально используемая для операционных систем Unix и Linux.Он обеспечивает прозрачную передачу файлов между серверами и компьютерами конечных пользователей, такими как настольные компьютеры и ноутбукиNFS использует клиент-серверную методологию, позволяющую пользователю просматривать файлы для чтения и записи в компьютерной системе.Пользователь может смонтировать всю или часть файловой системы через NFS.

CIFS - это сокращение от «Common Internet File System», используемое операционными системами Windows для обмена файлами.CIFS также использует методологию «клиент-сервер», когда клиент запрашивает серверную программу для доступа к файлу. Сервер выполняет запрошенное действие и возвращает ответ.CIFS - это открытая стандартная версия протокола блокировки сообщений сервера (SMB), разработанная и используемая Microsoft и использующая протокол TCP / IP.

Если у меня Linux <-> Linux, я бы выбрал nfs, но еслиэто Windows <-> Linux cifs будет лучшим вариантом.

...