Назад | Перейти на главную страницу

Невозможно запустить файл .bat из общего ресурса, но можно из cmd

У меня есть общий ресурс smb в Linux, который я могу просмотреть в проводнике:

\\ XXX.YYY.ZZZ.QQQ \ Поделиться

В этом ресурсе находится командный файл:

\\ XXX.YYY.ZZZ.QQQ \ Поделиться \ Scripts \ Script.bat

Я могу открыть файл в Блокноте из проводника, щелкнув правой кнопкой мыши «Изменить», и даже отредактировать файл.

Если я дважды щелкну командный файл в проводнике или если у меня есть ярлык для файла на рабочем столе, мне сначала будет предложено «Открыть файл - предупреждение безопасности», но когда я нажимаю «Выполнить», я получаю сообщение об ошибке сообщение:

Network Error

Windows cannot access \\\\XXX.YYY.ZZZ.QQQ\Share\Scripts\Script.bat

You do not have permission to access \\\\XXX.YYY.ZZZ.QQQ\Share\Scripts\Script.bat. 
Contact your network administrator to request access.

Странно то, что если я открою cmd окно и просто введите "\\\\XXX.YYY.ZZZ.QQQ\Share\Scripts\Script.bat" скрипт работает без проблем.

Начиная с Samba 4 принудительно применяются права на выполнение для файлов. Старое поведение с клиентами Windows заключалось в разрешении выполнения независимо. На самом деле Windows открывает файл несколько иначе, если он выполняет его, а не просто читает, поэтому вы можете без проблем распечатать файл.

Либо установите разрешения на выполнение для файла, либо добавьте эту опцию в общий ресурс:

acl allow execute always

Это восстановит старое поведение, разрешающее запуск любого исполняемого файла.

Видеть этот отчет об ошибке Больше подробностей.