외부 드라이브에서 일부 파일을 복사했는데 이제 OSX의 ZSH 셸 아래에 노란색 배경으로 표시됩니다. 일반 항목에는 "drwxr-xr-x"라고 표시되어 있고 노란색 항목에는 "drwxrwxrwx"라는 누락된 권한이 없기 때문에 권한 문제라고 생각합니다.
이것은 예이다
total 24
drwxr-xr-x 21 martin staff 714B Aug 4 00:10 .
drwxr-xr-x+ 63 martin staff 2.1K Aug 5 18:50 ..
-rw-r--r--@ 1 martin staff 10K Aug 4 00:24 .DS_Store
drwxrwxrwx 9 martin staff 306B Jul 31 00:44 Tempa
drwxrwxrwx 5 martin staff 170B Jul 11 21:31 XCode
drwxrwxrwx 5 martin staff 170B Jul 11 21:31 Items
drwxr-xr-x 21 martin staff 714B Jul 31 09:13 code-test
..
위의 항목 2개는 노란색 배경 없이 표시됩니다. 이는 .DS_Store 파일 및 코드 테스트 디렉터리입니다. 실제로 주목할 만한 점은 노란색 배경의 디렉터리(예: "XCode") 내에 동일한 문제가 있는 더 많은 파일과 디렉터리가 로드되어 있다는 것입니다.
복사된 파일에 이러한 권한이 있는 이유는 무엇입니까? 권한 누락은 무엇을 의미하나요? 문제를 해결하는 방법은 물론입니다. 물론 영향을 받는 각 디렉터리에 동일한 문제가 있는 것으로 보이는 파일과 기타 디렉터리가 있기 때문에 반복적으로 해결해야 합니다.
답변1
아마도 외장 드라이브는 권한을 저장하지 않고 모든 사람에게 허용된 모든 권한으로 마운트되는 FAT의 변형과 같은 파일 시스템을 사용하는 것으로 보입니다. 파일을 복사하는 데 사용한 도구는 원래 권한을 유지합니다.
멋진 색상은 이러한 파일이 누구나 쓸 수 있다는 것을 상기시켜 줍니다. 출력에서 ls -l
권한 rwx
은 3자 순서로 사용자, 그룹, 기타의 세 블록으로 그룹화됩니다. 즉, rwxrwxrwx
모든 사람이 무엇이든 할 수 있다는 의미이고, 반면에 rwxr-xr-x
모든 사람이 파일을 읽고 실행할 수 있지만 파일을 소유한 사용자만 쓸 수 있다는 의미입니다. 바라보다UNIX 권한 및 해당 속성 이해권한 및 출력에 대한 자세한 내용 ls -l
.
자신만 쓸 수 있도록 파일을 변경하려면 다음을 실행하세요.chmod
주문하다:
chmod -R go-w .
-R
재귀를 의미하며 go
그룹 등에 영향을 미치는 권한을 의미하며 -w
쓰기 권한 삭제를 의미합니다.
파일이 실제로 실행 가능하지 않기 때문에 파일에서 실행 권한을 제거하려면 x
이 명령에 추가하지 마십시오. 디렉터리는 권한을 보존해야 합니다 x
. 디렉터리의 x
실제 의미는 해당 디렉터리 내의 파일에 액세스할 수 있는 권한이기 때문입니다( r
디렉터리 내용 목록만 허용되고 파일에 대한 액세스는 허용되지 않음). 당신은 그것을 사용할 수 있습니다find
chmod
디렉터리가 아닌 곳에서만 실행되는 명령입니다. 디렉토리를 제외한 현재 디렉토리의 모든 항목에 대한 실행 권한을 제거하려면 다음을 수행하십시오.
find . -type d -o -exec chmod a-x {} +