Как я могу использовать netconsole, чтобы помочь решить панику ядра?

Нет такого флага с Linux chattr. Можно или сделать файл неизменным или только добавление (в любом случае, полномочия и владение файла будут заблокированы), или позвольте владельцу файла и корня изменять полномочия. (Неизменный атрибут на каталоге предотвращает создание или удаление файлов от него, но не изменение метаданных записей.)

Если изменение владения файла приемлемо, сделайте это и используйте списки управления доступом (или владение группы) для предоставления, кому бы ни нужен он доступ для чтения и доступ для записи к файлу. Если это - социальный вопрос, где Ваш товарищ базируется, не может полагаться, я не думаю, что Вы найдете удовлетворительный технический вопрос.

Не разрешение владельца файла изменить полномочия попадает в категорию мандатного управления доступом, которое не является чем-то, что Unix традиционно поддерживает. На Linux существует несколько платформ MAC, и два главных являются SELinux и AppArmor; я не знаю, позволяют ли они действительно то, что Вы пытаетесь сделать.

Если это - общая проблема, Вы могли бы изучить использование базы данных для устройства хранения данных. Можно обычно давать кому-то разрешение читать и записать в таблицу, не позволяя им управлять полномочиями.

Менее решительный шаг, чем перемещение в базу данных переместил бы файлы в другую файловую систему (это может или не может быть выполнимо в Вашей установке). Вы могли затем использовать символьные ссылки в месте, где файлы должны существовать и надеяться, что преобразователи разрешения не достаточно сложны для взгляда в месте, где реальные файлы (возможно, который мог быть сделан только для чтения?).

Файловая система FUSE, которая зеркально отражает содержание файла, но метаданные изменений являются другой возможностью. Существующий является bindfs, который может переписать полномочия (-o perms=…) и может проигнорировать chmods (-o chmod-ignore).

6
08.07.2012, 19:31
1 ответ

У меня просто была та же проблема на хинду с 3.5.0 ядрами. То, какой пример онлайн я не попробовал вывода, добралось до клиента, пока я не выполнил следующую команду:

 dmesg -n 7

Я первоначально попробовал

dmesg -n 8

который был предложен в документации ядра, но это возвратилось

localhost ~ # dmesg -n 8
dmesg: unknown level '8'

где dmesg-n 7 работал

localhost ~ # dmesg -n 7
localhost ~ # echo check > /sys/block/md0/md/sync_action

Вот то, что я вошел в клиент

datastore1 ~ # nc -l -p 30000 -u
[ 9698.913098] md: data-check of RAID array md0
[ 9698.913112] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
[ 9698.913124] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check.
[ 9698.913150] md: using 128k window, over a total of 1048512k.
[ 9718.197555] md: md0: data-check done.

BTW, Вот то, как я устанавливаю netconsole:

modprobe netconsole netconsole="@/eth0,30000@192.168.1.31/"
5
27.01.2020, 20:29

Теги

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