Permission system on top of MFS

ipld
ipfs-cluster
go-ipfs
#1

Similar to UNIX based File system, MFS tries to abstract the mutable properties of the filesystem.
So, to add more sophistication to this, is it sensible to have a permission system on top of the MFS?
The permission can be restricted corresponding to:

  • Public keys
  • or even better, DIDs(Distributed identities)

The permission level can be set at IPLD level, like this:


{
  "Links": [
    {
      "Name": "",
      "Hash": "QmZ5RgT3jJhRNMEgLSEsez9uz1oDnNeAysLLxRco8jz5Be",
      "Size": 262158,
      "Permissions": "-rwxrwxrwx",
      "Owners": [0] //index of the pubKeys of the users in the users array in permissions.json
    },

Each ipfs datastore will have an users, user groups list, which will look something like this:

permissions.json

"users": ["pubKey1","pubKey2","pubKey3"],
"user_groups": {
    "foo": [0,1] //index of the pubKeys of the users in the users array
}

Also, we can have read/write permissions on top of it.

Additionally, we can add commands like ipfs files chown and ipfs files chmod and much more.

These are some random ideas…What are your thoughts on this, and what else can this be extrapolated to?

#2

Found a lot is going on in unixfs-v2.
Closing the discussion to reduce the noice :slight_smile: