파일 특성
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
파일 특성은 운영 체제에서 파일과 폴더에 부여되는 속성으로, 파일의 접근 및 관리 방식을 제어한다. 도스 및 윈도우에서는 보관, 읽기 전용, 시스템, 숨김의 4가지 기본 특성을 가지며, NTFS 파일 시스템에서는 압축, 암호화, 색인 기능을 추가 지원한다. 유닉스 및 POSIX 계열 시스템에서는 파일 소유자, 그룹, 기타 사용자에 대한 권한을 제어하는 9비트 플래그와 파일 유형을 지정하는 모드를 사용한다. 4.4BSD 및 파생 운영 체제는 덤프 금지, 불변, 추가 전용, 불투명 등의 속성을 지원하며, FreeBSD, DragonFly BSD, NetBSD, macOS 등에서도 추가적인 속성을 제공한다. 리눅스는 chattr 명령을 통해 다양한 파일 속성을 지원하며, OpenSolaris 및 파생 시스템은 chmod 명령을 통해 속성을 설정하고 ls 명령으로 나열할 수 있다. 파일 특성은 운영 체제별로 다르며, 파일의 접근 권한, 백업, 숨김 여부 등을 설정하는 데 사용된다.
더 읽어볼만한 페이지
파일 특성 | |
---|---|
파일 속성 | |
파일 확장자 | 파일 이름의 마지막 부분으로, 파일 형식을 나타내는 문자열. |
파일 크기 | 파일이 차지하는 저장 공간의 크기. |
생성 날짜 | 파일이 처음 만들어진 날짜와 시간. |
수정 날짜 | 파일이 마지막으로 변경된 날짜와 시간. |
접근 날짜 | 파일에 마지막으로 접근한 날짜와 시간. |
파일 권한 | 파일에 대한 사용자 또는 그룹의 접근 권한 (읽기, 쓰기, 실행). |
파일 소유자 | 파일을 소유한 사용자. |
파일 그룹 | 파일이 속한 그룹. |
파일 종류 | 파일의 종류 (예: 텍스트 파일, 이미지 파일, 실행 파일). |
파일 위치 | 파일 시스템 내에서 파일이 저장된 경로. |
파일 속성 (숨김, 시스템 파일 등) | 파일의 추가적인 속성 정보 (예: 숨김 파일, 시스템 파일). |
파일 압축 여부 | 파일이 압축되어 있는지 여부. |
파일 암호화 여부 | 파일이 암호화되어 있는지 여부. |
파일 무결성 정보 | 파일의 무결성을 검증하기 위한 정보 (예: 체크섬, 해시 값). |
파일 메타데이터 | 파일에 대한 추가적인 정보 (예: 작성자, 제목, 설명). |
실행 파일 여부 | 파일이 실행 가능한 프로그램인지 여부. |
연결 프로그램 | 파일을 열거나 실행하는 데 사용되는 프로그램. |
파일 디지털 서명 | 파일의 신뢰성을 보장하기 위한 디지털 서명. |
파일 설명 | 파일에 대한 간략한 설명. |
파일 태그 | 파일을 분류하고 검색하기 위한 태그 정보. |
파일 버전 정보 | 파일의 버전 정보 (소프트웨어의 경우). |
파일 저작권 정보 | 파일의 저작권 정보. |
파일 라이선스 정보 | 파일의 라이선스 정보. |
추가 정보 | |
파일 특성 | 파일 시스템에서 파일의 동작을 정의하는 메타데이터. |
파일 시스템 | 파일 특성을 지원하는 파일 시스템. |
2. 종류
파일 특성은 운영 체제에 따라 다양한 종류가 있다.
DOS와 마이크로소프트 윈도우에서는 전통적으로 아카이브, 숨김, 시스템, 읽기 전용의 네 가지 속성이 사용되었다. 이후 윈도우 버전이 업데이트되면서 압축됨, 암호화됨, 콘텐츠-인덱싱 안 함 등의 속성이 NTFS 파일 시스템에 추가되었다.[3] 윈도우 탐색기는 디렉터리, 다시 해석 지점, 오프라인, 희소, 임시 등의 속성도 표시한다.
유닉스 및 POSIX 계열 시스템에서는 파일 모드를 통해 파일 소유자, 그룹, 다른 사용자에 대한 읽기, 쓰기, 실행 권한을 제어하며, ''setuid'' 및 ''setgid'' 비트 플래그와 'sticky' 비트 플래그가 있다. 4.4BSD 및 그 파생 시스템( FreeBSD, DragonFly BSD, NetBSD, OpenBSD, macOS 등)에서는 덤프 금지, 불변, 추가 전용, 불투명 등의 속성을 추가로 지원한다.
리눅스 운영 체제는 `lsattr` 및 `chattr` 명령을 통해 다양한 파일 속성을 지원하며,[12] `atime` 업데이트 없음, 추가 전용, 변경 불가, 덤프 없음, 안전한 삭제, 동기 업데이트 등이 주요 속성이다.
OpenSolaris 및 파생 시스템(오라클 솔라리스, illumos)은 CIFS 서버 지원을 위해 "시스템 속성"을 추가했고,[13] `chmod` 및 `ls` 명령으로 속성을 설정하고 나열할 수 있다. `appendonly`, `immutable`, `nodump`, `nounlink` 등이 주요 속성이다.
2. 1. 도스 및 마이크로소프트 윈도우
전통적으로 DOS와 마이크로소프트 윈도우에서 파일과 폴더는 다음 네 가지 특성을 가졌다:- '''보관 (A)''': 마지막 백업 작업 이후 파일이 변경되었음을 나타낸다. 윈도우 파일 시스템은 변경된 모든 파일에 이 속성을 설정한다. 백업 소프트웨어는 성공적인 전체 또는 증분 백업(차등 백업 아님) 시 이를 지우는 역할을 한다.
- '''숨김 (H)''': 파일을 보이지 않게 한다. `dir`과 같은 MS-DOS 명령과 파일 탐색기와 같은 윈도우 앱은 기본적으로 숨김 파일을 표시하지 않지만, 표시하도록 요청하면 표시한다.[1]
- '''시스템 (S)''': 컴퓨터가 제대로 작동하는 데 필요한 중요한 시스템 파일임을 나타낸다. MS-DOS와 마이크로소프트 윈도우는 중요한 시스템 파일을 표시하는 데 사용한다. `dir`과 같은 MS-DOS 명령과 파일 탐색기 같은 윈도우 앱은 숨김 파일이 표시되어도 기본적으로 시스템 파일을 표시하지 않지만, 표시하도록 요청하면 표시한다.
- '''읽기 전용 (R)''': 파일을 변경해서는 안 됨을 나타낸다. 파일을 열 때, 파일 시스템 API는 일반적으로 요청 애플리케이션에 쓰기 권한을 부여하지 않으며, 애플리케이션이 명시적으로 요청하는 경우에만 부여한다. 폴더의 읽기 전용 속성은 일반적으로 무시되며, 다른 목적으로 사용된다.[2]
윈도우의 새로운 버전이 나오면서, 마이크로소프트는 NTFS 파일 시스템에서 사용 가능한 속성 목록을 추가했다. 여기에는 다음이 포함되지만, 이에 국한되지는 않는다:[3]
- '''압축됨 (C)''': 저장 시 윈도우가 파일을 압축한다.
- '''암호화됨 (E)''': 무단 접근을 방지하기 위해 저장 시 윈도우가 파일을 암호화한다.
- '''콘텐츠-인덱싱 안 함 (I)''': 인덱싱 서비스 또는 윈도우 검색은 파일을 인덱싱 작업에 포함하지 않는다.
윈도우 탐색기의 "속성" 열에 표시되는 다른 속성은 다음과 같다.
- '''디렉터리 (D)''': 항목은 자체 파일 및 디렉터리 항목을 포함하는 서브디렉터리이다.
- '''다시 해석 지점 (L)''': 파일 또는 디렉터리에는 연결된 다시 해석 지점이 있거나 심볼릭 링크이다.
- '''오프라인 (O)''': 파일 데이터가 물리적으로 오프라인 스토리지(원격 스토리지)로 이동되었다.
- '''희소 (P)''': 파일은 희소 파일이다. 즉, 내용이 부분적으로 비어 있고 불연속적이다.
- '''임시 (T)''': 파일은 임시 저장에 사용된다.
DOS, OS/2 및 윈도우에서, cmd.exe 및 command.com의 `attrib` 명령을 사용하여 네 가지 전통적인 파일 속성을 변경하고 표시할 수 있다. 윈도우의 파일 탐색기는 언급된 일곱 가지 속성을 표시할 수 있지만, 시스템 속성을 설정하거나 지울 수는 없다. 윈도우 파워셸은 윈도우 7 이상 버전의 구성 요소가 되었으며, 속성을 읽고 쓸 수 있는 두 가지 명령( `Get-ItemProperty` 및 `Set-ItemProperty` )을 제공한다.[4] Windows NT의 파일에 대한 속성을 변경하려면, 사용자는 ''속성 쓰기'' 및 ''확장 속성 쓰기''로 알려진 적절한 파일 시스템 권한이 있어야 한다.[5]
2. 2. 유닉스 및 POSIX 계열
유닉스 및 POSIX를 준수하는 시스템을 포함한 유닉스 계열 시스템에서 각 파일은 '모드'를 갖는다. 이 모드는 파일 소유자, 그룹 및 다른 모든 사용자에 대한 읽기, 쓰기 및 실행 권한을 제어하는 9비트 플래그를 포함한다.[6] ''setuid'' 및 ''setgid'' 비트 플래그와 'sticky' 비트 플래그도 있다.모드는 또한 파일 유형 (일반 파일, 디렉토리 또는 기타 특수한 종류)을 지정한다.
2. 2. 1. 4.4BSD 및 파생
4.4BSD 및 4.4BSD-Lite에서 파일과 디렉터리(폴더)는 파일 소유자 또는 슈퍼유저가 설정할 수 있는 4개의 "사용자" 속성과 슈퍼유저만 설정할 수 있는 2개의 "시스템" 속성을 허용했다.[6]- (사용자) 덤프 금지: 설정되면, 백업 작업 중에 파일 또는 디렉터리를 저장하지 않아야 함을 나타낸다.
- (사용자 및 시스템) 불변: 설정되면, 파일 또는 디렉터리를 변경해서는 안 된다. 쓰기, 디렉터리 내에 파일 생성, 디렉터리에서 파일 제거, 디렉터리 내에서 파일 이름 변경, 파일 또는 디렉터리 이름 변경, 파일 또는 디렉터리 제거를 시도하면 권한 오류가 발생한다.
- (사용자 및 시스템) 추가 전용: 설정되면, 파일에만 추가해야 함을 나타낸다.
- (사용자) 불투명: 디렉터리에 설정되면, 유니언 마운트를 통해 볼 때 디렉터리가 불투명함을 나타낸다.
FreeBSD는 몇 가지 추가 속성을 추가했으며,[7] DragonFly BSD에서도 지원한다.[8]
- (사용자 및 시스템) 연결 해제 금지: 설정되면, 파일 또는 디렉터리의 이름을 변경하거나 제거할 수 없음을 나타낸다. 파일 또는 디렉터리의 이름을 변경하거나 제거하려는 시도는 권한 오류로 실패한다.
FreeBSD는 또한 다음을 지원한다.[7]
- (시스템) 보관 금지: 설정되면, 파일 또는 디렉터리를 보관하지 않아야 함을 나타낸다.
- (시스템) 스냅샷: 설정되면, 파일 또는 디렉터리가 스냅샷 파일임을 나타낸다. 이 속성은 시스템에서 유지 관리하며, 슈퍼유저라도 설정할 수 없다.
반면 DragonFly BSD는 다음을 지원한다.[8]
- (사용자 및 시스템) 기록 금지: 설정되면, 파일 또는 디렉터리에 대한 기록을 유지하지 않아야 함을 나타낸다.
- (사용자) 스왑 캐시: 설정되면, 파일에 대한 또는 디렉터리 및 디렉터리 아래의 모든 것에 대한 깨끗한 파일 시스템 데이터를 솔리드 스테이트 드라이브의 스왑 공간에 캐시해야 함을 나타낸다.
- (시스템) 스왑 캐시: 설정되면, 파일에 대한 또는 디렉터리 및 디렉터리 아래의 모든 것에 대한 깨끗한 파일 시스템 데이터를 솔리드 스테이트 드라이브의 스왑 공간에 캐시해서는 ''안 됨''을 나타낸다.
- (시스템) 보관됨: 설정되면, 파일 또는 디렉터리를 보관할 수 있음을 나타낸다.
NetBSD는 또 다른 속성을 추가했으며,[9] OpenBSD에서도 지원한다.[10]
- (시스템) 보관됨: 설정되면, 파일 또는 디렉터리가 보관되었음을 나타낸다.
macOS는 세 가지 속성을 추가했다.
- (사용자) 숨김: 설정되면, 기본적으로 GUI에 파일 또는 디렉터리가 표시되지 않아야 함을 나타낸다. 그러나 ls는 이를 표시한다.[11]
- (시스템) 제한됨: 설정되면, 파일 또는 디렉터리가 시스템 무결성 보호에 의해 보호됨을 나타낸다.
- (사용자 및 시스템) 압축됨: HFS+ 압축을 사용하여 압축된 파일에 대한 읽기 전용 속성
이러한 시스템에서 `chflags` 및 `ls` 명령을 사용하여 파일 속성을 변경하고 표시할 수 있다. 4.4BSD 파생 운영 체제에서 파일의 "사용자" 속성을 변경하려면, 사용자는 해당 파일의 소유자이거나 슈퍼유저여야 한다. "시스템" 속성을 변경하려면, 사용자는 슈퍼유저여야 한다.
2. 2. 2. 리눅스
리눅스 운영 체제는 `lsattr` 명령으로 나열하고, 가능하다면 `chattr` 명령으로 수정할 수 있는 광범위한 파일 속성을 지원한다.[12] 프로그램은 ioctl 작업을 사용하여 속성을 검사하고 변경할 수 있다.[12]많은 리눅스 파일 시스템은 제한된 수의 속성만 지원하며, `chattr`이 변경할 수 있는 모든 속성을 지원하는 것은 아니다. 일부 속성을 지원하는 파일 시스템에는 ext4, XFS, btrfs가 있다.
속성 | `lsattr` 플래그 | `chattr` 옵션 | 의미 및 근거 |
---|---|---|---|
`atime` 업데이트 없음 | `A` | `+A,-A` | 파일을 읽거나 액세스할 때 atime 기록이 수정되지 않음. |
추가 전용 | `a` | `+a,-a` | 파일에 추가 모드로만 쓰기 허용. |
변경 불가 | `i` | `+i,-i` | 파일 내용 또는 메타데이터 변경 방지: 파일/디렉토리에 쓰기, 삭제, 이름 바꾸기 또는 하드 링크 불가. |
덤프 없음 | `d` | `+d,-d` | 파일이 dump 프로그램에서 건너뜀. |
안전한 삭제 | `s` | `+s,-s` | 삭제 시 모든 파일 데이터 블록을 영(0)으로 채우도록 요청. |
동기 업데이트 | `S` | `+S,-S` | 변경 사항이 기본 파일 시스템 저장 매체에 동기적으로 기록됨; 영향을 받는 파일에 대한 sync 마운트 옵션과 동일. |
2. 2. 3. OpenSolaris 및 파생
OpenSolaris는 2007년에 CIFS 서버를 지원하기 위해 "시스템 속성"(일반적인 확장 파일 속성과 달리 운영 체제가 의미를 정의함)에 대한 지원을 추가했다.[13] 이후 오라클 솔라리스 11 릴리스와 오픈 소스 illumos 프로젝트로 이어졌다.이 구현에서 `chmod` 명령을 통해 [https://docs.oracle.com/cd/E88353_01/html/E37853/sysattr-7.html 광범위한 속성]을 설정할 수 있으며, `ls` 명령으로 나열할 수 있다.[16][17] 프로그램은 `getattrat` 및 `setattrat` 함수를 사용하여 속성을 검사하고 변경할 수 있다.[18][19]
현재 ZFS 파일 시스템은 정의된 모든 속성을 지원하며, 오라클 솔라리스 11.2부터 tmpfs 파일 시스템은 속성의 하위 집합을 지원한다.[20]
속성 | `ls` 및 `chmod`의 압축 플래그 | 의미 및 근거 |
---|---|---|
`appendonly` | `a` | 파일에 대한 쓰기는 추가 모드에서만 허용된다. |
`immutable` | `i` | 파일 내용 또는 메타데이터 변경을 방지한다(액세스 시간 제외). 파일/디렉터리에 쓰거나 삭제하거나 이름을 변경할 수 없다. |
`nodump` | `d` | 백업 프로그램에서 파일을 건너뛰어야 한다. |
`nounlink` | `u` | 파일 제거를 방지하지만 다른 변경은 허용한다. |
도스와 OS/2, 윈도의 명령 프롬프트에서는 파일의 특성을 변경하는 명령어로는 attrib가 있으며, 4가지 특성을 보거나 변경할 수 있다. 마이크로소프트 윈도우의 파일 탐색기에서는 7가지 특성이 나타나 있지만 시스템 특성은 설정하거나 변경할 수 없다. 윈도우 7 이후의 구성 요소로 도입된 윈도우 파워 셸은 `Get-ItemProperty`, `Set-ItemProperty`라는 두 가지 읽기/쓰기 특성을 제공한다.[22]
[1]
웹사이트
What is a hidden file?
http://windows.micro[...]
Microsoft
2012-12-02
3. 속성 변경
윈도우 NT 기반 운영 체제에서 파일의 특성을 변경하려면 사용자가 "쓰기 특성"과 "쓰기 확장 특성"이라는 적절한 파일 시스템 접근 권한을 소유하여야 한다.[23]
4.4BSD, 4.4BSD 라이트 파생에서는 chflags
와 ls
명령을 사용하여 파일의 특성을 변경하거나 볼 수 있다. 4.4BSD 파생 운영 체제에서 파일의 사용자(user) 특성을 변경하려면 사용자는 파일의 소유자이거나 슈퍼사용자여야 한다. 시스템(system) 특성을 변경하려면 사용자는 슈퍼사용자여야 한다.
리눅스에서는 chattr
, lsattr
명령을 사용하여 파일 특성을 보거나 변경할 수 있다.
참조
[2]
웹사이트
Why is the readonly property on folders so strange?
https://devblogs.mic[...]
[3]
웹사이트
HOW TO: Use the File Attribute Management Script (Fileattributes.pl) in Windows 2000
http://support.micro[...]
Microsoft
2012-12-02
[4]
웹사이트
Use a PowerShell Cmdlet to Work with File Attributes
http://blogs.technet[...]
Microsoft
2011-01-26
[5]
웹사이트
How to set, view, change, or remove special permissions for files and folders in Windows XP
http://support.micro[...]
Microsoft
2007-05-07
[6]
문서
chflags
4.4BSD-Lite2
[7]
문서
chflags
FreeBSD
[8]
문서
chflags
DragonFly BSD
[9]
문서
chflags
NetBSD
[10]
문서
chflags
OpenBSD
[11]
문서
chflags
Darwin
[12]
문서
ioctl_iflags
Linux
[13]
웹사이트
Extensible Attribute Interfaces [PSARC/2007/315]
https://illumos.org/[...]
illumos.org
2023-03-10
[14]
웹사이트
chmod(1)
https://docs.oracle.[...]
Oracle
2023-03-10
[15]
웹사이트
chmod(1)
https://illumos.org/[...]
illumos.org
2023-03-10
[16]
웹사이트
ls(1)
https://docs.oracle.[...]
Oracle
2023-03-10
[17]
웹사이트
ls(1)
https://illumos.org/[...]
illumos.org
2023-03-10
[18]
웹사이트
getattrat(3c)/setattrat(3c)
https://docs.oracle.[...]
Oracle
2023-03-10
[19]
웹사이트
getattrat(3c)/setattrat(3c)
https://illumos.org/[...]
illumos.org
2023-03-10
[20]
웹사이트
sysattr(7)
https://docs.oracle.[...]
Oracle
2023-03-10
[21]
웹인용
HOW TO: Use the File Attribute Management Script (Fileattributes.pl) in Windows 2000
http://support.micro[...]
Microsoft
2012-12-02
[22]
웹인용
Use a PowerShell Cmdlet to Work with File Attributes
https://web.archive.[...]
Microsoft
2011-01-26
[23]
웹인용
How to set, view, change, or remove special permissions for files and folders in Windows XP
http://support.micro[...]
Microsoft
2007-05-07
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com