사용자가 자신이 만든 공유 디렉터리를 삭제하도록 허용하지 않음

사용자가 자신이 만든 공유 디렉터리를 삭제하도록 허용하지 않음

사용자 그룹이 있으므로 그룹이라고 부릅니다. 그룹에 공유 폴더가 있으므로 이를 공유라고 부릅니다.

내가 원하는 것은 이 그룹의 사용자가 이 폴더에서 [파일 및 디렉터리]를 [만들고 읽는] 것입니다. 파일의 경우 파일 소유자가 파일을 삭제할 수 있기를 바랍니다. 하지만 폴더의 경우 폴더가 비어 있거나 해당 사용자의 파일만 포함되어 있으면 소유자만 삭제할 수 있기를 원하지만 다른 사용자의 파일이 포함되어 있는 경우에는 삭제할 수 없습니다. (또는 폴더를 전혀 삭제할 수 없는 경우도 있습니다.)

이제 문제는 그룹의 사용자가 디렉터리(하위 디렉터리라고 부르겠습니다)를 만들 때 사용자에게 읽기 및 쓰기 권한이 필요하다는 것입니다. 그렇지 않으면 사용자가 그 안에 파일을 만들 수 없다는 것입니다(사용자 권한이 그룹 권한보다 먼저 오기 때문입니다:우선 사항.

d---rwx--T 4 root group shared
    drwxrwx---T 4 user group subdir
        -rwx------ 1 otheruser group file

하지만 이렇게 하면 해당 사용자는 해당 하위 디렉터리에 있는 다른 사용자의 파일을 삭제할 수 있습니다. 사용자에게 하위 디렉터리에 대한 쓰기 권한이 있기 때문에 고정 비트가 설정되어 있어도 마찬가지입니다.

그래서 제가 생각해낸 해결책 중 하나는 공유에 생성된 모든 폴더에 대해 기본 사용자를 루트로 설정하고 파일의 경우 기본 사용자를 해당 폴더를 생성한 사용자로 유지하는 것입니다. 하지만 어떻게 해야 할지 모르겠습니다.

setfacl, setuid 및 setgid를 살펴보았지만 이들 중 어느 것도 내 문제를 해결하지 못하는 것 같습니다.

이 게시물이는 "객체 생성을 감지하고 ACL을 적절하게 변경하는 프로세스"를 생성해야만 달성할 수 있다고 말하지만 해당 게시물은 오래되었습니다(8년 전).

저는 Debian 10에서 Samba Portocol과 공유하고 있습니다.

관련 정보