답변:
Linux에서 lsattr/ chattr에 의해 처리되고 일부는 꽤 많은 파일 시스템 (ext2 / 3 / 4, reiserfs, JFS, OCFS2, btrfs, XFS, nilfs2, hfsplus ...)에 의해 저장 될 수 있으며 CIFS를 통해 조회 할 수있는 속성 / SMB (POSIX 확장자 사용시)는 플래그입니다. 불변 또는 아카이브 와 같은 속성을 비활성화 또는 활성화하기 위해 켜거나 끌 수있는 비트 만 있습니다 . 그것들이 저장되는 방법은 파일 시스템에 따라 다르지만 일반적으로 inode의 16/32/64 비트 레코드입니다.
플래그의 전체 목록은 Linux 기본 파일 시스템 (ext2 / 3 / 4, btrfs ...)에서 찾을 수 있지만 모든 플래그가 모든 FS에 적용되는 것은 아니며 다른 비원시 FS의 경우 Linux는 해당 플래그를 동등한 것으로 맵핑하려고 시도합니다. 해당 파일 시스템의 기능. 예를 들어, simmutable HFS + 파일 시스템에 OSX에 의해 저장된 플래그는 리눅스에서 해당 불변 플래그에 매핑됩니다 chattr. 어떤 파일 시스템이 지원하지 않는 플래그는 전혀 문서화되어 있지 않습니다. 종종 커널 소스 코드를 읽는 것이 유일한 옵션입니다.
반면 에 Linux에서 설정 setfattr하거나 attrLinux에서 설정 한 확장 속성은 플래그 이상을 저장합니다. 파일에도 첨부되며 임의의 바이트 배열 (키와 값 모두)이 될 수있는 키 / 값 쌍입니다 (일부 파일 시스템에서는 크기 제한이 있음).
키는 예를 들어 system.posix_acl_access또는 user.rsync.%stat입니다. system네임 스페이스 (당신과 함께 POSIX ACL을 변경하지 않을 시스템에 예약되어 setfattr있지만, 더 많은 것을 가진 setfaclPOSIX ACL을 그냥 파일 시스템에서 적어도 확장 된 속성으로 저장하는 일 등) 동안, user네임 스페이스는 응용 프로그램에서 사용할 수 여기 ( 수퍼 유저가 아닌 경우 소유권 또는 권한에 대한 정보를 저장 rsync하기 위해 해당 --fake-super옵션을 사용합니다 .
다시 말하지만, 파일 시스템에 따라 다릅니다. 자세한 내용은 WikiPedia를 참조하십시오 .
lsattr/ chattr비에 대한 작업을 ext파일 시스템? 그렇지 않은 경우 extLinux 에서 비 시스템 의 플래그를 어떻게 변경 하시겠습니까? 또한 attrman 페이지는 XFS 용으로 작성되었다고 말합니다 (나에게 효과적이지만 ext4). 나는 실제로 어제 이것을 조사하는 데 오랜 시간을 보냈지 만 좋은 정보를 얻기가 어렵습니다. 다음을 참조하십시오 -unix.stackexchange.com/questions/118840/…
lsattr/chattr파일 플래그 용입니다. 모든 플래그가 모든 파일 시스템에서 지원되는 것은 아닙니다. 예를 들어, 압축과 같은 일부 플래그는 ext4에서는 작동하지 않지만 btrfs에서는 작동합니다.
reiserfs.
attr명령은 XFS 파일 시스템 용이며, 해당 파일 시스템 독립 명령은setfattr