사용자가 파일/폴더를 생성하거나 수정할 수만 있고 삭제할 수는 없도록 폴더를 설정하려고 합니다. "chattr +a" 명령을 시도했는데 RHEL5.8과 RHEL6.5에서 다른 결과를 얻었습니다. 다음 명령을 시도했습니다.
# chattr +a /home/share
RHEL5.8에서는 /home/share 폴더 아래에 새로 생성된 파일/폴더에 대해 "append" 특성이 자동으로 설정되는데, 이것이 바로 제가 원하는 것입니다. 그러나 RHEL6.5에서는 그렇지 않으므로 사용자가 /home/share 하위 폴더 아래의 파일/폴더를 계속 삭제하게 됩니다. 예를 들어:
$ mkdir /home/share/test-folder
$ touch /home/share/test-folder/test-file
$ rm /home/share/test-folder/test-file
"test-file" 파일은 여전히 삭제할 수 있습니다.
그래서 제 질문은 RHEL6.5에서 어떻게 RHEL5.8에서와 동일한 결과를 얻을 수 있습니까?입니다. 아니면 다른 해결책이 있나요?
감사해요.
답변1
한 가지 옵션은 커널 파일 알림을 나열하는 도구를 설치하는 것입니다(inotify). 그런 다음 chattr
파일과 디렉터리가 생성되자마자 실행 되도록 구성합니다 .
아래 예 incrond
에서는 (Debian 및 Red Hat/CentOS EPEL 리포지토리에서 사용 가능)을 사용하지만 다음을 사용할 수도 있습니다.팸, NFS 내보내기를 사용하는 경우.
mkdir /srv/incrontest
/etc/incron.d/incrontest
다음 내용으로 파일을 만듭니다.
/srv/incrontest IN_CREATE chattr +a $@/$#
그런 다음 데몬 systemctl start incron을 (다시) 시작하십시오.
systemctl enable incron
(RPM 세계에 살고 있다면 꼭 확인하세요)
바라보다