사용자가 소유한 디렉터리를 만들고 don
그룹 소유자가 이름이 그룹인 경우 bob
이를 수행할 수 있는 방법이 있습니까?
- 그룹(
bob
)에게 파일 생성 및 쓰기 권한을 허용합니다. - 파일 삭제는 해당 디렉토리( )의 소유자만이
don
할 수 있으며, 소유자 외에는 누구도 삭제할 수 없습니다.
chmod
표준 Linux 권한 등을 사용해 보았습니다 . 하지만 쓰기 권한을 부여하면 그룹이 읽고 쓸 수 있게 되지만, 내가 원하지 않는 콘텐츠를 삭제할 수도 있기 때문에 이는 매우 까다로운 작업인 것 같습니다.
표준 Linux 권한이나 ACL을 통해 이를 어떻게 달성할 수 있습니까?
답변1
이를 위해 ACL(액세스 제어 목록)과 함께 표준 Linux 권한을 사용할 수 있습니다.
먼저 다음과 같은 소유권과 권한을 가진 디렉터리를 생성할 수 있습니다.
mkdir testdir
chown don:bob testdir
chmod 2770 testdir
이는 사용자 don 및 그룹 bob이 소유하도록 디렉토리를 설정하여 그룹 bob에 읽기, 쓰기 및 실행 권한을 부여하지만 그룹 소유자의 삭제는 제한합니다. 고정 비트 2는 파일 소유자나 수퍼유저만 디렉터리의 파일을 삭제할 수 있도록 보장합니다.
다음으로 디렉터리에 ACL을 추가하여 파일 소유자에게만 삭제를 제한할 수 있습니다.
setfacl -m u:don:rwx testdir
setfacl -m g::--- testdir
setfacl -m o::--- testdir
setfacl -m d:u:don:rwx testdir
setfacl -m d:g::--- testdir
setfacl -m d:o::--- testdir
이렇게 하면 사용자에게 디렉터리에 대한 전체 액세스 권한이 부여되고 그룹 및 다른 사용자에 대한 모든 권한이 제거됩니다. d 플래그는 디렉터리에 생성된 새 파일에 대한 기본 ACL을 설정합니다.
이러한 설정을 사용하면 그룹 bob은 디렉터리에 파일을 만들고 쓸 수 있지만 삭제할 수는 없습니다. 소유자만 디렉터리의 파일을 삭제할 수 없습니다.