Кто думал бы, что этот вопрос вытащит такой набор самонадеянных и underinformed ответов!
Файловая система uid или fsuid являются функцией Linux, разработанной для помощи реализации сервера NFS. Это - дополнительное (неPOSIX) uid, который используется только для проверок разрешения файла. Для любого процесса, который не звонит setfsuid
(в основном любой процесс, это не пытается быть сервером NFS), fsuid совпадает с эффективным uid.
Существует даже страница справочника для него, таким образом извините за утверждение, что это не существует.
Обновление: Я был вдохновлен пойти, находят источник fsuid. Когда это было добавлено в Linux 1.1.44, этот комментарий был помещен выше нового sys_setfsuid
функция:
+/*
+ * "setfsuid()" sets the fsuid - the uid used for filesystem checks. This
+ * is used for "access()" and for the NFS daemon (letting nfsd stay at
+ * whatever uid it wants to). It normally shadows "euid", except when
+ * explicitly set by setfsuid() or for access..
+ */
и это изменение было внесено в комментарии выше sys_access
:
- * XXX we should use the real ids for checking _all_ components of the
- * path. Now we only use them for the final component of the path.
+ * access() needs to use the real uid/gid, not the effective uid/gid.
+ * We do this by temporarily setting fsuid/fsgid to the wanted values
Таким образом, NFS был одной из исходных двух целей. Другой делал доступ () работой правильно. доступ () используется setuid программами, чтобы определить, был ли у реального пользователя доступ к файлу без дополнительных полномочий setuid. Прежде 1.1.44 это был багги. С тех пор это использовало временное изменение fsuid, чтобы сделать работу. Так как fsuid восстанавливается перед доступом () возвраты системного вызова, Вы никогда не будете на самом деле видеть изменения от пространства пользователя.
Согласно coreutils документации под --classify
(псевдоним -F
), =
для сокетов:
Добавьте символ к каждому имени файла, указывающему на тип файла. Кроме того, для регулярных файлов, которые являются исполняемым файлом, добавьте '*'. Индикаторы типа файла ‘/’ для каталогов, для символьных ссылок, ‘|’ для FIFOs, ‘=’ для сокетов, ‘>’ для дверей и ничего для регулярных файлов. Не переходите по символьным ссылкам, перечисленным на командной строке, если - разыменовывать-командная-строка (-H), - не разыменовывают (-L), или - dereference-command-line-symlink-to-dir опции указаны.
--classify
или--indicator-style=classify
, это было, вероятно, добавлено псевдонимом. – Robin Green 01.01.2014, 18:36