Как обнаружить специальные скрытые файлы в Linux (например, .reiser_priv)?

Недавно я узнал, что в Linux есть специальные скрытые каталоги, которые не отображаются с помощью команды ls -a . А именно тот, с которым я столкнулся, – это каталог .reiserfs_priv, расположенный в корне файловой системы reiserfs. Я могу вызвать ls -ld .reiserfs_priv на нем и cd в каталог (с правами root), но он не показан с помощью команды ls -a ( find ./ -name *reiser* тоже не находит ее).

Вопросов:

  • Как я действительно обнаруживаю такие типы каталогов?
  • Могу ли я создать их самостоятельно?
  • Какой механизм они используют, чтобы оставаться скрытым и почему они не видят их?
  • Могут ли быть и файлы?
  • Где эти типы каталогов обычно используются?

  • Какая файловая система лучше для Ceph?
  • wicd не работает с файловой системой только для чтения
  • обнаружение и исправление ошибок на уровне программного обеспечения для необработанного хранилища
  • Наборы данных ZFS наследуют наследование
  • Может ли файловая система FAT32 и NTFS существовать без UUID?
  • Где открываются дескрипторы файлов, когда они умирают?
  • mount: непризнанный тип сегмента тонкий
  • Не удается получить доступ к диску, таблица разделов
  • One Solution collect form web for “Как обнаружить специальные скрытые файлы в Linux (например, .reiser_priv)?”

    Вы не можете обнаружить или создать такие файлы в целом. Они существуют только потому, что файловая система сообщает непоследовательные данные.

    В отсутствие изменений в файловой системе существуют избыточности между различными способами получения информации о файлах в этой файловой системе. Например, разрешения, разрешающие:

    • Если имя файла сообщается с помощью readdir то вызов lstat на это имя будет успешным.
    • Если lstat не сообщает, что файл является символической ссылкой, то вызов stat и open также будет успешным.
    • Если stat преуспевает, тогда open успешно.
    • Если open успешно, то stat и lstat .
    • Если stat сообщает, что файл является каталогом, то cd завершается успешно и наоборот.

    И так далее. Когда файловая система .reiserfs_priv запись .reiserfs_priv из списков каталогов и все же сообщает ее как каталог через системные вызовы, которые обращаются к ней напрямую, файловая система сообщает непоследовательную информацию.

    Эта информация не ошибается, просто противоречива. Это только нарушение конвенций, а не правил. Такое же поведение можно наблюдать, если бы был очень быстрый гоблин, который создал этот каталог перед тем, как вы запустили cd или ls .reiserfs_priv , и удалил его непосредственно перед тем, как вы запустили find .

    Это несколько плохая форма для файловой системы, чтобы сообщать о несогласованных данных, потому что это путает некоторые приложения и пользователей, поэтому это должно быть сделано только по очень веской причине. В случае с Reiserfs причина заключается в том, чтобы сделать некоторую информацию довольно скрытой и, в частности, не пройдены поисками и индексацией файлов. Это полезно, потому что содержимое .reiserfs_priv не является «реальным» файлом, оно используется для хранения расширенных атрибутов файла , к которым обращаются, вызывая семейство системных вызовов *xattr . На самом деле, я не знаю, почему он вообще разоблачен – возможно, только для целей отладки.

    Другим примером отсутствия файлов отчетов, которые существуют, являются файловые системы, которые позволяют возвращать одни и те же данные по-разному. Например, ciopfs представляет нечувствительный к регистру вид файловой системы; если у вас есть файл под названием Foo то список каталогов будет содержать список Foo но доступ к foo , FOO и т. д. будет успешным.

    Linux и Unix - лучшая ОС в мире.