Parece que você está confundindo o atributo Read-only de um arquivo com o ACL (como outros já mencionaram).
Se um arquivo estiver marcado com o atributo Read-only (como pode ser visto por attrib ou dir /a:r ), ele será regravável (Read-only) pelo sistema e por todos os usuários, independentemente das permissões ACL do arquivo para qualquer usuário.
Se você está tentando encontrar a Write permissão (ACL) de um arquivo para um determinado usuário, verá que usando icacls
Por exemplo, criei um arquivo chamado "test.txt". O arquivo NÃO está marcado como Read-only .
C:\>attrib test.txt
A C:\test.txt
C:\>
Eu verifiquei o arquivo usando 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:\>
Marquei o arquivo Read-only usando attrib :
C:\>attrib +R test.txt
A R C:\test.txt
C:\>attrib test.txt
A R C:\test.txt
C:\>
Eu verifiquei o arquivo novamente usando 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:\>
Como você viu, não há alteração na saída de icacls para esse arquivo.
Em seguida, alterei a permissão do arquivo para BUILTIN\Users para Deny Write (isso aproxima Read-only ) e verifiquei o arquivo novamente usando 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:\>
Observe que agora, ele mostra BUILTIN\Users:(DENY)(W) para o arquivo.
Se eu alterar a permissão do arquivo para BUILTIN\Users para Deny Full control e verificar o arquivo novamente, icacls mostrará:
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:\>
Agora, ele mostra BUILTIN\Users:(N) para o arquivo.
Se eu alterar a permissão do arquivo de BUILTIN\Users para Allow Full control e, em seguida, Deny Modify e verificar o arquivo novamente icacls mostra:
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:\>
Agora, ele mostra BUILTIN\Users:(DENY)(M) para o arquivo.
Se você deseja ver a configuração do atributo "Somente leitura" para um arquivo, não será possível vê-lo usando icacls porque Read-only não faz parte do ACL . Você deve usar attrib .