나는 4명의 사용자(1번째 - 4번째)와 사용자가 속한 두 그룹이 있습니다: pro: (1번째 및 2번째 사용자) lammer: (3번째 및 4번째 사용자) 모든 사람의 홈 디렉토리는 /home/pro/first
, /home/pro/second
, /home/lammer/third
, 입니다 /home/lammer/fourth
.
내 문제는 운동이 나에게 요구하는 것이 무엇인지 실제로 이해하지 못한다는 사실에서 비롯됩니다(대략적인 번역이 될 것입니다).
사용자는 자신의 파일로 원하는 것은 무엇이든 할 수 있습니다.
동일한 그룹의 사용자가 서로의 루트 디렉터리를 수정하고 쓸 수 있습니까(예: 에서는 가능 /home/pro/first
하지만 에서는 불가능 /home/pro/first/example
)?
사용자는 /home/pro/first
자신이 만든 파일만 삭제할 수 있으며, 다른 사람이 만든 파일은 삭제할 수 없습니다. (다른 사람에게도 효과가 있을 수 있음)
내 생각은 각 파일에 대해 다음을 수행하는 것입니다.
chown first:pro /home/pro/pirmas
chmod 720 /home/pro/pirmas
하지만 이렇게 하면 다른 사람이 만든 파일을 삭제하거나 에서 파일을 만드는 것도 방지할 수 있나요 /home/pro/pirmas/example
?
답변1
필요한 것은 끈끈한 조각입니다. 에서 man chmod
:
제한 제거 플래그 또는 고정 비트
제한된 제거 플래그 또는 고정 비트는 파일 형식에 따라 해석이 달라지는 단일 비트입니다. 디렉터리의 경우 권한이 없는 사용자가 파일이나 디렉터리를 소유하지 않는 한 디렉터리에서 파일을 삭제하거나 이름을 바꾸는 것을 방지합니다. 이를 디렉터리의 삭제 제한 플래그라고 하며 일반적으로 /tmp와 같은 누구나 쓸 수 있는 디렉터리에서 찾을 수 있습니다. 일부 이전 시스템의 일반 파일의 경우 이 비트는 프로그램의 텍스트 이미지를 스왑 장치에 저장하여 런타임 시 더 빠르게 로드되도록 합니다. 이를 고정 비트라고 합니다.
디렉토리에 내가 사용할 기본 권한을 부여하려면
chmod 1770 /home/pro/pirmas
쓰기 외에도 그룹에는 최소한 실행 비트가 필요합니다. 그렇지 않으면 cd
디렉터리에 액세스할 수 없습니다. 읽기 비트도 제공하는 것이 좋습니다. 그렇지 않으면 파일을 생성, 편집 및 삭제할 수 있더라도 파일 목록을 볼 수 없습니다 :)
권한에 대한 자세한 내용은 다음을 참조하세요.이 훌륭한 답변 관련 질문.