파일 속성

File attribute

파일 속성은 파일 시스템파일 및/또는 디렉터리가 작동하는 방식을 설명하고 수정할 수 있는 메타 데이터의 한 유형이다.예를 들어 일반적인 파일 속성은 파일이 표시되는지, 수정 가능한지, 압축된지 또는 암호화된지 여부를 표시하거나 지정할 수 있다.대부분의 파일 속성의 가용성은 속성 데이터가 다른 제어 구조와 함께 저장되어야 하는 기본 파일 시스템(: FAT, NTFS, ext4)의 지원에 따라 달라진다.각 속성은 설정 및 삭제의 두 가지 상태 중 하나를 가질 수 있다.속성은 날짜 및 시간, 파일 이름 확장명 또는 파일 시스템 권한과 같은 다른 메타데이터와 구별되는 것으로 간주된다.파일 외에도 폴더, 볼륨 및 기타 파일 시스템 개체에는 속성이 있을 수 있다.

DOS 및 Windows

전통적으로 DOSMicrosoft Windows에서는 파일폴더가 다음 네 가지 속성을 수용했다.[1][2][3]

  • 보관(A):설정되면 마지막 백업 작업 이후 호스팅 파일이 변경되었음을 나타낸다.Windows의 파일 시스템은 변경된 모든 파일에 이 속성을 설정한다.그러면 백업 소프트웨어는 성공적인 전체 또는 증분 백업(차등 백업이 아님) 시 삭제해야 할 의무가 있다.
  • 숨김(H):설정되면 호스팅 파일이 숨겨져 있음을 표시한다.다음과 같은 MS-DOS 명령dir그리고 파일 탐색기와 같은 Windows 앱은 요청하지 않는 한 기본적으로 숨김 파일을 표시하지 않는다.[4]
  • 시스템(S): 설정되면 호스팅 파일이 컴퓨터가 제대로 작동하는 데 필요한 중요한 시스템 파일임을 표시한다.MS-DOS와 마이크로소프트 윈도우는 그것을 중요한 시스템 파일을 표시하는데 사용한다.다음과 같은 MS-DOS 명령dir또한 File Explorer와 같은 Windows 앱은 숨김 파일이 표시되는 경우에도 시스템 파일을 기본적으로 표시하지 않는다.
  • 읽기 전용(R):설정된 경우 파일이 변경되지 않아야 함을 표시한다.파일을 열었을 때, 파일 시스템 API는 일반적으로 응용 프로그램이 명시적으로 요청하지 않는 한, 요청된 응용 프로그램에 쓰기 권한을 부여하지 않는다.폴더에서 읽기 전용 속성은 일반적으로 무시되며 다른 용도로 사용된다.[5][6]

새로운 버전의 Windows(윈도우)가 출시됨에 따라 Microsoft는 NTFS 파일 시스템의 사용 가능한 특성 인벤토리에 다음을 포함하되 이에 국한되지 않음:[7][8]

  • 압축(C):설정되면 Windows는 저장 시 호스팅 파일을 압축한다.자세한 내용은 NTFS § 파일 압축을 참조하십시오.
  • 암호화됨(E):설정되면 Windows(윈도우)는 저장소에 있는 호스팅 파일을 암호화하여 무단 액세스를 방지한다.자세한 내용은 NTFS § 암호화를 참조하십시오.
  • 콘텐츠 인덱싱되지 않음(I):설정할 경우 인덱싱 서비스 또는 Windows 검색은 인덱싱 작업에 호스팅 파일을 포함하지 않는다.

Windows 탐색기의[7] "속성" 열에 표시되는 다른 속성:

  • 디렉토리(D):항목은 하위 디렉토리로, 자체 파일 및 디렉토리 항목을 포함한다.
  • 점 재분석(L):파일 또는 디렉터리에 연결된 리파스 포인트가 있거나 심볼릭 링크(Symbolic Link.
  • 오프라인(O):파일 데이터는 오프라인 저장소(원격 저장소)로 물리적으로 이동한다.
  • 스파스(P):파일은 희박한 파일이다. 즉, 파일의 내용이 부분적으로 비어 있고 연속성이 없다.
  • 임시(T):그 파일은 임시 저장에 사용된다.

DOS, OS/2 및 Windows에서는attrib cmd.execommand.com의 명령은 4개의 전통적인 파일 속성을 변경하고 표시하는 데 사용될 수 있다.[3][9]Windows의 파일 탐색기는 언급된 7가지 속성을 표시할 수 있지만 시스템 특성을 설정하거나 해제할 수는 없다.[5]Windows 7(윈도우 7) 이상의 구성 요소가 된 Windows PowerShell에는 다음과 같은 두 가지 명령이 있다.Get-ItemProperty그리고Set-ItemPropertyWindows NT에서 파일의 속성을 변경하려면 사용자에게 Write AttributesWrite Extended Attributes로 알려진 적절한 파일 시스템 권한이 있어야 한다.[10][11]

유닉스 및 POSIX

POSIX 호환 시스템을 포함한 유닉스 및 유닉스 유사 시스템의 경우, 각 파일에는 파일의 각 소유자, 그룹 및 기타 모든 사용자에 대한 읽기, 쓰기 및 실행 권한을 제어하는 9비트 플래그가 포함된 '모드'와 더불어 setuidsetgid 비트 플래그 'sticky' 비트가 있다.또한 이 모드는 파일 형식(일반 파일, 디렉터리 또는 기타 특수 유형)을 지정한다.

4.4BSD 및 파생상품

4.4BSD 및 4.4의 경우BSD-Lite, 파일 및 디렉토리(폴더)는 파일 소유자 또는 수퍼유저("사용자" 속성)가 설정할 수 있는 4가지 속성("시스템" 속성)과 슈퍼유저만이 설정할 수 있는 2가지 속성("시스템" 속성)을 수용했다.[12]

  • (사용자)덤프:설정할 경우 백업 작업 중에 파일 또는 디렉터리를 저장하지 않아야 함을 나타낸다.
  • (사용자 및 시스템) 불변:설정할 경우 파일 또는 디렉터리를 변경하지 않아야 함을 나타낸다.쓰기 위해 파일을 열거나, 디렉터리 내에서 파일을 만들거나, 디렉터리에서 파일을 제거하거나, 디렉터리 내에서 파일 이름을 바꾸거나, 파일 또는 디렉터리의 이름을 바꾸거나, 파일 또는 디렉터리를 제거하려는 시도가 권한 오류로 인해 실패하게 된다.
  • (사용자시스템) 추가 전용:설정되면 파일을 첨부해야 함을 표시한다.
  • (사용자) 불투명:디렉토리에 설정된 경우, 조합 스택을 통해 볼 때 디렉토리가 불투명함을 나타낸다.

FreeBSDDragonFly BSD에서 지원하는 몇 가지 추가 속성을 추가했다.[13][14]

  • (사용자시스템) 연결 해제 안 함:설정할 경우 파일 또는 디렉터리의 이름을 변경하거나 제거하지 않아야 함을 나타낸다.파일 또는 디렉터리의 이름을 바꾸거나 제거하려고 하면 권한 오류가 발생하여 작업이 실패함

FreeBSD는 또한 다음을 지원한다.[13]

  • (시스템) 아카이브 없음:설정할 경우 파일 또는 디렉터리가 아카이브되지 않아야 함을 나타낸다.
  • (시스템) 스냅샷:설정할 경우 파일 또는 디렉터리가 스냅샷 파일임을 표시하십시오.이 속성은 시스템에 의해 유지되며, 슈퍼 유저에 의해서도 설정될 수 없다.

DragonFly BSD는 다음을 지원하는 반면:[14]

  • (사용자시스템) 기록 없음:설정된 경우 파일 또는 디렉터리에 대한 기록이 유지되지 않아야 함을 나타낸다.
  • (사용자) 스왑 캐시:설정할 경우 파일에 대한 클린 파일 시스템 데이터 또는 디렉터리 및 디렉터리 아래의 모든 데이터를 솔리드 스테이트 드라이브의 스왑 공간에 캐시해야 함을 나타낸다.
  • (시스템) 스왑 캐시:설정할 경우 파일에 대한 정리 파일 시스템 데이터 또는 디렉터리 및 디렉터리 아래의 모든 데이터를 솔리드 스테이트 드라이브의 스왑 공간에 캐시하지 않아야 함을 나타낸다.
  • (시스템) 보관됨:설정할 경우 파일 또는 디렉터리가 아카이브될 수 있음을 나타낸다.

NetBSDOpenB에서도 지원되는 다른 속성을 추가했다.[15]SD:[16]

  • (시스템) 보관됨:설정할 경우 파일 또는 디렉터리가 아카이브됨을 나타낸다.

MacOS에는 다음 세 가지 특성이 추가됨:

  • (사용자) 숨김:설정할 경우 파일 또는 디렉토리가 기본적으로 GUI에 표시되지 않아야 함을 표시하지만, 이 경우 표시된다.[17]
  • (시스템) 제한:설정할 경우 파일 또는 디렉터리가 시스템 무결성 보호에 의해 보호됨을 나타냄
  • (사용자시스템) 압축:HFS+ 압축을 사용하여 압축된 파일의 읽기 전용 특성

이러한 시스템에서는chflags그리고ls명령을 사용하여 파일 속성을 변경하고 표시할 수 있다.4.4에서 파일의 "사용자" 속성을 변경하려면 다음과 같이 하십시오.BSD에서 파생된 운영체제는 사용자가 파일의 소유자 또는 수퍼유저여야 하며, "시스템" 속성을 변경하려면 사용자가 슈퍼유저여야 한다.

리눅스

리눅스 운영 체제는 에 의해 나열될 수 있는 광범위한 파일 속성을 지원할 수 있다.lsattr명령 및 수정(가능한 경우)chattr명령하다프로그램은 ioctl 연산을 사용하여 속성을 검사하고 변경할 수 있다.[18]

많은 Linux 파일 시스템은 제한된 속성 집합만 지원하며, 그 중 어느 것도 모든 속성을 지원하지 않는다.chattr변할 수 있다.최소한 일부 속성을 지원하는 파일 시스템에는 ext4, XFSbtrfs가 포함된다.

많은 공통 리눅스 파일 시스템에서 지원하는 공통 파일 속성
기여하다 lsattr 깃발 chattr 옵션 의미론 및 근거
아니요.atime업데이트 A +A,-A 파일을 읽거나 읽을 때 시간 레코드는 수정되지 않는다.
추가 전용 a +a,-a

추가 모드에서만 허용되는 파일에 쓰기.

불변성 i +i,-i

파일 콘텐츠 또는 메타데이터의 변경 방지: 파일/디렉토리를 쓰기, 삭제, 이름 변경 또는 하드 링크할 수 없음.

덤프 없음 d +d,-d 덤프 프로그램에서 파일을 건너뛰는 경우
보안 삭제 s +s,-s 삭제 시 모든 파일 데이터 블록이 0으로 채워지는 요청.
동기식 업데이트 S +S,-S 변경사항은 기본 파일 시스템 저장 매체에 동시에 기록되며, 영향을 받는 파일에 대한 '동기화' 마운트 옵션과 동일하다.

참고 항목

참조

  1. ^ "Definition of: file attribute". PC Magazine. Ziff Davis. Retrieved 14 October 2020.
  2. ^ "File attributes". Computer Hope. Retrieved 2 December 2012.
  3. ^ a b "In Windows, what are file attributes, and how can I change them?". Knowledge Base. Indiana University. 11 October 2011. Retrieved 2 December 2012.
  4. ^ "What is a hidden file?". Windows 7 Help. Microsoft. Retrieved 2 December 2012.
  5. ^ a b "You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, in Windows Vista or in Windows 7". Microsoft Support. Microsoft. 31 May 2012. Retrieved 2 December 2012.
  6. ^ "Why is the readonly property on folders so strange?".
  7. ^ a b "File Attribute Constants". MSDN. Microsoft. Retrieved 17 July 2018.
  8. ^ "HOW TO: Use the File Attribute Management Script (Fileattributes.pl) in Windows 2000". Microsoft support. Microsoft. Retrieved 2 December 2012.
  9. ^ "Definition of: DOS Attrib". PC Magazine. Ziff Davis. Retrieved 2 December 2012.
  10. ^ "Use a PowerShell Cmdlet to Work with File Attributes". Hey, Scripting Guy! Blog. Microsoft. 26 January 2011. Retrieved 3 December 2012.
  11. ^ "How to set, view, change, or remove special permissions for files and folders in Windows XP". Microsoft Support. Microsoft. 7 May 2007. Retrieved 2 December 2012.
  12. ^ chflags(2)BSD 시스템 통화 설명서
  13. ^ a b chflags(2)FreeBSD 시스템 호출 설명서
  14. ^ a b chflags(2)DragonFly BSD 시스템 호출 및 오류 번호 설명서
  15. ^ chflags(2)NetBSD 시스템 통화 설명서
  16. ^ chflags(2)오픈BSD 시스템 호출 설명서
  17. ^ chflags(2)DarwinMacOS 시스템 통화 설명서
  18. ^ ioctl_iflags(2)Linux Programmer's Manual – System Calls

외부 링크