Как надежно подключить сетевой ресурс для конкретного пользователя с помощью автомонтирования?

У меня есть Synology NAS и Mac mini с Plex и XBMC, который передает контент с NAS. ММ часто теряет соединение с NAS по нескольким причинам (например, после обновления/перезагрузки NAS, проблем с сетью, проблем с OS X).

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

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

У меня есть две учетные записи пользователей: TV, которая работает с Plex и XBMC и требует доступа к общему ресурсу, и Admin, которую я использую для задач управления. Иногда я также использую учетную запись администратора для подключения к NAS, но для этого я использую Finder. Нет необходимости в постоянном соединении.

По какой-то причине я не понимаю, иногда автоматически подключаемый общий ресурс монтируется для учетной записи администратора. Это означает, что учетная запись телевизора не может получить доступ к общему ресурсу (отказано в доступе). Я могу umountподелиться с администратором, а lsон с телевизором, чтобы смонтировать его для последнего, но через некоторое время у администратора снова есть разрешения.

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

Вот как выглядят мои файлы автомонтирования:


авто_мастер

Разрешения:-rw-r--r-- 1 root wheel

+auto_master      # Use directory service
/net              -hosts     -nobrowse,hidefromfinder,nosuid
/home             auto_home  -nobrowse,hidefromfinder
/Network/Servers  -fstab
/-                -static
/-                auto_nas   -nosuid,noowners


auto_nas

Разрешения:-rw------- 1 root staff

/NAS -fstype=smbfs,soft smb://TV:@192.168.1.56/Files


/NAS (точка монтирования)

Разрешения:drwx------@ 1 TV wheel


В ММ работает Yosemite (10.10.3).

Ответы (1)

Предполагая, что вы НЕ хотите включать функцию входа пользователя «root» и ослаблять права доступа к файлам и каталогам настолько, чтобы потенциально открыть вашу систему для серьезного вектора атаки безопасности (и я предполагаю именно это ...), на сегодняшний день , 7 февраля 2017 года невозможно выполнить то, что вы описываете :(

По крайней мере, не для общих ресурсов AFP / SMB / CIFS (это единственные три, которые я тестировал, вам может повезти с томами NFS, но я не запускаю их в своей сети, поэтому не могу подтвердить).

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

Что касается Sierra, эта функциональность полностью нарушена, поскольку владельцем специального каталога /Volumes был назначен «корневой» пользователь, и этот пользователь автоматически получит право собственности, если другому пользователю будет предоставлено право владения какими-либо папками или файлами в этом каталоге. какой-то момент. Ошибки были зарегистрированы , не стесняйтесь комментировать и делиться своим возмущением.

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

TL; DR — он был сломан где-то около 10.10, и, несмотря на то, что его обсуждали на многих форумах, Apple еще не признала ошибку и не взяла на себя обязательство по исправлению.

Я думаю, что с 10.11 происходит что-то, что нарушает процедуру> для установки общих ресурсов AFP в пользовательские каталоги. Я пытаюсь смонтировать afp://user:pass@myserver.local/Music в /Users/me/Test

auto_master имеет строку: /- auto_afp -nosuid

auto_afp имеет строку: /Users/me/Test -fstype=afp afp://serveuser:servepass@server.local/Music

Сервер прекрасно монтируется, но при нажатии на иконку сервера в /Users/me выдает ошибку «Не удается открыть папку «Тест», так как у вас нет прав на просмотр ее содержимого».

После решения проблемы я вижу, что это проблема с разрешениями. У точки монтирования есть владелец и группа и разрешения: drwx——@ 1 root wheel 364 31 Dec 10:01 Test (Вообще интересно — если я вычищу свой файл auto_afp и перезагружусь, это вернется в обычный каталог с owner/ группа/разрешения drwx——+ 18 me staff 612 31 Dec 10:01 Test)

Итак, проблема здесь в том, что autofs монтирует общий ресурс с привилегиями root, и мой пользователь не может фактически использовать общий ресурс. Судя по тому, что я читал в Интернете, это относительно новая проблема — возможно, связанная с Эль-Капитаном?

Для сравнения, когда я делаю следующее (как пользователь, а не как системный пользователь или с помощью «sudo»): создаю новую папку из средства поиска в /Users/me с именем «Test3», затем из терминала введите: mount -o nosuid -t afp afp://serveuser:servepass@server.local/Music/Users/me/Test3

затем сервер прекрасно монтируется (правда, с именем в поисковике «Музыка», которое я бы предпочел изменить), и имеет следующих пользователя/группу/права доступа: drwx——@ 1 me staff 364 31 Dec 10:21 Test3 и я возможность видеть и управлять содержимым.

Таким образом, проблема такова: как я могу заставить autofs монтировать общий сетевой ресурс AFP и сопоставлять его с пользовательским каталогом, чтобы пользователь мог получить к нему доступ и управлять его содержимым? Исторически я думаю, что именно так должна работать autofs, но кажется, что владение сопоставленной папкой «корневым колесом» не позволяет использовать ее в настоящее время.

Еще один вопрос, пока я в этом: я вернулся к простой цели, изложенной выше, но моя более долгосрочная цель — сопоставить внешнюю музыкальную папку КАЖДОМУ пользователю. auto_afp должен выглядеть так:

/Users/me/Test -fstype=afp afp://serveuser:servepass@server.local/Music /Users/her/Test -fstype=afp afp://serveuser:servepass@server.local/Music /Users/him /Test -fstype=afp afp://serveuser:servepass@server.local/Музыка

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

Пользователь «Бен» прокомментировал, подтвердив этот анализ и повторив, что, по крайней мере, на тот момент, когда он поделился своим комментарием, исправления не было:

Использование косвенной карты тоже не помогает. Эта функциональность, по-видимому, в корне нарушена в OSX, начиная, по крайней мере, с Yosemite… Я просмотрел сообщения людей, у которых была такая же проблема, за 3 года, и, насколько я могу судить, просто нет способа поделиться точкой монтирования через пользователи… какой огромный, приводящий в бешенство, невероятный провал.

Спасибо яблоко!

ПРИМЕЧАНИЕ. Я не рекомендую это для какой-либо сети, поэтому не буду предоставлять здесь подробные инструкции о том, как это сделать, но один другой пользователь на той же доске комментариев указал, что включение входа пользователя root и использование его для доступа к его системе позволит это работать как положено:

Один из вариантов — включить root и войти в систему как root. Как только вы это сделаете, все начнет работать. Дерьмовый вариант, я знаю, но мой вариант использования — медиасервер в изолированной сети. Единственный вариант, пока не увижу, пока яблоко не вытащит голову из задницы.

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