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

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

Вопросов:

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

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 вы можете писать в HFS + расширенные атрибуты?
  • Создание файловой системы в обычном файле с помощью FreeBSD
  • Почему уровень фрагментации настолько велик в файлах, которые содержат другие файловые системы?
  • Как я могу узнать о "rootfs"
  • Как вы перемещаете файлы в файловую систему в памяти, установленную на / dev / shm
  • Списки каталогов ext4 в виде файла
  • правильный метод для коррумпированного суперблока в файловой системе ext3, связанной с drbd
  • ext3 vs ext4 - тот же размер диска, менее полезное дисковое пространство под ext4 по сравнению с ext3. Зачем?
  • Файловая система для обмена дисками между Linux и FreeBSD
  • Точка монтирования для разных разделов и разных файловых систем
  • Поведение файловой системы, когда параметр mount был указан как error = panic
  • Interesting Posts

    linux – OOM / swap не используется

    Как вы уменьшаете количество пакетов в архиве?

    Отправить сетевой трафик через виртуальную машину Windows на том же хосте, чтобы использовать корпоративный vpn?

    Заменить косую черту «/» в файле

    «Это 32-битный компьютер, вы не можете использовать на нем 64-битное программное обеспечение»,

    Каковы варианты использования файлов только для записи и записи-выполнения?

    вложенные двойные кавычки в сильно проголосовавшем однострочном

    Отключить запуск MySQL в Linux

    двойная цитата с расширением tilda и обратная косая черта

    Найти и использовать путь к файлу?

    Замена нескольких пакетов Debian из скомпилированного источника

    Использование wget и grep для загрузки HTML-страниц и фильтрации по ключевым словам

    Как я могу найти чипсет моей платы Arduino?

    команда –help vs man command

    rsh показывает «опрос: отказ протокола в настройке схемы», почему?

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