특정 파일에 대하여 파일삭제는 불가능하지만 파일에 내용을 추가하는 것은 가능하도록 하는 속성 부여하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,578 조회
- 0 추천
- 목록
본문
특정 파일에 대하여 파일삭제는 불가능하지만 파일에 내용을 추가하는 것은 가능하도록 하는 속성 부여하기
파일의 a속성이 설정되어있다면 파일삭제는 불가능하지만 파일에 내용을 추가하는 것은 가능해집니다.
따라서 이번에는 a 속성을 이용하여 파일에 추가는 가능하나 삭제는 되지 않도록 속성을 설정하는 예를 보겠습니다.
즉, 파일에 내용추가는 가능하도록 설정하고 삭제는 되지 않도록 하는 예를 보일 것이며 대상이
되는 파일은 리눅스의 로그파일에 설정하시면 유용할 것입니다.
필자의 경우에는 a속성의 설정은 주로 /var/log/디렉토리에 존재하는 로그파일들, 예를 들어 messages, secure, maillog등의 파일들에 이 속성을 지정해 두고 사용합니다.
자, 그럼 /var/log/messages파일을 대상으로 a속성을 부여하여 로그는 계속 추가저장 되도록 설정하고 삭제는 불가능하도록 설정해 보도록 하겠습니다.
앞서도 설명 드렸지만 여기서 설명되는 내용을 그대로 따라 하실 것 같아서 필자는 imsi라는 디렉토리를 따로 만들어서 /var/log/messages파일을 복사한 다음 a속성을 부여한 것이므로 여러분들께서는 이론적인 무장과 충분한 설정연습을 하신 후에 실제업무에 적용하시기 바랍니다.
먼저, messages파일을 확인 한 것입니다.
[root@su250 ~]# ls -l messages -rw------- 1 root root 705950 Jan 8 17:15 messages [root@su250 ~]# [root@su250 ~]# lsattr messages --------------- messages [root@su250 ~]# |
다음은 chattr을 이용하여 a속성을 messages 파일에 부여한 것입니다.
그리고 부여된 결과를 확인하기 위해 lsattr로 속성설정내용을 확인한 것입니다.
[root@su250 ~]# chattr +a messages [root@su250 ~]# [root@su250 ~]# lsattr messages -----a--------- messages [root@su250 ~]# |
a 속성이 설정되어 있기 때문에 messages파일에 시스템로그는 계속 저장이 될 것입니다.
즉, messages의 기능상의 문제는 전혀 없기 때문에 시스템에서 발생하는 문제는 전혀 없습니다.
즉, 아래의 예는 실제로 /var/log/messages 파일에 a속성이 설정되어 있는 것으로 시스템 로그는 그대로 실시간으로 추가저장이 되고 있음을 알 수 있습니다.
[root@su250 ~]# tail -f messages Jan 8 16:45:04 su250 avahi-daemon[1901]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.0.250. Jan 8 16:45:04 su250 avahi-daemon[1901]: New relevant interface eth0.IPv4 for mDNS. Jan 8 16:45:04 su250 avahi-daemon[1901]: Registering new address record for 192.168.0.250 on eth0.IPv4. Jan 8 16:45:05 su250 avahi-daemon[1901]: Server startup complete. Host name is su250.local. Local service cookie is 3785052050. Jan 8 16:45:05 su250 NetworkManager: <WARN> nm_system_replace_default_ip4_route(): Failed to set IPv4 default route on 'eth1': Sucess#012 Jan 8 16:45:06 su250 NetworkManager: <info> Policy set 'System eth1' (eth1) as default for routing and DNS. Jan 8 16:45:06 su250 NetworkManager: <info> (eth0): device state change: 7 -> 8 Jan 8 16:45:06 su250 NetworkManager: <info> Activation (eth0) successful, device activated. Jan 8 16:45:06 su250 NetworkManager: <info> Activation (eth0) Stage 5 of 5 (IP Configure Commit) complete. Jan 8 16:45:06 su250 avahi-daemon[1901]: Service "su250" (/services/ssh.service) successfully established. |
그리고 다음과 같이 삭제를 하려고 할 경우에 "명령이 허용되지 않음" 또는 영문으로 "Operation not permitted"라는 메시지와 함께 삭제는 되지 않음을 확인하실 수 있을 것입니다.
[root@su250 ~]# rm -f messages rm: cannot remove `messages': Operation not permitted [root@su250 ~]# |
그리고 이번에는 a라는 속성을 제거하였습니다.
a속성을 제거한 후에 lsattr로 속성제거를 확인 하였습니다.
[root@su250 ~]# chattr -a messages [root@su250 ~]# [root@su250 ~]# lsattr messages --------------- messages [root@su250 ~]# |
관련자료
-
이전
-
다음