내 시스템에 여러 사용자가 있습니다. 음악, 비디오 같은 디렉토리를 공유하고 싶습니다. 사진 등 문제는 사용자가 모든 디렉터리에 새 파일을 쓸 수 있지만 자신이 소유하지 않은 파일은 삭제하거나 수정할 수 없도록 하려는 것입니다. 표준 UNIX 권한을 사용하여 디렉터리에 파일을 추가할 수 있으면 다른 파일도 삭제할 수 있습니다. 또한 이 디렉터리의 모든 파일을 사용자 그룹이 항상 읽을 수 있는지 확인하고 싶습니다.
POSIX ACL을 사용하여 이 작업을 수행할 수 있나요? 아니면 SELinux(또는 기타 보안 프레임워크)와 같은 고급 기능이 필요한가요?
내가 작업하고 싶지 않은 예입니다.
su - root
mkdir /home/music
chmod 775 /home/music
chgrp users /home/music
su - user1 /home/music
touch /home/music/testfile
ll /home/music/testfile
su - user2
rm /home/music/testfile
ll /home/music
답변1
내가 올바르게 이해했다면 음악/비디오와 같은 디렉토리가 /tmp와 동일한 의미를 갖기를 원할 것입니다.
이렇게 하려면 디렉터리에 고정 비트를 추가합니다. chmod 매뉴얼 페이지를 인용하면 다음과 같습니다.
제한된 삭제 플래그 또는 고정 비트 제한된 삭제 플래그 또는 고정 비트는 파일 형식에 따라 해석이 달라지는 단일 비트입니다. 디렉터리의 경우 권한이 없는 사용자가 파일이나 디렉터리를 소유하지 않는 한 디렉터리에서 파일을 삭제하거나 이름을 바꾸는 것을 방지합니다. 이를 디렉터리의 삭제 제한 플래그라고 하며 일반적으로 /tmp와 같은 누구나 쓸 수 있는 디렉터리에서 찾을 수 있습니다.