디렉터리가 있고 그 안에 있는 모든 파일을 어떤 사용자가 편집하든 상관없이 어떤 방식으로든 항상 라이선스를 부여받고 소유하게 되기를 원합니다.
이것은 가깝습니다:
# users: wilma, betty
# group: devs contains wilma and betty.
# directory: 'dir'
chgrp -R devs dir
find dir -type d -exec chmod 2770 \{\} \+
find dir -type f -exec chmod 660 \{\} \+
setfacl -d -R -m group:devs:rwx dir
setfacl -R -m group:devs:rwx dir
하지만 사용자 중 한 명이 chmods(acl 마스크 재설정)를 실행하고 실제 생활에서 본 몇 가지 다른 상황이 발생하지만 아직 어떻게 발생하는지 결정하지 못한 경우에는 여전히 혼란스러울 수 있습니다!
기본적으로 이러한 사용자가 권한을 변경하는 것을 원하지 않습니다.
내가 생각할 수 있는 유일한 방법은 vfat fs를 만들어 해당 디렉토리에 마운트하는 것입니다!
답변1
퓨즈 파일 시스템을 사용할 수 있습니다파일 시스템 바인딩이 목표를 달성하기 위해.
예를 들어, 사용자 wilma와 betty가 파일 디렉터리를 공유할 수 있도록 하려면 둘 다 쓰기 액세스 권한을 갖고 서로의 액세스를 제한할 수 없습니다.
Wilma가 기본 사용자이고(이 목적을 위해 세 번째 사용자를 선택할 수 있음) 둘 다 "devs" 그룹에 속해 있다고 가정합니다.
wilma% mkdir src -m760
wilma% echo some content >src/file-created-by-wilma
wilma% mkdir shared
wilma% bindfs src shared -g devs -u wilma -p770 -m wilma:betty --create-with-perms=660
이제 설정되었으므로 두 명의 사용자가 이 공유 설치에서 일부 파일을 생성하게 됩니다.
wilma% cd shared
wilma% echo hi>file-created-by-wilma-inside-bindfs
betty% cd /path/to/shared
betty% echo hi>file-created-by-betty-inside-bindfs
마운트 지점 내의 파일을 봅니다. 각 사용자는 자신을 소유자라고 생각합니다!
wilma% ls -l
-rwxrwx--- 1 wilma devs file-created-by-willma
-rwxrwx--- 1 wilma devs file-created-by-willma-inside-bindfs
-rwxrwx--- 1 wilma devs file-created-by-betty-inside-bindfs
betty% ls -l
-rwxrwx--- 1 betty devs file-created-by-willma
-rwxrwx--- 1 betty devs file-created-by-willma-inside-bindfs
-rwxrwx--- 1 betty devs file-created-by-betty-inside-bindfs
"실제" 파일 보기...
wilma% ls -l src/
-rw-rw--- 1 wilma wilma file-created-by-willma
-rw-rw--- 1 wilma wilma file-created-by-willma-inside-bindfs
-rw-rw--- 1 wilma wilma file-created-by-betty-inside-bindfs