Как ограничить конкретные команды cmd

Я хотел бы знать, как ограничить одного (не администратора) пользователя от использования определенных команд из командной строки. Например: dir должно быть разрешено, но shutdown должен быть заблокирован. В качестве бонуса это возможно в белом списке (т.е. все команды заблокированы, кроме dir)?

2 ответа

Решение

В отличие от операционных систем UNIX/Linux, в Windows есть два типа команд: внутренние и внешние. Команды как dir, cd, rd, copy, delи т. д. встроены в интерпретатор команд и, следовательно, являются внутренними командами. Все остальные утилиты командной строки (например, net, shutdown, telnet, ftpи т. д.) являются внешними командами - они имеют связанный файл.exe. Вы можете получить список внутренних команд, набрав help в командной строке.

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

Однако вы должны знать, что командная строка не волшебная. Он не может и не позволяет пользователю делать то, что он обычно не может делать. Функции, предоставляемые командной строкой, по-прежнему регулируются системой безопасности. Пользователь, который не имеет доступа для чтения / записи к папке, не может использовать rd или же del удалить его. Если у них нет доступа для чтения к папке, они не могут cd внутрь.

Я бы посоветовал вам действительно подумать о том, чего вы пытаетесь достичь. Блокировка команды похожа на удаление дверной ручки. Это не мешает открытию двери. Если бы вы хотели защитить дверь, вы бы заперли ее.

Допустим, вы хотите заблокировать доступ к shutdown Команда для ваших пользователей. Это не мешает им выключить систему. Есть буквально дюжина способов выключить компьютер. Все, что вы делаете, блокирует один конкретный путь. Вместо этого вы должны использовать политику безопасности, чтобы лишить пользователей права выключать компьютер. Таким образом, любая попытка выключить машину будет заблокирована - независимо от того, как они пытаются это сделать. Это политика по умолчанию на серверах.

Изменение разрешений безопасности по умолчанию в каталоге Windows также является плохой идеей. Это может иметь последствия, о которых вы даже не думаете. И они могут быть не сразу очевидны.

Запустите редактор, набрав secpol.msc в диалоговом окне запуска и перейдя в раздел "Политики управления приложениями", а затем "AppLocker" и "Исполняемые правила".

Щелкните правой кнопкой мыши и создайте исполняемые правила и нажмите Далее и выберите пользователей, которых вы хотите разрешить или запретить. Затем File Path и Next, затем Browse Files и используйте *.*, Вы можете дать ему имя и комментарий, нажав Далее или просто нажав Создать.

Вы также можете сказать Запретить пользователя X для *.* в файле / папке / пути. Тем не менее, вам придется занести в белый список все приложения, включая Word, Firefox и даже стандартные инструменты Windows.

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

Вам необходимо переместить новые правила в начало списка, чтобы они имели приоритет над другими правилами.

Примечание. Выключение - это EXE-файл, поэтому он заблокирует его. Однако встроенные команды DOS, такие как CD,MD,RD, являются частью DOS, поэтому они не будут блокироваться таким образом. Разрешение только для чтения файлов может блокировать их для файлов / папок, которые не должны иметь разрешений на запись.

Другие вопросы по тегам