Почему файл с именем «регистрация» в каталоге «/proc/sys/fs/binfmt_misc» доступен только для записи?

#linux #chmod

Вопрос:

Во время изучения механизма выполнения файлов Linux я нашел файл в следующем каталоге, который «доступен только для записи» (даже для пользователя root!):

 ebra@him:/proc/sys/fs/binfmt_misc$ ll register 
--w------- 1 root root 0 Aug 19 19:15 register
 

Мой вопрос: каково использование этого [вида] файлов [ов]? Какая польза от файла, который вообще нельзя прочитать?

Комментарии:

1. Это для регистрации новых дескрипторов binfmt_misc. Возможность «чтения» обеспечивается простым перечислением каталога, в котором будут отображаться любые зарегистрированные форматы.

Ответ №1:

Смотрите документацию. Это не обычный файл; это интерфейс к механизму ядра для настройки двоичных форматов. Вы добавляете новый формат, записывая строку в этот «файл» в определенном формате. Ядро использует эту строку для настройки нового двоичного формата, но нет смысла сохранять саму строку. Таким образом, вы не сможете прочитать обратно строку, которую вы написали, и неясно, что еще вы могли бы ожидать прочитать из этого файла.

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