Расширенный атрибут на символьной ссылке

OS X является единственной остающейся операционной системой на основе микроядра Маха, которое также все еще коммерчески релевантно. Существует несколько продолжающихся исследовательских проектов и устаревающих Ose, которые несомненно все еще используются в производственных настройках на старых машинах, но ничто можно выйти и купить на новой машине сегодня.

OS X имеет обычный выбор несовместимостей функции ядра, которые любой *ix имеет. Самый большой я последний раз должен был работать вокруг, является отсутствием очередей сообщений System V. (msgget(2) и друзья.) Мы должны были заменить наш код очереди сообщений — который был записан для "реального" варианта System V и позже портирован к Linux — с TCP/IP, чтобы заставить наше программное обеспечение работать на OS X. Для нашего приложения имели значение различия между этими двумя методами IPC в то время, когда мы сделали выбор для движения с очередями сообщений, но из-за более поздних изменений в архитектуре, это закончило тем, что не было грандиозным предприятием переключиться на TCP/IP.

5
18.08.2011, 23:04
1 ответ

Я нашел этот комментарий в fs/xattr.c:

/* In user.* namespace, only regular files and directories can have
 * extended attributes. For sticky directories, only the owner and
 * privileged user can write attributes.
 */

Там у Вас есть он; ядро не позволит устанавливать атрибуты в пользовательском пространстве имен на чем-либо кроме регулярного файла или каталога.

xattr(7) предоставляет больше подробную информацию:

Расширенные пользовательские атрибуты

Extended user attributes may be assigned to files and directories for
storing arbitrary additional information such as the mime type,
character set or encoding of a file.  The access permissions for user
attributes are defined by the file permission bits: read permission
is required to retrieve the attribute value, and writer permission is
required to change it.

The file permission bits of regular files and directories are
interpreted differently from the file permission bits of special
files and symbolic links.  For regular files and directories the file
permission bits define access to the file's contents, while for
device special files they define access to the device described by
the special file.  The file permissions of symbolic links are not
used in access checks.  These differences would allow users to
consume filesystem resources in a way not controllable by disk quotas
for group or world writable special files and directories.

For this reason, extended user attributes are allowed only for
regular files and directories, and access to extended user attributes
is restricted to the owner and to users with appropriate capabilities
for directories with the sticky bit set (see the chmod(1) manual page
for an explanation of the sticky bit).
5
27.01.2020, 20:40

Теги

Похожие вопросы