하위 디렉터리 삭제 방지/디렉터리 구조 적용

하위 디렉터리 삭제 방지/디렉터리 구조 적용

다음 폴더 구조를 상상해 보세요.

../문서

../문서/템플릿

두 개의 사용자 그룹이 있습니다.

  • 편집하다
  • 관리자

두 그룹의 사용자는 다음을 수행할 수 있어야 합니다.

  • 새 파일 만들기
  • 모든 파일 수정
  • 모든 파일 삭제

../문서에서.

또한 두 그룹 모두 ../documents/templates의 모든 파일을 읽을 수 있어야 합니다.

"관리자" 그룹의 사용자만 다음을 수행할 수 있습니다.

  • 새 파일 만들기
  • 모든 파일 수정
  • 모든 파일 삭제

../문서/템플릿에 있습니다.

"../documents/templates" 디렉토리는 두 그룹 모두에서 삭제할 수 없습니다!

어떻게 해야 하나요? 두 그룹의 사용자가 생성/삭제/수정할 수 있도록 허용하는 "문서"에 대해 g=rwx를 설정해야 하기 때문에 Linux에서는 이것이 불가능하다는 결론에 도달했습니다(POSIX ACL의 경우에도).어느해당 디렉토리에 있는 파일...하지만 +w를 사용하면 하위 디렉토리 "templates"도 삭제할 수 있으며 이를 거부할 수 있는 방법은 없습니다.

답변1

../documents/templates다른 콘텐츠가 포함되어 있으면 누구도 삭제할 수 없습니다. 따라서 권한이 ../documents/templates/.hidden있는 하위 디렉터리를 만들고 000그 안에 빈 파일을 넣을 수 있습니다(음,앞으로당연히 000권한을 설정하세요.) 그러면 rmdir ../documents/templates실패할 것이고, 또한 실패할 것이다 rmdir ../documents/templates/.hidden.

편집: 삭제된 다른 답변에서 빌려오면 슈퍼유저라면 이 작업을 수행할 수 있습니다. 이는 좀 더 간단합니다.

cd ../documents/templates
touch .locked
chattr +i .locked

( chattr수퍼유저로 실행해야 합니다.)

관련 정보