Клиент SSH, похоже, проверяет файл «/dev/null» вместо файла «известные _хосты» при проверке ключа ECDSA удаленного сервера

Записи каталога .и ..являются артефактом начала 1970-х годов, когда UNIX работала на крошечных машинах, и код тоже должен был быть крошечным.

Таким образом, люди создали настоящие жесткие ссылки на каталоги с именами .и ... Эта плохая идея приводит к тому, что счетчик жестких ссылок пустого каталога равен 2.

Сегодня это чепуха, а определение POSIX с 1988 года состоит в том, что эти записи не должны существовать. Их поведение просто нужно подражать. Это означает, что если .или ..появляются в имени пути, файловая система просто должна вести себя правильно.

Современные файловые системы не имеют записей .или ..в каталогах и не имеют счетчика жестких ссылок, равного 2, для пустого каталога.

ZFS реализована таким образом, но симулирует историческое поведение, чтобы избежать сбоя плохо написанных программ. Таким образом, ZFS поставляет .и ..с readdir(), хотя этих записей не существует.

Независимо от того, используете ли вы современную файловую систему или историческую файловую систему, вы не можете удалить эти записи.

Теперь на счет вашей ссылки 2....

В исторической файловой системе ОС обычно считает, что каталог с количеством ссылок > 2 имеет вложенные -каталоги и поэтому не может быть удален.

Если количество ссылок в вашем каталоге не является результатом скрытого «каталога атрибутов» для перечисленных расширенных файлов атрибутов, это должно быть результатом ошибки в файловой системе.

Если ваша ОС не позволяет удалить этот каталог с помощью программы unlinkвместо rm, будучи root, вам нужно запустить fsck.

1
08.10.2020, 20:24
0 ответов

Теги

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