나는 다중 사용자 파일 서버에 적합한 권한 체계를 찾으려고 노력해 왔습니다. 현재 약 5명의 사용자가 있으며 각 사용자는 자신의 홈 디렉터리에 파일을 저장하고 있습니다. 이러한 파일은 ownCloud를 실행하는 웹 서버 및 BitTorrent Sync 애플리케이션과 같은 컴퓨터의 다양한 애플리케이션을 통해 액세스할 수도 있습니다. 이러한 애플리케이션은 각각 자신의 사용자 계정으로 실행됩니다. 다음 목표를 달성하기 위해 권한 체계를 찾고 있습니다.
- 어떤 사용자도 다른 사용자의 홈 디렉토리에 접근할 수 없습니다(관리자인 본인 제외).
- 애플리케이션 사용자 계정은 모든 사용자 계정에 대한 전체 액세스 권한을 가져야 합니다(사용자 액세스 격리가 애플리케이션 자체 내에서 올바르게 구현되었다고 가정합니다. 그렇지 않으면 규칙 1을 위반하게 됩니다).
- 애플리케이션 사용자 계정으로 생성된 파일은 홈 디렉터리에 생성된 사용자가 계속 액세스할 수 있어야 합니다.
현재 제가 생각할 수 있는 최선의 방법은 모든 응용 프로그램을 www 그룹에 추가한 다음 사용자 홈 디렉터리를 www 770으로 만드는 것입니다. 하지만 이는 실제로 좋은 해결책은 아닌 것 같습니다. 내가 가진 또 다른 아이디어는 사용자 특정 그룹(예: 사용자와 동일한 이름을 가진 그룹)을 사용한 다음 홈 디렉터리를 :770으로 만든 다음 각 사용자 그룹에 개별적으로 응용 프로그램 사용자 이름을 추가하는 것이었습니다. 또는 끈끈한 비트를 사용할 수도 있지만 어떻게 작동하는지 잘 모르겠습니다. 저는 끈적끈적한 비트가 Linux와 BSD에서 약간 다르게 작동한다는 것을 알고 있기 때문에 아마도 이것이 FreeNAS 서버라고 지정해야 할 것입니다.
어떤 아이디어가 있나요? 로컬 Windows 사용자로서 이것은 ACL을 사용하여 5분 안에 수행할 수 있는 작업 중 하나이지만 이것이 인생입니다...
답변1
예를 들어 웹 서버(또는 외부에서 액세스 가능한 서버) 제공가득한사용자 파일에 대한 액세스(읽기, 쓰기, 실행)는아니요이는 보안 관점에서 좋은 생각입니다.원칙적으로, 파일에 대한 읽기 액세스를 제한하고 디렉터리에 대한 읽기/실행을 제한해야 합니다. 실제로 FreeBSD의 기본값은 다음과 같습니다.others
읽다사용자 파일에 액세스합니다. 이것은 당신의 삶을 더 쉽게 만들어 주지만 첫 번째 요점을 무너 뜨립니다.
더 나은 솔루션이 있습니다jail
예를 들어 네트워크를 통해 사용자가 액세스할 수 있는 파일을 감옥의 디렉터리에 미러링하는 cron
작업(루트로 실행)을 만듭니다 .rsync
bittorrent와 같은 경우에는 bittorrent 클라이언트가 콘텐츠를 읽고 쓸 수 있는 디렉터리도 만듭니다. 디렉터리를 torrents
읽기/쓰기 액세스 권한이 있는 그룹으로 설정하고 모든 사용자를 그룹의 구성원으로 만듭니다.
편집하다:
감옥에 설치하고 디렉토리의 그룹 권한을 읽기/쓰기로 설정한 경우 nullfs
이는 좋은 옵션처럼 들립니다 . 교도소는 분리를 제공해야 합니다.
나는 하나를 사용했다nullfs
와 의 조합unionfs
파일을 사용 가능하게 만들고 수정 사항을 다른 곳에 두십시오. 따라서 uploads
해당 디렉터리의 콘텐츠를 건드리지 않고도 토렌트에서 들어오는 콘텐츠를 해당 디렉터리 에 넣을 수 있습니다 files
.