![방법: 사용자당 ZFS 데이터 세트](https://linux55.com/image/177389/%EB%B0%A9%EB%B2%95%3A%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%8B%B9%20ZFS%20%EB%8D%B0%EC%9D%B4%ED%84%B0%20%EC%84%B8%ED%8A%B8.png)
저와 룸메이트들은 ZFS를 이용하여 집에 NAS 서버를 구축할 계획이지만, 각자 자기만의 독립된 공간을 갖고 싶어합니다.
여러 개의 서로 다른 데이터 세트를 생성하고 소유자만 데이터에 액세스할 수 있도록 각 데이터 세트를 사용자에게 할당할 수 있습니까?
답변1
예, 가능합니다. 기본 데이터 세트에 대한 생성 시간 권한을 사용해 보는 것이 좋습니다. 이는 옵션을 사용하여 -c
수행 되지만 zfs allow
먼저 사용자가 새 데이터 세트를 생성하도록 허용합니다. 예를 들어 먼저 기본 데이터세트가 있고 mypool/base
이 기본 데이터세트를 사용하여 로컬 생성 권한을 허용할 수 있습니다 allow -l -u <user> <permission>[,<permission>...] mypool/base
. 이렇게 하면 user1이 자신의 데이터 세트를 생성 mypool/base/<user1data>
하고 마찬가지로 다른 사용자를 위한 데이터 세트를 생성할 수 있지만 다른 사용자의 데이터 세트를 삭제하거나 마운트하는 것은 허용되지 않습니다.
이제 이 zfs allow -c
옵션을 사용하여 하위 데이터 세트에 대한 더 넓은 권한을 허용할 수 있으며, 이는 자체 데이터 세트를 생성하면 충분합니다.
매뉴얼 페이지에서:
zfs allow -c perm|@setname[,...] filesystem|volume Sets "create time" permissions. These permissions are granted (locally) to the creator of any newly-created descendent file system.
따라서 더 광범위한 생성 시간 권한을 제공함으로써 각 사용자는 다음 데이터 세트에만 적용되는 전체 권한을 가질 수 있습니다.그들을이미 생성되었습니다. 가짜 데이터세트를 사용해 어떻게 작동하는지 확인해 보세요.
또는 사용자가 탑재하려는 데이터세트에 대한 탑재 지점을 소유해야 합니다. 그러면 해당 사용자가 소유한 디렉터리에 데이터세트 탑재 지점이 있도록 사전 구성할 수 있습니다.