Я пытаюсь записывать сообщения с определенного удаленного хоста на отдельный файл журнала (и только в этот файл). Я пробовал это:
Я пытаюсь смонтировать общий ресурс samba в Azure, используя строку подключения, которую они предоставляют рядом с моей общей папкой, и в 16.04 я получаю «Ошибка подключения 13, разрешение отказано»
Строка подключения после установки cifs-utils, работает точно так, как я ожидал, в Ubuntu Server 17.04
Строка подключения:
sudo mount -t cifs //<HOSTNAME>.file.core.windows.net/<SHARENAME> /mnt/etclol -o vers=3.0,username=<HOSTNAME>,password=<PASSWORD KEY>,dir_mode=0777,file_mode=0777,sec=ntlmssp
Я знаю, что в 16.04 есть проблема, которая предотвращает внешние подключения и подключения между регионами для Azure виртуальные машины, работающие с шифрованием, которое ядро 16.04 не поддерживает. Итак, я работал над этим:
Я изменил свой узел хранения с GRS (географически избыточное хранилище) на LRS (локально избыточное хранилище), что привело к тому, что у меня было два региона (Восток США и Центральный США), а теперь только Центральный США (то же как мои веб-серверы).
Я постоянно получаю ошибку монтирования 13 при попытке монтировать эти общие ресурсы в том же регионе и внутри Azure. Каждый пост, который я просматривал, наводит меня на мысль, что эта конфигурация будет работать.
Чтобы также убедиться, что это не проблема локального монтирования, я пробовал как монтирование chmod'd 0777, так и каталоги внутри мой домашний каталог. Я подумал, что это не имеет значения.
Мой единственный другой вариант - это миграция живых серверов 16.04 на 17.04, что будет работать, но будет довольно неудачно.
TL; DR: Почему это не работает в предлагаемой ими иерархии инфраструктуры . Бонус: есть ли способ заставить 16.04 внешне работать?
Насколько мне известно, Ubuntu 16.04 LTS поддерживает функцию шифрования SMB 3.0.
Возможно, мы сможем выполнить следующие действия, чтобы подключить файловый ресурс Azure:
1. Установите пакет cifs-utils
:
sudo apt-get update #we should update it then install cifs-utils
sudo apt-get install cifs-utils
2. Создайте папку для точки монтирования:
mkdir mymountpoint
3. Используйте команду mount для монтирования общего файлового ресурса Azure:
sudo mount -t cifs //<storage-account-name>.file.core.windows.net/<share-name> ./mymountpoint -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Подробнее об использовании Хранилище файлов Azure в Linux, пожалуйста, перейдите по этой ссылке .
============================= ==============================
Обновление :
На данный момент учетная запись хранения Azure поддерживает «Требуется безопасная передача», эта функция используется для SMB 2.1, SMB 3.0 без шифрования и некоторых разновидностей клиента SMB Linux.
По умолчанию ubuntu 16.04 поддерживает функцию шифрования SMB 3.0. поэтому мы должны отключить Требуется безопасная передача и подключить его напрямую.
Ubuntu 16.04LTS может поддерживать только шифрование паролей для SMB - поэтому учетные данные для доступа к хранилищу файлов Azure зашифрованы, но сами данные отправляются в виде открытого текста .
Когда вы используете службу файлов Azure, любое подключение без шифрование не удается, когда включена функция «Требуется безопасная передача». Этот включает сценарии с использованием SMB 2.1, SMB 3.0 без шифрования и некоторых разновидности клиента Linux SMB. По умолчанию "Безопасная передача параметр required "отключен.
О хранилище файлов Azure в Linux см. по этой ссылке .
Дополнительные сведения о Требовать безопасную передачу
см. здесь ] ссылка .
У меня такая же проблема на производственных серверах. Мы решили обновить Ubuntu 16.04 LTS до Ubuntu 16.10 (я убедился, что установка с включенной безопасной передачей работает). Я знаю, что это непростое решение, но только оно сработало для меня.
Положительным моментом является то, что обновление с 16.04 до 16.10 «безопаснее», чем с 16.04 до 17.04;)
Приведенный ниже контрольный список необходим для подключения общего файлового ресурса в виртуальной машине Azure Linux
cifs -utils.x86_64
должен быть установлен на Linux VM для доступа к общему ресурсу cifs