= знак в конце .sock файлов в ls производится

Кто думал бы, что этот вопрос вытащит такой набор самонадеянных и 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 восстанавливается перед доступом () возвраты системного вызова, Вы никогда не будете на самом деле видеть изменения от пространства пользователя.

14
02.01.2014, 01:07
1 ответ

Согласно coreutils документации под --classify (псевдоним -F), = для сокетов:

Добавьте символ к каждому имени файла, указывающему на тип файла. Кроме того, для регулярных файлов, которые являются исполняемым файлом, добавьте '*'. Индикаторы типа файла ‘/’ для каталогов, для символьных ссылок, ‘|’ для FIFOs, ‘=’ для сокетов, ‘>’ для дверей и ничего для регулярных файлов. Не переходите по символьным ссылкам, перечисленным на командной строке, если - разыменовывать-командная-строка (-H), - не разыменовывают (-L), или - dereference-command-line-symlink-to-dir опции указаны.

15
27.01.2020, 19:51
  • 1
    Neato, спасибо. Никогда не слышал о дверях как официальное имя прежде. –  Edgar Aroutiounian 01.01.2014, 18:35
  • 2
    и если Вы на самом деле не вводили --classify или --indicator-style=classify, это было, вероятно, добавлено псевдонимом. –  Robin Green 01.01.2014, 18:36
  • 3
    @EdgarAroutiounian являются функцией Solaris, не широко принятой, и в особенности не доступные на Linux. –  Gilles 'SO- stop being evil' 02.01.2014, 01:08

Теги

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