Это ситуация. У нас есть NAS Synology (работает DSM 5.0) , размещающее файл Windows , общий ресурс general
Права доступа к этой папке установлены как на скриншоте:
Эта папка используется в качестве подключенного сетевого диска на клиентах Windows 7 (32-разрядных) (отображается как Z:
. Для этого ресурса аутентификация не требуется. Т.е. каждый может получить к нему доступ.
Устаревшая программа Microsoft BASIC 7 находится на этом подключенном диске. Сама эта программа (скажем, PROGRAM.EXE
) работает правильно. Он запускает, может создавать файлы и папки и т.д. Никаких проблем там нет.
Проблема возникает, когда программа создает временный файл (скажем, INVOICE.TXT
), а затем пытается запустить другой процесс, который хорошо печатает созданный текстовый файл. По словам разработчика программы, для запуска этого процесса он использует SHELL Z:\INVOICE.EXE
. Программа показывает, когда это выполняется: Access denied
.
Странно то, что когда я запускаю INVOICE.EXE
вручную из Windows Explorer, все идет хорошо (то есть счет распечатывается).
Я хотел бы добавить, что когда обе программы находятся на локальном диске или на общем диске другого хоста Windows, все идет хорошо.
Я понятия не имею, что происходит не так. Что я пробовал до сих пор:
- Отключенный UAC.
- Добавлен IP-адрес Synology на доверенные веб-сайты Internet Explorer.
- Когда обе программы находятся на локальном диске, все работает хорошо.
- Когда обе программы находятся на общем компьютере с Windows, все работает хорошо.
PROGRAM.EXE
администратора (это работало только после совместного использования подключенных дисков всем пользователям).Изменены права доступа к папке, как показано на скриншоте. Содержимое каталога теперь выглядит так:
synology> ls -l /volume1 ... drwxrwxrwx 33 guest users 4096 Oct 2 14:28 general ...
Все подпапки и файлы имеют одинаковые разрешения.
synoacltool
показывает это для папки (и подпапок + файлов):synology> synoacltool -get /volume1/general ACL version: 1 Archive: has_ACL,is_support_ACL Owner: [guest(user)] --------------------- [0] group:users:allow:r-x---a-R-c--:---n (level:0) [1] everyone::allow:rwxpdDaARWcCo:fd-- (level:0)
Но все без того, чтобы заставить его работать ...