Windows 명령 행을 사용하여 디렉토리 (읽기, 쓰기, 수정)에서 사용자에게 권한을 부여하려면 어떻게해야합니까?
답변
Vista에서는 cacls
더 이상 사용되지 않습니다. 첫 번째 도움말 라인은 다음과 같습니다.
C:\>cacls
NOTE: Cacls is now deprecated, please use Icacls.
Displays or modifies access control lists (ACLs) of files
icacls
대신 사용해야 합니다. John에게 D:\test
폴더 및 모든 하위 폴더에 대한 모든 권한을 부여하는 방법은 다음 과 같습니다.
C:\>icacls "D:\test" /grant John:(OI)(CI)F /T
MS 문서에 따르면 :
F
= 모든 권한CI
= Container Inherit-이 플래그는 하위 컨테이너가이 ACE를 상속 함을 나타냅니다.OI
= Object Inherit-이 플래그는 하위 파일이 ACE를 상속 함을 나타냅니다./T
= 기존 파일 및 하위 폴더에 재귀 적으로 적용합니다. (OI
및CI
새 파일 및 하위 폴더에만 적용). 크레딧 : @AlexSpence의 코멘트.
완전한 설명서를 icacls
보려면 인수없이 ” “를 실행 하거나 여기 및 여기에 있는 Microsoft 설명서를 참조 하십시오.
답변
ICACLS를 사용할 수도 있습니다.
폴더에 사용자 그룹에게 모든 권한을 부여하려면 다음 을 수행하십시오.
>icacls "C:\MyFolder" /grant Users:F
IIS 사용자 에게 수정 권한 을 부여하려면 C:\MyFolder
(IIS에 파일을 특정 폴더로 R / W 할 수있는 기능이있는 경우) :
>icacls "C:\MyFolder" /grant IIS_IUSRS:M
ICACLS를 하면 /? 사용 가능한 모든 옵션을 볼 수 있습니다.
답변
명령 프롬프트를 열고 다음 명령을 실행하십시오.
icacls "c:\somelocation\of\path" /q /c /t /grant Users:F
F
모든 권한을 부여합니다.
/q /c /t
하위 폴더에 권한을 적용합니다.
참고 : 때때로 “관리자 권한으로 실행”이 도움이됩니다.
답변
cacls
명령을 사용하십시오 . 여기에서 정보를 참조 하십시오 .
CACLS 파일 / e / p {USERNAME} : {PERMISSION}
어디,
/ p : 새로운 권한 설정
/ e : ACL을 바꾸지 않고 편집하는 것과 같이 권한을 편집하고 기존 권한을 유지합니다.
{USERNAME} : 사용자 이름
{PERMISSION} : 권한은 다음과 같습니다.
R-읽기
W-쓰기
C-변경 (쓰기)
F-모든 권한
예를 들어 다음 명령을 사용하여 Rocky Full (F) 제어 권한을 부여하십시오 (Windows 명령 프롬프트에서 입력).
C :> CACLS 파일 / e / p rocky : f
다음 명령을 입력하여 전체 도움말을 읽으십시오.
C :> cacls /?
답변
나는 아래 방법으로 시도하고 나를 위해 일한다 :
1. 열린 cmd.exe
2. takeown /R /F *.*
3. icacls * /T /grant [username]:(D)
4.del *.* /S /Q
파일이 내 액세스 권한이되어 “삭제”에 할당 된 다음 파일과 폴더를 삭제할 수 있습니다.
답변
손상된 권한 : 폴더 및 해당 하위 개체에 대한 액세스 권한 얻기
질문에 대한 답변으로 게시 된 대부분의 답변에는 장점이 있지만 IMHO는 완벽한 솔루션을 제공하지 않습니다. 다음 은 권한 설정이 손상되어 폴더가 잠겨있는 경우 Windows 7을 위한 완벽한 솔루션입니다 .
icacls "c:\folder" /remove:d /grant:r Everyone:(OI)(CI)F /T
들어 윈도우 10 사용자 / SID는 이후에 지정해야합니다 /remove:d
옵션 :
icacls "c:\folder" /remove:d Everyone /grant:r Everyone:(OI)(CI)F /T
.
참고 사항 :
-
명령이 지정된 디렉토리에 적용됩니다.
-
사용자 “모두”를 지정하면 가능한 모든 사용자가 포함되므로 가장 넓은 권한을 설정합니다 .
-
“/ remove : d”옵션은 명시 적 ALLOW 설정을 덮어 쓰기 때문에 존재할 수있는 명시 적 DENY 설정을 삭제합니다. 새 ALLOW 설정을 작성하는 데 필요한 예비입니다. DENY 설정이없는 경우가 많지만, 미안보다 안전하기 때문에 이것은 예방책 일뿐입니다.
-
“/ grant”옵션은 존재할 수있는 모든 명시 적 ALLOW 설정을 대체하는 명시 적 권한 인 새 ALLOW 설정을 작성합니다.
-
“F”매개 변수 (즉, 작성된 권한)는이를 FULL 제어 권한을 부여합니다.
-
“/ T”매개 변수는 폴더 자체뿐만 아니라 지정된 디렉토리 (예 : 파일 및 하위 폴더)의 모든 현재 하위 오브젝트에 이러한 변경 사항을 적용하여 재귀를 추가 합니다.
-
“(OI)”및 “(CI)”매개 변수는 재귀를 추가하여이 변경 사항을 이후에 작성된 하위 오브젝트에 적용합니다.
.
부록 (2019/02/10) –
윈도우 10 명령 행 위의 친절 오늘 나에게 제안했다, 그래서 여기있다. 나는 그것을 테스트 할 Windows 10을 가지고 있지 않지만, 가지고 있다면 그것을 사용해보십시오 (그리고 아래 에 의견을 게시 하십시오 ).
첫 단계로 거부 설정을 제거하는 것만 변경됩니다. DENY 설정이 없을 수 있으므로 옵션에 차이가 없을 수 있습니다. Windows 7에서는 / remove : d 다음에 사용자를 지정할 필요가 없지만 이해가 잘못되었습니다.
.
부록 (2019/11/21) –
사용자 astark 는 명령이 언어 독립적이되도록 Everyone 을 * S-1-1-0이라는 용어로 바꾸는 것이 좋습니다 . 영어로만 Windows를 설치 했으므로이 제안을 테스트 할 수 없지만 합리적으로 보입니다.
답변
나는 잠시 동안 고생 만이 글의 답변을 결합하는 것은 (윈도우 10에서) 나를 위해 일한 :
열기 cmd를 또는 PowerShell 및 파일 폴더로 이동 1.
2. takeown / R / F .
3. icacls * / T / grant dan : F
행운을 빕니다!