답변:
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
하거나 attr
Linux에서 설정 한 확장 속성은 플래그 이상을 저장합니다. 파일에도 첨부되며 임의의 바이트 배열 (키와 값 모두)이 될 수있는 키 / 값 쌍입니다 (일부 파일 시스템에서는 크기 제한이 있음).
키는 예를 들어 system.posix_acl_access
또는 user.rsync.%stat
입니다. system
네임 스페이스 (당신과 함께 POSIX ACL을 변경하지 않을 시스템에 예약되어 setfattr
있지만, 더 많은 것을 가진 setfacl
POSIX ACL을 그냥 파일 시스템에서 적어도 확장 된 속성으로 저장하는 일 등) 동안, user
네임 스페이스는 응용 프로그램에서 사용할 수 여기 ( 수퍼 유저가 아닌 경우 소유권 또는 권한에 대한 정보를 저장 rsync
하기 위해 해당 --fake-super
옵션을 사용합니다 .
다시 말하지만, 파일 시스템에 따라 다릅니다. 자세한 내용은 WikiPedia를 참조하십시오 .
lsattr
/ chattr
비에 대한 작업을 ext
파일 시스템? 그렇지 않은 경우 ext
Linux 에서 비 시스템 의 플래그를 어떻게 변경 하시겠습니까? 또한 attr
man 페이지는 XFS 용으로 작성되었다고 말합니다 (나에게 효과적이지만 ext4
). 나는 실제로 어제 이것을 조사하는 데 오랜 시간을 보냈지 만 좋은 정보를 얻기가 어렵습니다. 다음을 참조하십시오 -unix.stackexchange.com/questions/118840/…
lsattr/chattr
파일 플래그 용입니다. 모든 플래그가 모든 파일 시스템에서 지원되는 것은 아닙니다. 예를 들어, 압축과 같은 일부 플래그는 ext4에서는 작동하지 않지만 btrfs에서는 작동합니다.
reiserfs
.
attr
명령은 XFS 파일 시스템 용이며, 해당 파일 시스템 독립 명령은setfattr