2011-12-30 3 views
6

Windows 파일 사용 권한은 * nix 사용 권한과 매우 다르므로 GnuWincoreutils의 chmod는 Windows에서 어떻게 구현됩니까?Windows에서 chmod는 어떻게 작동합니까?

+0

아마 전혀 아닙니다. 일부 * GnuWin32 바이너리에서 본 것으로부터 적어도 그들은 Windows에서 작동하지 않는 것들을 삭제합니다. – Joey

+0

이것이 정말로 프로그래밍에 관한 것이라면 그와 같이 말하십시오. – Randolpho

+4

"Windows에서 chmod ... _implemented_가 프로그래밍 질문 인 이유는 무엇입니까?" –

답변

2

질문을 잘못 읽지 않는 한, 저는 이것이 정말로 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 기능이 있습니다.

+0

접두어가 붙은 밑줄 문자는 (대개) 항상 c 런타임 확장입니다. _chmod는 ms 시각적 C++ 확장이며 엄격히 Win32 함수가 아닙니다. –

+0

@ChrisBecke 당신이 맞습니다. 그것은 [Microsoft Runtime] (http://msdn.microsoft.com/en-us/library/sk54f3f5(v=80) .aspx)에 포함되어 있습니다. 반드시 Win32는 아닙니다. – Randolpho