• 0
qawsed55

? Создание структуры папок с "шаблонными" доступами

Question

Posted (edited)

Добрый день, камрады!

Прошу помочь реализовать следующую нужду:
Синелога используется как файлообменник. Файлообменник имеет определенную структуру папок с некоторой глубиной вложенности. И доступы внутри структуры весьма разные.

Наследование тут не помогает.

Часть папок статична, то есть не меняется. А в некоторых подпапках создается периодическая однотипная структура. Типа "НАЗВАНИЕ ЗАКАЗА" >> Документация | Чертежи | От заказчика.

То есть при создании заказа - создается папка с названием заказа и в ней создается набор подпапок. И к этому набору довольно непростая структура доступа.

На скрине, полагаю, понятно:
 

Spoiler

172561495_.thumb.png.24952dcf80e0af8768e5a239a6aca915.png

По скриншоту - в папке ЗАКАЗЫ создается папка с НАЗВАНИЕМ ЗАКАЗА и в этой папке воссоздается структура подпапок.

 

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

 

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

В идеале было бы создать скрипт, который создаст в нужной папке соответствующего уровня - соответствующие поддиректории.

Или какие-то иное решение.

Буду признателен, если подскажите, как это дело можно "автоматизировать"!

Spoiler

Готов рассмотреть за денюжку некий скрипт (perl, bash, етц, - не принципиально), в котором будет указана структура папок и доступы. И скрипт по этому шаблону будет бегать раз в день и раздавать доступы на новые папки.

Как расписать шаблон? - не знаю. Думаю, можно попробовать что-то вроде текста как на скриншоте.

То есть я в ексельке буду вести структуру, потом копировать в текст. А далее, скрипт спарсит этот текст и раздаст права.

Это просто как вариант.

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

Указанные должности - это группы. Добавляя в группу - я буду регулировать доступы.

Если кто может чего-нить предложить - обращайтесь!

Спасибо!

Edited by qawsed55

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

А вы не рассматривали вариант готовых прог. управления документами. Основанных на Клиент-Сервер или Веб.- интерфейсах?

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

 

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)
11 hours ago, XPEH said:

Основанных на Клиент-Сервер или Веб.- интерфейсах?

нет, не рассматривал. Никогда не пользовал да и не слышал, чего уж греха таить )

Юзера привыкли проводником пользоваться. Да и я тоже )

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

Я уже нашел вариант решения (за денюжку). Perl - скрипт парсер ексельки.

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

Всё, что не прописано в ексельке побуквенно - получает разрешения от родителя.

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

Короче, над решением работаю. Если автор не будет против - оно появится тут. Да, моя идея реализации плюс за мои грошыки, но! для пользы общества ))

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

Edited by qawsed55

Share this post


Link to post
Share on other sites
  • 0

Итак, выкладываю на суд общественности альфа версию Universal Script for Security Rights.

Пользоваться нужно вот так:

 

0000. ДЕЛАЕМ БЭКАП!

  1. Устанавливаем пакет Perl.
  2. Открываем файл Config.xlsx и воссоздаем структуру папок, соответствующую вашей. Рекомендую в первый раз просто создать структуру папок и проверить правильно ли отработает скрипт.
  3. Прописываем внизу названия групп ИДЕНТИЧНО тому, как прописаны группы в Synology (доступы раздаются именно на группы, а не на пользователей)
  4. Проставляем доступы в соответствующих столбцах, распределяя кому куда можно или нельзя.
  5. Из Excel копируем в буфер содержимое серого поля и вставляем в файл permissions.txt (можно прям в Windows).
  6. Кладем куда-то на Synology в одну папку оба файла из архива: auto_permission.cron и permissions.txt
  7. Заходим по SSH на Synology, делаем auto_permission.cron исполняемым (chmod +x /path_to_file/auto_permission.cron)
  8. Запускаем скрипт из консоли с указанием полного пути, т.е. /path_to_file/auto_permission.cron
  9. Проверяем, раздались ли доступы )

Скрипт еще в процессе отладки. Замечено, что отрабатывает только два уровня.

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

Как появится рабочая (не альфа) версия - я ее выложу отдельно в этой теме.

Спасибо за внимание!

USSR_alpha_2.zip

Share this post


Link to post
Share on other sites
  • 0

Рабочая версия скрипта.

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

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

Тестовую структуру файлов и каталогов (в наличии в прикрепленном к посту архиве) скрипт обрабатывает порядка 12 минут на виртуальной DSM, которая работает на 218+

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

Чтобы было веселее, текущая версия называется РаздачаДОСТуповТаблицей, то есть РАДОСТь.

Как-то так. В конфиге есть описание принципов работы. В некоторых пунктах описания в комментариях спрятаны разъяснения.

Что непонятно - спрашивайте, пока я еще на форуме.

Спасибо за внимание.

РАздачаДОСтуповТаблицей(РАДОСТь) бета 2.rar

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.