새로 생성된 파일/폴더에 대한 추가 속성을 자동으로 설정하시겠습니까?

새로 생성된 파일/폴더에 대한 추가 속성을 자동으로 설정하시겠습니까?

사용자가 파일/폴더를 생성하거나 수정할 수만 있고 삭제할 수는 없도록 폴더를 설정하려고 합니다. "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 세계에 살고 있다면 꼭 확인하세요)

바라보다

관련 정보