Как обнаружить специальные скрытые файлы в 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 и т. д. будет успешным.

  • Что означает «размер в 512-байтных блоках»?
  • Обсуждаются ли какие-либо обсуждения предложения нового стандарта иерархии файловой системы?
  • Какие функции ext4 не поддерживают btrfs?
  • Debian не может монтировать раздел или внешний hd
  • Когда UNIX «дефрагментирует»? (в частности, Solaris)
  • Как управлять огромным количеством файлов в оболочке?
  • Различия FHS между OS X, Linux и FreeBSD
  • Как зарезервированные блоки GDT используются после изменения размера сети в файловой системе ext3
  • Как удалить прежний каталог MTP, который теперь дает мне ошибку ввода / вывода всякий раз, когда я пытаюсь?
  • Неизвестная файловая система после копирования Debian ISO с dd
  • Почему ядро ​​не наследует информацию о файловой системе от GRUB?
  • Linux и Unix - лучшая ОС в мире.