6

Можно ли настроить пакетный файл в системе Windows XP, который пользователь сможет выполнять, но не будет читать (печатать, редактировать и т.д.)?

Я пытался играть с разрешениями, разрешив "Выполнить файл", но не "Чтение данных", но, похоже, это не сработало.

Благодарю.

4 ответа4

7

Пакетные файлы, по умолчанию, по крайней мере доступны для просмотра / чтения любому пользователю с достаточными разрешениями на компьютере, на котором они работают.

Если вам нужно создать файл, который будет недоступен для чтения, вам нужно будет использовать другой файл. Любой скрипт (vbs, batch, powershell, jscript) будет доступен для просмотра любому, кто сможет запустить файл.

Даже исполняемые файлы могут быть просмотрены. Разница лишь в том, как их можно просматривать, позволяет скрывать содержимое файла.

Поскольку файлы сценариев по определению являются текстовыми списками инструкций, их можно легко просматривать в текстовом редакторе.

ОБНОВЛЕНИЕ (добавлено за комментарий). Проблема с шифрованием заключается в том, что при запуске сценария он должен быть незашифрован.

Полагаю, вам нужно решить, кого вы хотите помешать прочесть сценарий: должен ли он быть недоступным для просмотра в любой ситуации кем-либо или просто большинством обычных людей?

Если этого достаточно, чтобы его не просматривали среднестатистические пользователи, просто удалите запись «Изменить» для batfiles из реестра и убедитесь, что скрипт работает с минимальным выходным сигналом. Если вам нужно держать его подальше от всех, вам нужно найти какой-то другой способ запустить его.

4

Прежде всего - большое спасибо всем участникам!

Прежде чем я продолжу к решению, позвольте мне дать вам более подробную информацию, почему это было необходимо в первую очередь.

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

Решение включало следующее:
1) Права доступа к пакетному файлу были настроены на разрешение доступа только для указанной учетной записи.
2) В планировщике Windows была задана задача запустить этот командный файл под этой конкретной учетной записью. Разрешения для запланированных задач позволяют читать и выполнять доступ к нужным пользователям. Задача была установлена на "отключено".
3) Всякий раз, когда требуется запустить командный файл, пользователь запускает соответствующую задачу вручную.

В качестве дополнительного бонуса задание можно запустить удаленно:

schtasks /run /s remote_system /tn task_name

Еще раз спасибо за ваши ответы.

2

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

1

Я не думаю, что вы можете, но посмотрите здесь для расширенных разрешений и что они делают http://www.ntfs.com/ntfs-permissions-file-advanced.htm

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