Форум

/ домой \ \ темы /



Тема: Доступ к каталогу только для некоторых пользователей

03/11/2023 16:18 dsmts:
Добрый день. У меня есть каталог, который доступен только для некоторых пользователей. К примеру есть каталог /users/, который доступен только для некоторых пользователей. И пользователи User1, User2 - User100000. Т.е. пользователей очень много. Как мне сделать чтобы при добавлении пользователя каталог становился для них доступен?
03/11/2023 16:41 dsmts:
Как я понял, нужно в строку hostpath=domain.ru;"C:\shttps\http\users";"User1, User2" добавлять пользователя. Но если пользователей тысячи, как быть? Может как-то по маске можно? Пробовал User*, не работает так. И в группу пользователей нет возможности добавить. А то было бы проще. Каталог доступен для группы. А пользователь входит в группу.
04/11/2023 17:19 Max:
Да, такой функциональности в текущих версиях нет. Каждого пользователя нужно указать отдельно. В будущих версиях возможно...

05/11/2023 08:54 dsmts:
Мне нужно чтобы была возможность привязать к каталогу или домену много пользователей. Если добавите такую возможность, буду признателен.
23/11/2023 09:42 dsmts:
Было бы удобнее если бы блок с пользователями и виртуальными каталогами каталогами хранился в отдельном файле от настроек. Тогда можно было бы настройки считывать при перезапуске службы или запуске процесса, а файл с пользователями читается при обращении от имени какого-нибудь пользователя. Например в фал настроек пользователей был добавлен какой-нибудь пользователь. При обращении к именной папке от определённого пользователя проверяется логин и пароль. Это очень удобно если пользователей много и пароли часто меняются у них.
И еще, как я уже выше писал, можно сделать при добавлении виртуальной папки или хоста, приватной не на пользователя, а на группу. В настройки пользователя добавить список групп, в которые он входит. При обращении к приватному каталогу смотреть, входит пользователь в группу, для которой разрешена эта папка, или нет. Тогда и строк длинных не будет. Я подозреваю что длина одной строки в файле настроек не бесконечная же.
# Other
hostpath=/123/;"C:\shttps\FOLDER1";"GROUP1"
hostpath=/234/;"C:\shttps\FOLDER2";"ADMINGROUP"
user=user1;password;c:\shttps;A;"GROUP1", "ADMINGROUP"

Еще имя файла лога было бы правильнее выводить в формате fileYYMMDD. На жанный момент указывается только MMDD. И через год лог начинает добавляться в старые файлы.
24/11/2023 21:48 Max:
Вовсе нет. Через год создается каталог с именем года и каждый день, старые файлы прошлого года за этот день переносится туда.
08/02/2024 12:35 dsmts:
Добрый день. В версии 3.06.27c не смог разобраться как работают шаблоны у виртуальных папок. Допустим у меня есть пользователи user-001 - user-999. Если виртуальная папка /data/, к которой должен быть приватный доступ всем этим пользователям. ОС у меня Windows.
Видел канал в телеграм, а группы нет?
10/02/2024 21:55 Max:
Да, там был сделан шаблон на имя пользователя при логине. Наверно это не то что вам хотелось. Попробуйте тестовую версию 3.06.28test4. Там как раз можно задать user*

Группы нет.
11/02/2024 14:32 dsmts:
У меня не заработало так. Пробовал user* и user-??? Попробую еще раз.
11/02/2024 18:31 dsmts:
Не работает по маске. Пробовал как хост, так и каталог.
11/02/2024 20:38 dsmts:
Откатил на 3.06.27с. В 28 вообще даже полностью логин не принимает. По маске тоже.
15/02/2024 08:32 Max:
Попробуйте 3.06.28test6. Как шаблон сделан только символ '*'.
18/02/2024 08:30 dsmts:
Может я что-то не так делаю? На версии 3.06.27 есть доступ к каталогу хосту для пользователя user-00000001. Меняю exe-шник на 3.06.28test6, в настройках ни чего не меняю, доступ к хосту пропадает. Со своим админским я могу зайти в вебконфигуратор.
В конфиге выглядит так
user=user-00000001;password;;N
hostpath=upd.domain.ru;"C:\shttps\update";"admin, user-00000002, Update, user-00000001"
пробовал сделать так
hostpath=upd.domain.ru;"C:\shttps\update";"admin, user-*, Update"
18/02/2024 08:54 Max:
Видимо пробелы, после запятой, лишнии. Но это можно поменять в программе, -- добавлю пропуск пробелов в ближайшей версии
18/02/2024 09:56 dsmts:
Убрал пробелы, всё равно не заходит ни по маске, ни когда полное имя прописано. Но заходит с логином админа нормально.
18/02/2024 19:22 Max:
Попробуйте 3.06.28test7 Проблема была в '-'
21/02/2024 12:44 dsmts:
Сейчас корректно работает. Спасибо.
22/02/2024 06:16 dsmts:
Еще идейка.
Еще бы сделать так, чтобы при добавлении нового пользователя в конфиг-файл, не требовалась перезагрузка сервера. При обращении, если не найден пользователь, считывается с конфига. Если и там не найден, то ошибка. А в идеале конфиг с пользователями нужно отдельный сделать и при обращении от имени пользователя брать оттуда, если в памяти нет его. Так же можно вынести в отдельный файл хосты и каталоги, чтобы весь конфиг постоянно не перечитывать.
Удобство использования в разы повысится.
22/02/2024 06:22 dsmts:
Еще подумал. Чтобы быстро заблокировать пользователя, который рассчитался с работы, например, достаточно сменить пароль или удалить пользователя из конфига. Но в этом случае так же он будет работать пока не перезапустишь сервер. Правильнее при обращении от имени пользователя, всегда проверять его с файла конфига. Ну либо в настройки это вынести, считывать с конфига или как сейчас.
22/02/2024 10:11 AdminZ:
Имхо плодить файлы не стоит, лучше оставить 1 общий. Применение изменений без перезагрузки сервера того, что возможно реализовать изменением конфигурации в памяти, было бы полезно.
22/02/2024 10:20 AdminZ:
В конфиге пользователей # Other юзеру полезно было бы добавить ещё одно поле с перечислением разрешённых ему сервисов, если оно отсутствует, или пустое, то ему разрешены все сервисы.

22/02/2024 12:36 AdminZ:
Перечисление не полных названий сервисов, а их символов - H - http, F - ftp - HF итд, либо присвоить им двоичный вес 1, 2 - сумма 3.
23/02/2024 07:33 dsmts:
По поводу одного общего файла настроек конечно можно если пара хостов и пара пользователей. А если хостов сотни или тысячи и пользователей столько же? Для чего постоянно подгружать весь конфиг? Конфиг, по идее, всего один раз должен считываться при запуске программы. А вот пользователи и хосты могут добавляться с помощью другого ПО автоматом, ну или ручной правкой конфига. Из за этого приходится перезапускать программу или службу, чтобы применились изменения.
23/02/2024 13:26 AdminZ:
> Из за этого приходится перезапускать программу или службу, чтобы применились изменения.

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

Технически же можно пользователей оставить и в # other, перезагружая данные только из этой секции админ-запросом с авторизацией.
23/02/2024 20:49 Max:
Если пользователя добавлять через интерфейс, перегружать сервер не нужно...
24/02/2024 09:14 dsmts:
>>Если пользователя добавлять через интерфейс, перегружать сервер не нужно...
Получается я post или get запросом могу создать пользователя, например с помощью CURL, обратившись к админке. В этом случае не потребуется перезапуск сервера.
Заметил что через веб интерфейс, если поле с домашней папкой пустое, пользователь не создаётся. В то же время с настроек программы всё нормально создаётся.

Пользователь: Пароль: Новый пользователь:   Запомнить пароль: