Windows 파일 사용 권한은 * nix 사용 권한과 매우 다르므로 GnuWincoreutils의 chmod는 Windows에서 어떻게 구현됩니까?Windows에서 chmod는 어떻게 작동합니까?
답변
질문을 잘못 읽지 않는 한, 저는 이것이 정말로 serverfault 질문이라고 생각합니다.
그러나 실제로 이것은 Windows에서 POSIX 호환 chmod를 구현하는 데 관련된 프로그래밍에 대한 내용이므로이 질문에 답해 보겠습니다. 첫째로, 약간 배경 ... this wikipedia article는 2 개의 체계 사이 다름을 토론하기의 공정한 일을한다. 즉, Windows NT 기반 운영 체제 (Windows XP 비 FAT, Windows Vista, Windows 7, Windows Server 200X)는 UNIX보다 VAX와 유사한 액세스 제어 목록 시스템을 사용합니다. 또한 읽기/쓰기/실행보다 몇 가지 권한이 더 있습니다.
차이점은 그다지 뛰어나지는 않습니다. 파일의 소유자는 POSIX 시스템과 마찬가지로 파일에 대한 사용 권한을 부여 할 수 있지만 소유자, 소유자 그룹 및 POSIX에서와 같이 나머지 세계에서는 특정 사용자와 사용자 그룹에 대해 사용 권한을 미세 조정할 수 있습니다.
사용자가 둘 이상의 그룹에 속할 수 있다고 가정하면 그룹 권한 설정은 사용자가 속한 모든 그룹을 파일 ACL에 추가하고 동일한 권한을 설정하는 것 같습니다. 세계는 충분히 쉽습니다. 그것은 "모두"그룹입니다. 동등 소유자. 나는 또한 퍼미션 자체가 POSIX 퍼미션, 즉 읽기, 쓰기, 실행으로 제한 될 것이라고 생각한다.
이것은 사용자가 파일에서 처리하고자하는 대부분의 사용 권한 문제의 99 %를 다루고 있기 때문에 chmod 유틸리티가 사용하는 한도 내에서 그 이미지를 나타냅니다. 사용자는 언제나 파일의 속성 창을 열어 마음의 내용에 대한 권한을보다 세밀하게 조정할 수 있습니다.
Windows에서 chmod를 사용하려면 ACL에 특정 사용자 및 권한을 추가 할 수 있도록 추가 명령 스위치를 추가해야합니다.
편집
난 그냥 여기에 StackOverflow에 더 직접적으로 주제를 다루는 그 this answer을 발견했다.
유닉스와 비슷한 커널에서 chmod
과 거의 똑같이 작동하는 _chmod
이라는 win32 기능이 있습니다.
접두어가 붙은 밑줄 문자는 (대개) 항상 c 런타임 확장입니다. _chmod는 ms 시각적 C++ 확장이며 엄격히 Win32 함수가 아닙니다. –
@ChrisBecke 당신이 맞습니다. 그것은 [Microsoft Runtime] (http://msdn.microsoft.com/en-us/library/sk54f3f5(v=80) .aspx)에 포함되어 있습니다. 반드시 Win32는 아닙니다. – Randolpho
아마 전혀 아닙니다. 일부 * GnuWin32 바이너리에서 본 것으로부터 적어도 그들은 Windows에서 작동하지 않는 것들을 삭제합니다. – Joey
이것이 정말로 프로그래밍에 관한 것이라면 그와 같이 말하십시오. – Randolpho
"Windows에서 chmod ... _implemented_가 프로그래밍 질문 인 이유는 무엇입니까?" –