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.