"ls -al" 실행 후 + 또는 @ 표시

"ls -al" 실행 후 + 또는 @ 표시

Mac OS X에서 "ls -al"을 실행하면 다음과 같은 결과가 나옵니다.

drwxrwxrwx+ 4 smcho 직원 136 5월 5일 09:18에 공개
drwxr-xr-x+ 6 smcho 직원 204 2010년 2월 1일
drwxrwxrwx 9 smcho 직원 306 백업 2010년 2월 2일
drwxr-xr-x@ 36 smcho 직원 1224 9월 4일 22:51 bin
  • 첫 번째 열 끝에 있는 + 또는 @는 무엇을 의미하나요?
  • 이는 Mac에만 해당됩니까, 아니면 UNIX에서 일반적입니까?

다음에 추가

Michael Mrozek의 답변에 따라 "ls -ale"을 실행하여 다음을 얻었습니다.

drwx------+ 66 smcho 직원 2244 8월 30일 13:40 라이브러리
 0: group:com.apple.sharepoint.group.3은 검색을 허용합니다.
 1 : 그룹 : 모두가 삭제를 거부함
drwxr-xr-x 3 smcho 직원 102 9월 4일 15:01 메일
drwx------+ smcho 직원 13명 442 8월 28일 17:55 영화
 0: 그룹: 모두가 삭제를 거부함
drwx------+ 6 smcho Staff 204년 7월 9일 09:37 Music
 0: 그룹: 모두가 삭제를 거부함
drwx------+ smcho 직원 11명 374 8월 28일 16:55 사진
 0: 그룹: 모두가 삭제를 거부함
drwxr-xr-x 3 smcho 직원 102 3월 18일 15:43 프로젝트
drwxrwxrwx+ 4 smcho 직원 136 5월 5일 09:18에 공개
 0: 그룹: 모두가 삭제를 거부함
drwxr-xr-x+ 6 smcho 직원 204 2010년 2월 1일
 0: 그룹: 모두가 삭제를 거부함

추가 메시지는 무엇을 의미하나요? 내 파일 중 일부에 왜 필요한가요? 나는 그들을 위해 특별한 일을 한 기억이 없습니다.

답변1

@접미사는 Mac OS에 고유하며 다음에서 제공됩니다.이 문제, 그래서 거기에서 내 답변의 이 부분을 복사했습니다. 이는 파일에 다음이 있음을 의미합니다.확장된 속성. xattr명령줄 유틸리티를 사용하여 이를 보고 수정할 수 있습니다 .

xattr --list filename
xattr --set propname propvalue filename
xattr --delete propname filename

접미사는 +파일에 액세스 제어 목록이 있고 ACL을 지원하는 모든 *nix에서 공통적임을 나타냅니다. ls이 플래그를 지정하면 -e파일 뒤에 관련 ACL이 표시되어 chmod수정에 사용될 수 있습니다. 대부분의 내용은 chmod매뉴얼 페이지에서 가져옵니다.

를 사용하여 ACL을 추가 chmod +a "type:name flag permission,..."하고 를 사용하여 제거할 수 있습니다 chmod -a. 논쟁은 chmod매우 복잡합니다.

  • 유형user, 또는 사용자 이름을 가리키는지 그룹 이름을 가리키는 group지 명확히 하기 위해 사용합니다. 명시적인 name경우 유형을 생략할 수 있습니다.name
  • 이름ACL이 적용되는 사용자 이름 또는 그룹입니다.
  • 배너allow이 ACL 항목이 권한을 부여하는지, 아니면 deny권한을 거부하는지 여부 입니다.
  • 허용하다실제로 수정된 권한입니다. 쉼표로 구분하여 원하는 수만큼 나열할 수 있습니다.
    • 삭제-- 파일/디렉토리 삭제 허용
    • 속성 읽기-- 기본 속성 읽기
    • 속성 쓰기--기본 속성 작성
    • 데이터 읽기-- 확장된 속성 읽기( xattr위의 , 사용)
    • 외부 데이터 쓰기--확장 속성 쓰기
    • 보안 읽기-- ACL 정보 읽기
    • 보안 쓰기--ACL 정보 작성
    • -- 소유자 변경
    • 디렉터리별 권한
      • 목록-- 디렉토리의 파일/폴더를 표시합니다.
      • 찾다-- 디렉터리에서 이름으로 파일/폴더 찾기
      • 파일 추가-- 디렉토리에 새 파일을 생성합니다.
      • 하위 디렉터리 추가--디렉터리 아래에 새 디렉터리를 생성합니다.
      • 하위 개체 삭제-- 디렉터리의 파일/디렉터리 삭제
      • 상속된 컨트롤
        • 파일 상속-- 디렉터리의 ACL은 파일에 의해 상속됩니다.
        • 디렉토리 상속-- 디렉터리의 ACL은 하위 디렉터리에 상속됩니다.
        • 상속 제한-- 하위 디렉터리가 디렉터리에서 상속한 ACL을 상속하지 못하도록 방지
        • 상속만 받음-- 새로 생성된 모든 프로젝트에 상속되지만 무시됩니다.
    • 파일별 권한
      • 읽다-- 읽을 파일을 엽니다.
      • 쓰다-- 쓰기 위해 파일 열기
      • 추가의-- 추가할 파일을 엽니다.
      • 구현하다-- 실행 파일

특정 예에서 대부분의 ACL 항목은 입니다 group:everyone deny delete. 즉, everyone그룹의 모든 사용자(물론 모든 사람)는 폴더 삭제 권한이 거부됩니다. 이에 대한 문서를 찾을 수는 없지만 이것이 중요한 루트 폴더를 삭제하지 못하게 하는 기본 ACL이라고 생각합니다. 그렇지 않은 경우 누군가가 이를 수정할 것입니다. 유일한 다른 항목은 디렉토리 서비스가 폴더 group:com.apple.sharepoint.group.3 allow search에서 이름으로 파일을 검색할 수 있다는 것입니다./Library

관련 정보