Windows Server 2012에서 ICACLS를 사용하여 그룹 권한을 할당 할 수 없습니다


9

권한을 추가하여 icacls가 내 그룹을 수락하도록 할 수 없습니다. 다음 명령으로 고전력 쉘을 사용하고 있습니다.

icacls 'C:/foo' /grant:r 'Group Foo':f

다음과 같은 오류가 발생합니다.

Invalid parameter "Group Foo"

SUID도 사용해 보았지만 실패합니다. 또한 'Domain \ Group Foo'를 시도했습니다.

그룹에서 사용할 수 있도록 많은 파일이 있습니다. Windows Server 2012에서 대량 권한을 추가하는 올바른 방법은 무엇입니까?

-- 편집하다 --

E:\> icacls "E:/Contact Numbers.xlsx" /grant:r "Users":f
Invalid parameter "Users"

답변:


10

작은 따옴표 대신 큰 따옴표를 사용하십시오.

C:\>mkdir foo

C:\>icacls 'C:/foo' /grant:r 'Users':f
'Users': No mapping between account names and security IDs was done.
Successfully processed 0 files; Failed processing 1 files

C:\>icacls "C:/foo" /grant:r "Users":f
processed file: C:/foo
Successfully processed 1 files; Failed processing 0 files

나는 당신이 Powershell을 사용하고 있지 않은 것을 놓쳤다 cmd. Powershell은 외부 명령과 인용을 섞을 때 이상한 점이 있습니다. 다음은 Powershell을 사용하는 몇 가지 예입니다.

PS v2 : 따옴표를 전달하려면 icacls캐럿으로 따옴표를 이스케이프해야합니다. "F"주위의 괄호도 이스케이프해야합니다.

PS C:\>icacls `"C:/foo`" /grant:r `"Users`":`(F`)

PS v3 : 버전 3은 --%나머지 줄을 벗어나는 새로운 이스케이프 시퀀스 (대시, 대시, 백분율)를 제공합니다. 이로 인해 복잡한 외부 매개 변수도 간단 해집니다.

PS C:\>icacls --% "C:/foo" /grant:r "Users":F

위의 편집 내용을 참조하십시오. 이것은 작동하지 않았습니다. "계정 이름간에 매핑이 없습니다"가 아닌 "잘못된 매개 변수"오류가 발생합니다.
— user319862

방금 power shell 대신 명령 프롬프트를 사용하여 다시 시도했지만 작동했습니다. 문제가 무엇인지 모르지만 올바른 구문에 감사드립니다.
— user319862

죄송합니다. PS를 사용하고 있다는 사실을 완전히 건너 뛰었습니다. PS 2/3 예제를 포함하도록 업데이트되었습니다.
— jscott

작동하지 않는다고 불평하는 사람들에게는 명령 프롬프트에서 명령을 사용해야합니다. Powershell에서는 명령이 작동하지 않습니다.
— Mike G

1

jscott의 스레드에 대해서는 언급하지 않지만 Powershell에서 명령을 올바르게 실행하려면 전체 매개 변수 주위에 따옴표를 추가해야합니다.

    C:\> icacls .\foo /grant:r "Users:F"

공백이있는 그룹 이름과 상속 권한을 포함한 명령에 적용됩니다.

    C:\> icacls .\foo /grant:r "Remote Desktop Users:(OI)(CI)(F)"

확실하지 않은 경우 항상 전체 매개 변수 주위에 따옴표를 적용하십시오. 도움이 되었기를 바랍니다! :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.