Я пытаюсь увидеть права доступа к файлам в командной строке. Я сталкивался с подобным вопросом, но не могу понять вывод icacls .

В следующем примере c10.dat - это файл только для чтения, как показано в dir /a:r и ошибка при его перезаписи с помощью dir > c10.dat .

В выводе icacls DOMAIN\USER является заполнителем для моего собственного идентификатора. Как это означает, что c10.dat только для чтения? Из того, что я понимаю, его acls означают (I) унаследованный и (F) полный доступ.

X:\>dir /a:r c10.dat
 Volume in drive X is OSDisk
 Volume Serial Number is 6621-4FA8

 Directory of X:\

04/08/2013  11:11 AM             8,192 c10.dat
               1 File(s)          8,192 bytes
               0 Dir(s)  40,525,492,224 bytes free

X:\>icacls c10.dat
c10.dat NT AUTHORITY\SYSTEM:(I)(F)
        BUILTIN\Administrators:(I)(F)
        DOMAIN\USER:(I)(F)

Successfully processed 1 files; Failed processing 0 files

X:\>dir > c10.dat
Access is denied.

2 ответа2

2

Кажется, вы путаете атрибут « Read-only файла с ACL (как уже упоминали другие).

Если файл помечен атрибутом « Read-only(как это видно по attrib или dir /a:r), он будет недоступен для записи (Read-only) системой и всеми пользователями независимо от прав доступа ACL для файла для любой пользователь.

Если вы пытаетесь найти разрешение на Write (ACL) файла для данного пользователя, вы увидите это с помощью icacls.

Например, я создал файл с именем «test.txt». Файл НЕ помечен Read-only.

C:\>attrib test.txt
A            C:\test.txt

C:\>


Я проверил файл с помощью icacls:

C:\>icacls test.txt
test.txt BUILTIN\Administrators:(I)(F)
         NT AUTHORITY\SYSTEM:(I)(F)
         NT AUTHORITY\Authenticated Users:(I)(M)
         BUILTIN\Users:(I)(RX)

C:\>


Я пометил файл Read-only с помощью attrib:

C:\>attrib +R test.txt
A    R       C:\test.txt

C:\>attrib test.txt
A    R       C:\test.txt

C:\>


Я снова проверил файл, используя icacls:

C:\>icacls test.txt
test.txt BUILTIN\Administrators:(I)(F)
         NT AUTHORITY\SYSTEM:(I)(F)
         NT AUTHORITY\Authenticated Users:(I)(M)
         BUILTIN\Users:(I)(RX)

C:\>

Как вы видели, для этого файла нет изменений в выводе icacls .

Затем я изменил разрешение файла для BUILTIN\Users на « Deny Write (это приблизительно Read-only) и снова проверил файл, используя icacls:

C:\>icacls test.txt
test.txt BUILTIN\Users:(DENY)(W)
         BUILTIN\Administrators:(I)(F)
         NT AUTHORITY\SYSTEM:(I)(F)
         NT AUTHORITY\Authenticated Users:(I)(M)
         BUILTIN\Users:(I)(RX)

C:\>

Обратите внимание, что теперь он показывает BUILTIN\Users:(DENY)(W) для файла.

Если я изменю разрешение файла для BUILTIN\Users на Deny Full control и снова проверю файл, icacls показывает:

C:\>icacls test.txt
test.txt BUILTIN\Users:(N)
         BUILTIN\Administrators:(I)(F)
         NT AUTHORITY\SYSTEM:(I)(F)
         NT AUTHORITY\Authenticated Users:(I)(M)
         BUILTIN\Users:(I)(RX)

C:\>

Теперь он показывает BUILTIN\Users:(N) для файла.

Если я изменю разрешение файла для BUILTIN\Users на « Allow Full control доступ», а затем « Deny Modify и снова проверю файл, то icacls показывает:

C:\>icacls test.txt
test.txt BUILTIN\Users:(DENY)(M)
         BUILTIN\Administrators:(I)(F)
         NT AUTHORITY\SYSTEM:(I)(F)
         NT AUTHORITY\Authenticated Users:(I)(M)
         BUILTIN\Users:(I)(RX)

C:\>

Теперь он показывает BUILTIN\Users:(DENY)(M) для файла.

Если вы хотите увидеть настройку атрибута «Только для чтения» для файла, вы не сможете увидеть его с помощью icacls потому что « Только Read-only не является частью ACL. Вы должны использовать attrib.

2

Очистить атрибут только для чтения:

X:\>attrib -R c10.dat

тестовое задание:

X:\>dir > c10.dat

SKU:

ls -al

Выход:

total 148
drwxrwxrwx+ 1 Domain Users     Domain Users      0 Apr  9 04:06 .
drwxrwxrwx+ 1 +Administrators  513               0 Apr  8 14:43 ..
-rwxrwxrwx+ 1 +Administrators  Domain Users    354 Jun  5  2012 2.ps1
-rwxrwxrwx+ 1 +Administrators  Domain Users    115 Oct 22 22:43 3.ps1
-rwxrwxrwx+ 1 +Administrators  Domain Users    154 Apr  9 02:15 4.ps1
-r-xr-xr-x+ 1 +Administrators  Domain Users  12030 Apr  9 02:25 Aliases.txt
-rwxrwxrwx+ 1 +Administrators  Domain Users    267 Feb 21  2012 ps-run.cmd
-rwxrwxrwx+ 1 +Administrators  Domain Users  61436 Apr  9 04:07 sub2.txt

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