파일 속성
File attribute파일 속성은 파일 시스템의 파일 및/또는 디렉터리가 작동하는 방식을 설명하고 수정할 수 있는 메타 데이터의 한 유형이다.예를 들어 일반적인 파일 속성은 파일이 표시되는지, 수정 가능한지, 압축된지 또는 암호화된지 여부를 표시하거나 지정할 수 있다.대부분의 파일 속성의 가용성은 속성 데이터가 다른 제어 구조와 함께 저장되어야 하는 기본 파일 시스템(예: FAT, NTFS, ext4)의 지원에 따라 달라진다.각 속성은 설정 및 삭제의 두 가지 상태 중 하나를 가질 수 있다.속성은 날짜 및 시간, 파일 이름 확장명 또는 파일 시스템 권한과 같은 다른 메타데이터와 구별되는 것으로 간주된다.파일 외에도 폴더, 볼륨 및 기타 파일 시스템 개체에는 속성이 있을 수 있다.
DOS 및 Windows
전통적으로 DOS와 Microsoft 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.exe 및 command.com의 명령은 4개의 전통적인 파일 속성을 변경하고 표시하는 데 사용될 수 있다.[3][9]Windows의 파일 탐색기는 언급된 7가지 속성을 표시할 수 있지만 시스템 특성을 설정하거나 해제할 수는 없다.[5]Windows 7(윈도우 7) 이상의 구성 요소가 된 Windows PowerShell에는 다음과 같은 두 가지 명령이 있다.Get-ItemProperty
그리고Set-ItemProperty
Windows NT에서 파일의 속성을 변경하려면 사용자에게 Write Attributes 및 Write Extended Attributes로 알려진 적절한 파일 시스템 권한이 있어야 한다.[10][11]
유닉스 및 POSIX
POSIX 호환 시스템을 포함한 유닉스 및 유닉스 유사 시스템의 경우, 각 파일에는 파일의 각 소유자, 그룹 및 기타 모든 사용자에 대한 읽기, 쓰기 및 실행 권한을 제어하는 9비트 플래그가 포함된 '모드'와 더불어 setuid 및 setgid 비트 플래그와 'sticky' 비트가 있다.또한 이 모드는 파일 형식(일반 파일, 디렉터리 또는 기타 특수 유형)을 지정한다.
4.4BSD 및 파생상품
4.4BSD 및 4.4의 경우BSD-Lite, 파일 및 디렉토리(폴더)는 파일 소유자 또는 수퍼유저("사용자" 속성)가 설정할 수 있는 4가지 속성("시스템" 속성)과 슈퍼유저만이 설정할 수 있는 2가지 속성("시스템" 속성)을 수용했다.[12]
- (사용자) 노 덤프:설정할 경우 백업 작업 중에 파일 또는 디렉터리를 저장하지 않아야 함을 나타낸다.
- (사용자 및 시스템) 불변:설정할 경우 파일 또는 디렉터리를 변경하지 않아야 함을 나타낸다.쓰기 위해 파일을 열거나, 디렉터리 내에서 파일을 만들거나, 디렉터리에서 파일을 제거하거나, 디렉터리 내에서 파일 이름을 바꾸거나, 파일 또는 디렉터리의 이름을 바꾸거나, 파일 또는 디렉터리를 제거하려는 시도가 권한 오류로 인해 실패하게 된다.
- (사용자 및 시스템) 추가 전용:설정되면 파일을 첨부해야 함을 표시한다.
- (사용자) 불투명:디렉토리에 설정된 경우, 조합 스택을 통해 볼 때 디렉토리가 불투명함을 나타낸다.
FreeBSD는 DragonFly BSD에서 지원하는 몇 가지 추가 속성을 추가했다.[13][14]
- (사용자 및 시스템) 연결 해제 안 함:설정할 경우 파일 또는 디렉터리의 이름을 변경하거나 제거하지 않아야 함을 나타낸다.파일 또는 디렉터리의 이름을 바꾸거나 제거하려고 하면 권한 오류가 발생하여 작업이 실패함
FreeBSD는 또한 다음을 지원한다.[13]
- (시스템) 아카이브 없음:설정할 경우 파일 또는 디렉터리가 아카이브되지 않아야 함을 나타낸다.
- (시스템) 스냅샷:설정할 경우 파일 또는 디렉터리가 스냅샷 파일임을 표시하십시오.이 속성은 시스템에 의해 유지되며, 슈퍼 유저에 의해서도 설정될 수 없다.
DragonFly BSD는 다음을 지원하는 반면:[14]
- (사용자 및 시스템) 기록 없음:설정된 경우 파일 또는 디렉터리에 대한 기록이 유지되지 않아야 함을 나타낸다.
- (사용자) 스왑 캐시:설정할 경우 파일에 대한 클린 파일 시스템 데이터 또는 디렉터리 및 디렉터리 아래의 모든 데이터를 솔리드 스테이트 드라이브의 스왑 공간에 캐시해야 함을 나타낸다.
- (시스템) 스왑 캐시:설정할 경우 파일에 대한 정리 파일 시스템 데이터 또는 디렉터리 및 디렉터리 아래의 모든 데이터를 솔리드 스테이트 드라이브의 스왑 공간에 캐시하지 않아야 함을 나타낸다.
- (시스템) 보관됨:설정할 경우 파일 또는 디렉터리가 아카이브될 수 있음을 나타낸다.
NetBSD는 OpenB에서도 지원되는 다른 속성을 추가했다.[15]SD:[16]
- (시스템) 보관됨:설정할 경우 파일 또는 디렉터리가 아카이브됨을 나타낸다.
MacOS에는 다음 세 가지 특성이 추가됨:
- (사용자) 숨김:설정할 경우 파일 또는 디렉토리가 기본적으로 GUI에 표시되지 않아야 함을 표시하지만, 이 경우 표시된다.[17]
- (시스템) 제한:설정할 경우 파일 또는 디렉터리가 시스템 무결성 보호에 의해 보호됨을 나타냄
- (사용자 및 시스템) 압축:HFS+ 압축을 사용하여 압축된 파일의 읽기 전용 특성
이러한 시스템에서는chflags
그리고ls
명령을 사용하여 파일 속성을 변경하고 표시할 수 있다.4.4에서 파일의 "사용자" 속성을 변경하려면 다음과 같이 하십시오.BSD에서 파생된 운영체제는 사용자가 파일의 소유자 또는 수퍼유저여야 하며, "시스템" 속성을 변경하려면 사용자가 슈퍼유저여야 한다.
리눅스
리눅스 운영 체제는 에 의해 나열될 수 있는 광범위한 파일 속성을 지원할 수 있다.lsattr
명령 및 수정(가능한 경우)chattr
명령하다프로그램은 ioctl 연산을 사용하여 속성을 검사하고 변경할 수 있다.[18]
많은 Linux 파일 시스템은 제한된 속성 집합만 지원하며, 그 중 어느 것도 모든 속성을 지원하지 않는다.chattr
변할 수 있다.최소한 일부 속성을 지원하는 파일 시스템에는 ext4, XFS 및 btrfs가 포함된다.
기여하다 | lsattr 깃발 | chattr 옵션 | 의미론 및 근거 |
---|---|---|---|
아니요.atime 업데이트 | A | +A,-A | 파일을 읽거나 읽을 때 시간 레코드는 수정되지 않는다. |
추가 전용 | a | +a,-a | 추가 모드에서만 허용되는 파일에 쓰기. |
불변성 | i | +i,-i | 파일 콘텐츠 또는 메타데이터의 변경 방지: 파일/디렉토리를 쓰기, 삭제, 이름 변경 또는 하드 링크할 수 없음. |
덤프 없음 | d | +d,-d | 덤프 프로그램에서 파일을 건너뛰는 경우 |
보안 삭제 | s | +s,-s | 삭제 시 모든 파일 데이터 블록이 0으로 채워지는 요청. |
동기식 업데이트 | S | +S,-S | 변경사항은 기본 파일 시스템 저장 매체에 동시에 기록되며, 영향을 받는 파일에 대한 '동기화' 마운트 옵션과 동일하다. |
참고 항목
참조
- ^ "Definition of: file attribute". PC Magazine. Ziff Davis. Retrieved 14 October 2020.
- ^ "File attributes". Computer Hope. Retrieved 2 December 2012.
- ^ 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.
- ^ "What is a hidden file?". Windows 7 Help. Microsoft. Retrieved 2 December 2012.
- ^ "Why is the readonly property on folders so strange?".
- ^ a b "File Attribute Constants". MSDN. Microsoft. Retrieved 17 July 2018.
- ^ "HOW TO: Use the File Attribute Management Script (Fileattributes.pl) in Windows 2000". Microsoft support. Microsoft. Retrieved 2 December 2012.
- ^ "Definition of: DOS Attrib". PC Magazine. Ziff Davis. Retrieved 2 December 2012.
- ^ "Use a PowerShell Cmdlet to Work with File Attributes". Hey, Scripting Guy! Blog. Microsoft. 26 January 2011. Retrieved 3 December 2012.
- ^ "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.
- ^ BSD 시스템 통화 설명서 –
- ^ a b FreeBSD 시스템 호출 설명서 –
- ^ a b DragonFly BSD 시스템 호출 및 오류 번호 설명서 –
- ^ NetBSD 시스템 통화 설명서 –
- ^ 오픈BSD 시스템 호출 설명서 –
- ^ Darwin 및 MacOS 시스템 통화 설명서 –
- ^ Linux Programmer's Manual – System Calls –
외부 링크
- 정의: PC Magazine의 DOS 속성
- Wayback Machine(2007년 10월 17일 보관)의 Unix 유사 운영 체제에 숨겨진 파일
- Microsoft 파일 속성 상수
- Win32 파일 속성