리눅스에서 어떤 파일을 root 권한으로 삭제해보려고 해도 "Operation not permitted"라는 메세지가 뜨면서 삭제되지 않는 경우가 있다.
리눅스 파일시스템의 모든 파일과 디렉토리는 기본적으로 사용자, 그룹, 기타 사용자에 대한 읽기, 쓰기, 실행 권한을 가지고 있는데, 이 외에도 ext2와 ext3 파일시스템에 있는 파일과 디렉토리는 퍼미션 외에도 특정 파일시스템 유형과 관련된 사용자가 선택할 수 있는 특별한 속성들도 가지고 있다.
chattr - 속성을 설정하고 제거할 수 있는 명령어
lsattr - 파일과 디렉토리에 설정되어 있는 속성을 확인하는 명령어
즉, 퍼미션은 ls 명령어로 확인할 수 있는 것으로 파일의 읽기, 쓰기, 실행에 관한 표시를 하고, 속성은 lsattr로 확인할 수 있는 것으로 파일의 변경과 접근, 실행 등의 권한을 설정해둔 것
lsattr
lsattr [option] 대상파일
옵션 | 설명 |
-R | 디렉터리와 그 이하 모든 내용에 대해 재귀적으로 속성값 출력 |
-a | . 로 시작 하는 파일을 포함한 모든 디렉터리 내의 모든 파일 출력 |
-d | 디렉터리를 보여줄 때 안에 들어있는 파일을 보여주는 것이 아닌, 폴더를 일반 파일처럼 출력 |
-v | 파일의 버전 출력 |
-V | lsattr의 버전 출력 |
chattr
chattr [option] [+-=] 대상파일
+ 지정한 속성 추가
- 지정한 속성 제거
= 설정한 속성만 남기고 나머지 속성은 없어짐
옵션 | 설명 |
-R | 현재 디렉터리 이하 모든 디렉터리와 파일의 속성을 변환 |
-f | 대부분의 에러 메시지를 출력하지 않는다. |
-V | 자세한 출력모드 제공 |
-v | version, 지정된 파일의 버전 정보를 설정할 수 있다. |
속성 | 의미 | 설명 |
A | No atime Update | atime 레코드가 수정되지 않음 |
a | Append only | 파일을 append mode로만 열 수 있기 때문에, 파일을 쓰는 것 은 가능하지만 삭제할 수는 없음 |
c | Compressed | 파일이 커널에 의해 자동적으로 압축됨 파일을 읽을 때는 압축을 해제하여 보여주며, 쓰기 작업 시에는 디스크에 저장하기 전에 압축부터 진행 |
D | Synchronous directory updates | 디렉터리의 변경 사항이 디스크에 동기식으로 저장됨 |
d | No dump | dump 프로그램을 실행 중일 때에는 해당 파일이 백업되지 않음 |
E | Compression error | Experimental compression patch에 사용되며, 압축된 데이터가 오류를 가지고 있음을 의미 |
e | Extent format | 파일이 디스크 블록에 매핑될 때 Extents를 사용 |
I | Indexed directory | 디렉터리가 htree(Hashed tree)로 인덱싱 중 |
h | Huge file | 파일을 저장할 때 섹터 단위 대신에 블록사이즈 단위로 저장 또한 파일이 2TB 이상의 크기를 가지고 있음을 의미 |
i | Immutable | 파일을 수정할 수 없음 쓰기, 삭제, 이름변경은 물론 링크를 생성할 수도 없음 |
j | Data journaling | 파일에 데이터를 쓰기 전에 ext3 journal에 먼저 씀 |
s | Secure deletion | 파일을 제거했을 때 해당 블록은 zeroed되며, 디스크에 쓰여짐 |
S | Synchronous updates | 파일의 변경 사항이 디스크에 동기식으로 저장됨 |
T | Top of directory hierarchy | T 속성이 부여된 디렉터리는 가장 상위 디렉터리로 여겨짐 Home 디렉토리에 설정하면 좋음 |
t | No tail-merging | 파일에 Partial block fragmentation이 발생하지 않음 (tailmerging이 발생하지 않음) |
u | Undeletable | 파일이 삭제되더라도 내용은 저장되어 있으며, 복구 가능 |
X | Compression raw access | Experimental compression patch에 사용되며, 압축된 파일의 실제 내용을 직접 접근할 수 있음을 의미 |
Z | Compressed dirty file | Experimental compression patch에 사용되며, 압축된 데이터가 손상되었음을 의미 |
1902
1. chattr
2. +a
3. +i
4. lsattr
1702
1. chattr
2. +a
참고
'리눅스' 카테고리의 다른 글
[리눅스] netstat (0) | 2022.11.16 |
---|---|
[리눅스] NIS (0) | 2022.11.16 |
[리눅스] grub.conf (0) | 2022.11.16 |
[리눅스] TCP Wrapper (0) | 2022.11.14 |
[리눅스] ssh 접속 (0) | 2022.11.14 |
댓글