추가 읽기

추가 읽기

게임 서버를 구성하기 위한 스크립트 세트를 작성 중입니다.

각 게임 서버를 별도의 사용자로 설치하여 모두 격리되어 서로의 파일에 액세스할 수 없도록 했습니다.

구성을 처리하는 데몬/서버는 사용자를 생성할 수 있는 sudo 권한이 있는 권한 없는 사용자로 실행됩니다.

현재 데몬이 사용자를 대신하여 파일을 편집할 수 있도록 요구하는 기능을 개발 중입니다.뒤쪽에서버가 구성되었습니다.

"admin"과 같은 그룹에 데몬을 추가하고 데몬이 파일을 읽고 쓸 수 있도록 모든 사용자 파일의 그룹을 그룹 권한이 있는 "admin"으로 설정하려고 합니다. 단, 단일 사용자를 추가하는 것은 제외됩니다. "admin" 그룹을 삭제하여 서로의 파일을 읽을 수 없도록 합니다.

이는 새 파일과 폴더가 "admin" 그룹을 상속하도록 setgid 비트를 설정할 수 있는 최초 설치에서 작동합니다. 그러나 사용자는 자신의 그룹에 "chgrp"할 수 있으며, 이로 인해 시스템이 손상될 수 있습니다. 데몬은 더 이상 이러한 파일에 액세스할 수 없으며 사용자도 해당 그룹에 속하지 않기 때문에 그룹을 다시 "관리자"로 되돌릴 수 없습니다.

다음과 같은 방법이 있습니까?

  1. 게임 서버 사용자가 파일 그룹을 "admin" 이외의 다른 그룹으로 변경하지 못하도록 방지하려면 위의 방법이 작동합니다.
  2. 여기서 달성하려는 목표를 달성하는 더 좋은 방법이 있습니까?

답변1

소유권 액세스에는 그룹 ID, 권한 비트 및 ACL 설정에 대한 액세스가 포함되므로 파일 소유자가 이를 설정하는 것을 막을 수 없습니다.

물론 이 문장에는 두 가지 접근 방식의 씨앗이 숨겨져 있습니다.

  1. 처음부터 소유권 액세스 권한을 부여하지 마세요. 사용자 계정을 파일의 소유자로 만들지 마십시오. 대신 ACL을 사용하여 setfacl개별 사용자 계정(또는 다른 계정)에 액세스 권한을 부여하세요. rwx다른 계정이 소유하게 하고, 계정이 속하지 않은 그룹에 할당되고, 전역적으로 액세스할 수 없게 만듭니다. 여기서 단점은 디스크 할당량과 같은 것입니다.
  2. 소유자가 다시 설정할 수 있는 액세스 제어 형식을 사용하세요.단일 사용자 계정을 소유자로 만들지만 이를 사용하여 ACL의 setfacl데몬 계정(또는 다른 계정)에 대한 액세스 권한을 부여합니다 . rw-여기서 단점은 사용자 계정이 먼저 액세스를 끌 수 있다는 것입니다.

필요에 따라 장단점을 평가합니다. 생성된 모든 파일에 이러한 ACL을 자동으로 설정하려면 상위 디렉터리의 기본 ACL을 사용하세요.

추가 읽기

관련 정보