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

icacls, предоставляющий доступ всем пользователям в Windows 7

Я пытаюсь предоставить полный доступ (чтение, запись) к определенной папке всем пользователям Windows 7. Проблема в том, что я не знаю, как это сделать с помощью icacls.

c:\windows\system32\icacls c:\folder /grant "domain\user":(OI)(CI)M
c:\windows\system32\icacls c:\folder /grant "everyone":(OI)(CI)M
c:\windows\system32\icacls c:\folder /grant "Authenticated Users":(OI)(CI)M

Откройте командное окно и введите c:\windows\system32\icacls /?

Только эти два ответы сработали для меня:

В командной строке администратора:

C:\Windows\System32>takeown /r /d y /f f:\backup
C:\Windows\System32>icacls f:\backup /t /grant Everyone:(OI)(CI)F

(OI) для будущих файлов и (CI) для будущих папок.

Это сработало для меня:

Шаг 1 - Откройте окно cmd с правами администратора

Шаг 2 - чтобы стать владельцем содержимого каталога "picts", удалите / f C: \ picts * / r

Шаг 3 - изменить права доступа «всем» к содержимому каталога «picts» icacls C: \ picts / grant Everyone: F / t

Откройте командную строку администратора. И беги

grantAccess.cmd FOLDER_PATH 

где FOLDER_PATH может быть:

  • "d:" - для смены всего диска
  • "d: \ somefolder" - для смены папки

Содержимое файла grantAccess.cmd:

@echo off

rem FOLDER_PATH can be "d:" or "d:\somefolder"

set FOLDER_PATH=%1

echo taking ownership...
takeown /F "%FOLDER_PATH%" /R /D Y /SKIPSL
if %ERRORLEVEL% neq 0 goto error

set SUBELEMENTS=/L /T /C
set QUIET=/Q
set USERNAME=*S-1-1-0

echo setting access rights for the root folder
icacls "%FOLDER_PATH%" /inheritance:r /grant:r "%USERNAME%":(OI)(CI)F
if %ERRORLEVEL% neq 0 goto error

echo reset access rights for childs
ICACLS "%FOLDER_PATH%\\*" /reset %SUBELEMENTS% %QUIET%
if %ERRORLEVEL% neq 0 goto error

echo change owner
icacls "%FOLDER_PATH%" /setowner "%USERNAME%" %SUBELEMENTS% %QUIET%
if %ERRORLEVEL% neq 0 goto error

:success
echo SUCCESS!!!
EXIT /B 0
:error
echo ERROR!!!
EXIT /B 1