향후 파일에 대한 권한을 설정하는 방법은 무엇입니까?

향후 파일에 대한 권한을 설정하는 방법은 무엇입니까?

나는 이것이 숙제임을 자유롭게 인정합니다.

당신과 당신의 친구들이 예전 학교에서 IT 교사를 호스팅한다고 상상해보십시오. 참석자 목록은 첨부된 텍스트 파일에 있습니다. 디렉토리 documents및 를 관리하려면 tasks권한이 필요합니다 solutions. 다음과 같이 계정을 생성하고 모든 참석자에 대한 권한을 설정하는 스크립트를 작성하십시오.

  • 각 참석자는 해당 디렉터리에 생성될 파일을 읽을 수 있는 권한이 있고 documents친구는 해당 디렉터리에 있는 파일을 읽고 수정할 수 있는 권한이 있지만 아무것도 추가하거나 삭제할 수는 없습니다.
  • 각 참석자는 디렉터리에 표시될 파일을 읽을 수 있는 권한을 가지며 tasks, 친구는 디렉터리에 대한 모든 권한을 갖습니다.
  • 각 참석자는 자신의 솔루션을 카탈로그에 올릴 권리가 있습니다 solutions/<ID of attendee>-<ID of task>.
  • solutions귀하의 친구는 디렉토리 트리에 대한 모든 권한을 갖고 있으며 참석자는 다른 사람의 솔루션을 볼 수 없습니다.

chmod기본 파일 권한( , umask) 및 ACL( setfacl) 에 대한 작업입니다.

지금 나를 혼란스럽게 하는 것은:

아직 존재하지 않지만 향후 생성될 파일에 대해 세분화된 권한을 설정해야 합니까? ! ? !

내가 이해하는 한도에서는:

  • umask새로 생성된 파일에 대한 기본 권한을 설정할 수 있지만 이는 기본 소유자-그룹-기타 권한일 뿐이므로 친구의 권한, 참석자의 권한, 동료 참석자의 권한을 구분할 수 없습니다.
  • setfacl이미 존재하거나 내가 생성한 파일에 대해서만 권한을 설정할 수 있지만 나중에 생성되는 파일에는 권한을 설정할 수 없습니다!

그래서 이 과제를 어떻게 해야 할지 모르겠어요. 누군가 나에게 올바른 길을 말해 줄 수 있습니까?

답변1

올바른 방향으로 안내하는 몇 가지 팁:

  • 전방십자인대매뉴얼 페이지이 섹션에서는 기본 ACL에 대해 설명합니다.

    파일 객체의 액세스 ACL은 다음 방법 중 하나를 사용하여 객체가 생성될 때 초기화됩니다.만들다(),mkdir(),마크놀드(),mkfifo(), 또는열려 있는()기능. 기본 ACL이 디렉터리와 연결되어 있는 경우모델파일 객체를 생성하는 함수의 매개변수와 디렉터리의 기본 ACL은 새 객체의 ACL을 결정하는 데 사용됩니다.

    1. 새 개체는 포함 디렉터리의 기본 ACL을 액세스 ACL로 상속합니다.

    2. 모드 매개변수에 지정된 권한에 포함되지 않은 권한이 포함되지 않도록 파일 권한 비트에 해당하는 액세스 ACL 항목을 수정합니다.

  • 디렉토리의 고정 비트를 사용하면 디렉토리에 생성된 새 파일의 소유자/그룹을 변경할 수 있습니다. 디렉터리에 생성된 파일은 기본 그룹 대신 고정 디렉터리의 소유자/그룹을 갖게 됩니다. 자세한 내용은 다음 질문을 참조하세요.끈끈한 비트는 어떻게 작동합니까?

관련 정보