Как добавить метаданные в папку на Mac / Linux - PullRequest
1 голос
/ 02 мая 2019

Если я создам каталог, например, так:

mkdir foo

или с node.js

fs.mkdirSync('foo');

есть ли способ добавить метаданные в папку, чтобы указать, что я ее создал (какой пользователь ее создал, или некоторые другие метаданные). Как бы я прочитал эти метаданные с помощью bash или node.js?

Ответы [ 2 ]

4 голосов
/ 02 мая 2019

В linux вы можете добавлять собственные метаданные в файл как расширенные атрибуты , при условии, что вы помещаете их в пространство имен user.*, если у вас нет возможности CAP_SYS_ADMIN (~ если вы ' не root):

$ setfattr -n user.foobar -v quux file
$ getfattr -n user.foobar file
# file: file
user.foobar="quux"

Я не использую node.js, но вы должны искать listxattr(), setxattr(), getxattr(), removexattr() именованные прокладки - те (и их варианты l* и f*) системный вызов взаимодействует с расширенными атрибутами.

1 голос
/ 02 мая 2019

Нет.Единственными пользовательскими метаданными является владелец каталога (который будет вашим пользователем при его создании, но может быть изменен с помощью команды chown).

mkdir abc
ls -la
> drwxr-xr-x  2 jerric ORG\Domain Users   64 May  2 11:51 abc

jerric - это имяпользователя, создавшего каталог.

...