Windows 7에서 Cygwin 권한을 얻는 방법

Windows 7에서 Cygwin 권한을 얻는 방법

Cygwin을 설치한 다음 나중에 Windows 7 계정을 삭제하고 동일한 이름으로 계정을 다시 만들었습니다. 이제 Cygwin 폴더에서 파일을 편집하거나 새 폴더/파일을 만드는 데 문제가 있습니다. 권한을 다시 얻기 위해 실행할 수 있는 명령이 있나요?

답변1

나는 사용해야했다게시 중단cygwin에서 먼저 모든 파일의 소유권을 가져옵니다. 관리자 모드에서 cygwin을 실행했습니다(오른쪽 클릭). Cygwin 디렉토리의 소유권을 얻는 것은 까다롭습니다.시그드라이브모든 하드 드라이브에 연결되므로 cygwin 폴더에서 반복적으로 연결하지 않는 것이 좋습니다. 구문은 다음과 같습니다.

테이크다운 /F폴더/아르 자형

여기서 /R은 재귀적입니다. 따라서 cygwin의 모든 파일과 폴더에 대해 그렇게 하십시오(또는 cygwin 폴더에서 시도해 보지만 권장하지 않습니다).

그 후에는 Windows 탐색기를 통해 권한을 설정해야 했습니다. "cygwin" 폴더를 마우스 오른쪽 버튼으로 클릭하고 "보안" 탭으로 이동하여 사용자 이름이 상단 창에 있는지 확인하세요. 또한 내 이전 계정이라고 생각되는 "알 수 없는" 사용자를 제거했습니다. 해당 위치에 없으면: 편집->추가-> 이름을 입력하고 "이름 확인"을 클릭하십시오. 자신이 누구라고 생각하는지 찾은 다음 "확인"을 클릭해야 합니다. "모든 권한" 허용 확인란을 클릭하면 모든 상자가 선택됩니다. "확인"을 클릭하세요.

그런 다음 여전히 보안 탭에 있어야 합니다. "고급"->"권한 변경"->사용자 이름 강조 표시->"수정"->"허용" 아래의 모든 상자가 선택되어 있는지 확인하고적용하다"이 폴더, 하위 폴더 및 파일"입니다(확인란을 선택하면 안 됨). "확인"을 한 번 누르고 "모든 하위 개체 권한 바꾸기..."가 선택되어 있는지 확인한 다음 "확인", "확인", "확인"을 클릭합니다.

그리고 당신은 가도 좋을 것입니다.

답변2

사람의 이름은 중요하지 않습니다. 컴퓨터는 숫자로 작동합니다.

이 특별한 경우에 숫자는 다음과 같습니다.보안 식별자, SID.

새 계정을 만들면 새 SID가 부여됩니다. 이전 계정의 이전 SID는 재사용되지 않았습니다. (보안이 엉망이 될 수 있습니다.) 모든 파일과 디렉터리에는 이전 SID가 작성자-소유자로 표시되어 있습니다. 또한 ACL에서 작성자-소유자 또는 이전 SID에 직접 액세스 권한을 부여할 가능성이 높습니다. 그래서오래된SID는 계속 접근 권한을 갖고 있는 것입니다.

예를 들어 이전 계정에 SID가 있었다면 S-1-5-21-90593156-579754539-1338337383-1002새 계정에는 과 같은 다른 SID가 있게 됩니다 S-1-5-21-90593156-579754539-1338337383-1003. 파일과 디렉터리는 -1002SID에 대한 읽기/쓰기/검색/모든 액세스 권한을 부여하지만 -1003SID에는 액세스 권한이 없습니다.

takeown이에 대한 한 가지 대답은 ACL이 작성자-소유자에게 액세스 권한을 부여하는 경우와 같은 도구를 사용하여 소유권을 가져오는 것입니다.곧장이전 SID로. 작성자-소유자가 누구인지 변경하면 작성자-소유자에게 권한을 부여하는 ACL이 자동으로 올바른 SID에 대한 권한을 부여합니다. 문제는 Windows NT에서 소유권을 얻을 수 있는 권한이 있다는 것입니다.원래 소유자로부터 허가를 받아야 합니다.예정된 새 소유자에게. 소유권은 (특별한 특권 없이) 양도될 수 없으며, 허가 없이 인수될 수 없습니다. 이전 SID를 사용하는 계정을 삭제했으므로 이제 원래 소유자가 없습니다.부여하다그렇죠. 따라서 3단계 절차를 사용해야 합니다. 먼저, 무엇이든 소유권을 가질 수 있는 계정(예: 관리자 계정)은 소유권을 가져야 합니다. 그런 다음 해당 계정은 새 계정에 소유권 가져오기 권한을 부여해야 합니다. 마지막으로 새 계정은 관리자 계정의 소유권을 가져와야 합니다.

ACL이 작성자-소유자를 통해 간접적으로 액세스하는 대신 이전 SID에 직접 액세스 권한을 부여하는 경우 소유권을 가져오는 것은 다음과 같습니다.~ 아니다다른 이유로 나중에 그렇게 하고 싶을 수도 있지만 이에 대한 대답입니다. ACE의 이전 SID를 새 SID로 대체하는 것은 다음과 같습니다. subinacl리소스 키트의 도구와 해당 매개변수를 사용하여 이를 수행합니다 /replace.

추가 읽기

답변3

그래서 cygwin의 관리자처럼 takeown을 사용할 수 있었습니다. 나는 cygdrive가 아닌 cygwin/ 디렉토리만 재귀적으로 변경되어야 한다는 데 동의합니다. 내가 추가할 수 있는 유일한 것은 소유권을 얻은 후 관리자로서 unix 명령을 실행하여 권한을 변경할 수 있다는 것입니다.

chmod 744 *

소유자가 rwx를 갖고 다른 모든 사람이 읽기 전용을 갖도록 권한을 변경합니다. 따라서 Windows 측을 조작할 필요가 없습니다.

관련 정보