2

Это ситуация. У нас есть 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)
    

Но все без того, чтобы заставить его работать ...

1 ответ1

1

Попробуйте отключить SMBv2 на вашем клиенте Windows 7. Многие пользователи сообщают о проблемах при использовании более новых версий SMB с устаревшими приложениями или системами, отличными от Windows.

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .