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?