2014-09-09 3 views
0

모든 사용자가 파일을 삭제하지 못하게하려고합니다. 모든 사용자가 파일을 읽거나 실행할 수는 있지만 파일을 수정하거나 삭제하지 못하게하고 싶습니다. 그러나 명령 프롬프트를 통해 다음 코드를 사용하면 누구도 처음부터 파일에 액세스 할 수 없습니다!icacls 작동하지 않는 모든 사용자에 대한 삭제 거부

icacls pic.jpg /deny Everyone:(D) 

몇 가지 권한을 부여하고 다른 사람을 무효화하는 방법을 시도해 보았습니다. 어떻게해야합니까 (Windows 7/8)?

답변

1

파일을 보호하기 위해 당신은 사용해야합니다

icacls pic.jpg /deny Everyone:(DE) 

을 폴더를 보호하기 위해 콘텐츠 소용로 : 당신이 부여 할 경우

icacls pics /deny Everyone:(OI)(CI)(DE,DC) 

D는 서로 다른 액세스 권한의 조합이 파일을 삭제할 수있는 권리는입니다.

이 언어를 독립적으로 사용하려면 Everyone 대신 *S-1-1-0을 사용하십시오.


(OI) = 개체 상속 (CI) = 컨테이너 상속

+0

고마워요! 나는 [DE]를 포함하지 않은이 목록 [(http://ss64.com/nt/icacls.html)]에서 벗어나 려하고있었습니다! 이'DE' 옵션을 찾기 위해 명령 프롬프트에서'icacls'를 타이프해야합니다. – TechDude

+1

너무 오래 전에 거기에 있었으므로 걱정하지 마십시오. – Thomas

+0

이것은 폴더에서 작동하지 않습니다 :'icacls pics/deny Everyone : (DE)'디렉토리에 사용할 다른 옵션이 있습니까? – TechDude

1

파일, 당신은 파일에 권한을 삭제 거부 필요의 삭제를 방지하기 위해 는 "일명 (아이에게 권한을 삭제 거부 하위 폴더 및 파일 삭제 ")를 폴더가 포함 된 에 저장합니다. 진정으로 삭제를 방지하려면 두 가지 모두 허용되면 안됩니다.

즉, 사용 권한 중 하나 또는 둘 모두가 부여되면 Windows에서 파일을 삭제할 수 있습니다.

그래서, 당신은 삭제에서 foo는 \의 bar.txt라는를 보호한다고 가정하면해야 적어도 : 나는 거부 목록 때문에 내 S-1-5-7 (ANONYMOUS LOGON)를 포함

icacls foo\bar.txt /deny Everyone:(DE) *S-1-5-7:(DC) 
icacls foo /deny Everyone:(DC) *S-1-5-7:(DC) 

anonymous logon is not included in Everyone group since Windows XP이고, 어쨌든 익명 로그온을 명시 적으로 거부하는 것이 좋습니다.

편집 : icacls에서 (D) 권한이 (DE)와 다르다는 점에 유의하십시오. 전자는 Synchronize 권한을, 후자는 Delete 권리 만 포함합니다. 동기화를 거부하면 해당 폴더에 액세스 (CD 또는 DIR) 할 수 없습니다.

경고 : icacls은 (DE) 권한이 거부 된 파일이 쿼리시 (DENY)(DE) 대신 (DENY)(D)으로 표시되는 버그가 있습니다. 23으로보고되었습니다. 상기 언급 된 바와 같이 (D) 및 (DE) 은 상이하다.