ls는 노란색 배경으로 외부 드라이브에서 복사된 파일을 표시합니다.

ls는 노란색 배경으로 외부 드라이브에서 복사된 파일을 표시합니다.

외부 드라이브에서 일부 파일을 복사했는데 이제 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디렉터리 내용 목록만 허용되고 파일에 대한 액세스는 허용되지 않음). 당신은 그것을 사용할 수 있습니다findchmod디렉터리가 아닌 곳에서만 실행되는 명령입니다. 디렉토리를 제외한 현재 디렉토리의 모든 항목에 대한 실행 권한을 제거하려면 다음을 수행하십시오.

find . -type d -o -exec chmod a-x {} +

관련 정보