파일을 삭제할 수 없도록 만들어야 하지만 수정 및 이름 변경이 가능하도록 허용해야 합니다.

파일을 삭제할 수 없도록 만들어야 하지만 수정 및 이름 변경이 가능하도록 허용해야 합니다.

파일이 있는지 확인하고 파일이 있으면 이메일 주소 목록을 읽어 알림을 보내는 스크립트가 있습니다. 예를 들어 직장에서 이미 출력을 모니터링하고 있는 경우와 같이 알림이 필요하지 않을 때 이름을 바꿉니다. 다른 관리자가 삭제하는 것을 원하지 않습니다.

파일을 변경할 수 없게 만들 것이라는 것을 알고 있지만 chattr +i파일이 삭제되는 것을 방지하고 싶습니다. 나는 chattr 프로그램이 파일 이름보다는 속성을 추적하기 위해 inode 번호를 사용할 것이라고 생각합니다.

이를 달성할 수 있는 유틸리티가 있습니까?

답변1

"다른 관리자"에 대한 의견은 귀하가root파일을 저장하려는 시스템의 권한입니다. 권한을 통해 설정할 수 있는 모든 항목은 동일한 권한을 가진 사람이 취소할 수 있습니다.

이것이 문제가 되지 않고 확장 권한을 가진 사람이 없다면 파일을 넣거나 일반적으로 t 비트가 설정된 파일을 넣을 수 있습니다(다른 사람이 접근하지 못하도록 방지) /tmp./var/tmp아니요권한 있는 사용자는 다음에서 옵니다.삭제그것. 파일을 chmod하여 그룹 쓰기 가능(동일 그룹의 다른 사용자가 수정 가능)하게 만들 수 있습니다.

답변2

"다른 관리자"는 악의적입니까? 그들이 당신을 잡으러 여기 있는 건가요? 그렇다면 아마도 당신이 할 수 있는 일은 아무것도 없을 것이다.

그렇지 않은 경우 아마도 가장 간단한 해결책은 파일을 홈 디렉터리에 저장하도록 스크립트를 변경하는 것입니다. 이에 대한 변형은 파일이 삭제(링크 해제)되지 않는 한 다른 디렉토리에 있는 파일에 대한 하드 링크를 만드는 것입니다.모두링크, 파일은 그대로 남아있습니다. (모든 링크 위치를 반복하고, 아직 존재하는 링크를 찾고, 제거된 모든 링크를 다시 연결하는 다른 스크립트를 작성해야 합니다.) 일부 편집자는 링크를 깨뜨릴 수 있습니다(예: 파일을 편집하는 경우).

"다른 관리자"가 악의적이거나 당신을 잡으려고 하더라도 경험이 없고 철저하지 않다면 문제가 해결될 수 있습니다.

또는 파일을 변경할 수 없게 만들고 추가 테스트를 사용하여 이메일을 보낼지 여부를 결정하도록 스크립트를 변경합니다.

답변3

다른 답변 중 일부에서 지적한 바와 같이 이 mv유틸리티를 사용하여 사회적 장애를 제안할 수 있습니다.

mv yourfile THIS_IS_user38537_FILE_PLEASE_DO_NOT_REMOVE

답변4

[이전 답변 교체]

간단히 파일에 대한 하드 링크를 만들 수 있습니다.

ln email_file hard_link

그런 다음 삭제해도 그대로 남아 있어 쉽게 복원할 수 있습니다.


[질문에 대한 오해로 인한 이전 답변]

한 가지 해결책은 스크립트 자체를 불변으로 만드는 것입니다. chattr그러나 이름을 바꾸는 것이 아니라 손실될 수 있는 빈 파일의 유무에 따라 스크립트를 열고 닫는 것입니다. 라고 불러요 snoozebutton. 존재하는 경우 스크립트는 알리지 않습니다. 존재하지 않는 경우 스크립트에서 이를 알려줍니다. 누군가 실수로 삭제한 경우에는 안전하게 실패합니다. 알림을 받게 되며 snoozebutton.

물론 이는 스크립트를 자주 수정할 필요가 없다고 가정합니다. 이렇게 하려면 작은 유틸리티 스크립트를 실행 chattr한 다음 편집기를 실행하고 chattr다시 실행하여 잠가야 합니다.

관련 정보