FreeNAS :Проблемы с разрешениями при заполнении наборов данных от имени root (cli)

Расширение фигурной скобки происходит до раскрытия параметров, поэтому

files='{abc.conf,xyz.conf}'
join=$firstDir/$files

приводит к буквальной установке переменной в /tmp/first/{abc.conf,xyz.conf}, и она не будет повторно -обработана, когда она развернута в вашей команде cp.

Вместо этого вы могли бы написать

cp "$firstDir"/{abc.conf,xyz.conf} "$backupDir"

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

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

files=( "$firstDir"/{abc.conf,xyz.conf} )

и позже ${files[@]}.

1
25.09.2020, 18:45
1 ответ

Решено ... вроде.

Из того, что я узнал из таких тем, как это , это и это это могло быть сочетанием проблем:

  1. При создании набора данных я выбрал тип SMBвместоGeneric. Это нормально для общего ресурса samba, но имеет свою цену :FreeNAS сразу присваивает ему режим case sensitive, и изменить его нельзя.
  2. chmod vs smb acl:действия, выполняемые на уровне cli (chmod )не совпадают с тем, что делает графический интерфейс, или полностью совместимы с ним.
  3. При использовании rsyncвы можете использовать его какrsync -A --no-perms.... Это не тот вариант, о котором я знал (, недоступный в OSX, например ). Что делает -A, так это прекрасно работает с записями ACL.
  4. Убедитесь, что вы используете sudo для получения root правsudo su -l

Мое окончательное решение состояло в том, чтобы переделать некоторые папки, в которых я хочу учитывать регистр, например, PRIVATE/Documents, и предоставить общий доступ к ним как общий ресурс NFS версии 4 и заставить всех пользователей монтировать их как (имя пользователя, которое вы присвоили этому общему ресурсу -admin в моем случае ); то же самое для группы.

Это позволяет назначить тип набора данных как generic, а затем case sensitive. Это также кажется быстрее, чем доля smb.

Возможно, это не оптимально. Но поскольку я в основном использую его с Mac и Linux (редко с Windows ), это кажется нормальным.

Я смонтировал общий ресурс через cli на своем Mac:mount -t nfs nas:/mnt/NAS01/PRIVATE/Documents ~/Desktop/NFS. Я не пробовал использоватьFinder(Go to Server...)как первый раз (см. PS не ниже ).

Finderпереводит эту папку рабочего стола NFS -> Documents. Однако в cli вы все еще видите его как NFS.

ПС :Это была моя вторая попытка настроить общий ресурс NFS и использовать клиент Mac, пока все в порядке. Я не увидел странной проблемы с первого раза, когда файндер зацикливается при копировании файла на общий ресурс и начинает создавать его бесконечные копии

enter image description here

0
18.03.2021, 23:02

Теги

Похожие вопросы