소유자가 삭제할 수 없는 디렉터리를 만드는 것이 가능합니까? bar
user 소유의 디렉터리가 있고 다음과 같이 user 소유의 하위 디렉터리를 foo
만들고 싶다고 가정해 보겠습니다 .bar/baz
foo
foo
bar/baz
파일 및 디렉터리는 정상적으로 생성 및 삭제가 가능합니다.foo
bar
정상적으로 파일 생성 및 삭제가 가능합니다.foo
bar
대부분의 디렉토리는 정상적으로 삭제될 수 있습니다.foo
(또는 수퍼유저가 아닌 다른 사용자)는 디렉토리를 삭제할 수 없습니다.bar/baz
이 작업을 수행하려는 이유는 이를 BTRFS 하위 볼륨으로 설정하고 bar/baz
(스냅샷에서 제외) foo
BTRFS를 사용하여 삭제하고 다시 생성할 수 있다면 mkdir
더 이상 하위 볼륨이 아니기 때문입니다.
답변1
소유자가 디렉터리를 삭제하는 것을 방지하는 방법은 최소한 두 가지가 있다고 생각합니다.
- 디렉터리가 비어 있지 않으면 삭제할 수 없습니다. 그러니 소유자가 삭제할 수 없는 내용을 넣으세요.
- 자신이 소유하지 않은 디렉토리
- 불변 파일(소유자는 중요하지 않음)
- 디렉토리에 무언가 마운트
첫 번째 경우에도 디렉터리 이름을 바꿀 수 있습니다. 그러나 그 위에 무언가가 설치되어 있다면(어쨌든 당신이 원하는 것입니다), 그들은 그것으로 아무것도 할 수 없습니다. 이제 그들이 할 수 있다면제거위에는 뭐지...
답변2
파일이나 디렉터리를 삭제하려면 상위 디렉터리의 권한이 필요합니다.
/dir1/dir2
따라서 내용이 중요하지 않은 디렉토리가 있고 dir2
소유자가 dir1
로 설정되어 있고 user1
소유자가 dir2
로 설정된 경우 user2
파일이 있는지 여부에 관계없이 user2
삭제하거나 이름을 바꿀 수 없습니다 . 어디 보자. 어떤 사용자도 자신이 소유한 홈 디렉토리를 삭제할 수 없습니다.dir2
dir2
/home
root
/home