'кошка': не может открыть файл: Разрешение отклонено

Я пытаюсь скопировать целое / каталог к некоторому другому местоположению. При выполнении CP рекурсивно, это перестало работать на некоторых файлах как:-

/ # ls -lrt /sys/module/nf_conntrack_ipv4/uevent
--w-------    1 root     root          4096 Mar  7 06:29 /sys/module/nf_conntrack_ipv4/uevent
/ #
/ # cat /sys/module/nf_conntrack_ipv4/uevent
cat: can't open '/sys/module/nf_conntrack_ipv4/uevent': Permission denied
/ # cp /sys/module/nf_conntrack_ipv4/uevent /tmp
cp: can't open '/sys/module/nf_conntrack_ipv4/uevent': Permission denied

Если я создаю некоторый файл с только w полномочия и попытка к копии/кошке это, я не видел проблем там. Однако для некоторых файлов как упомянутый выше тот, я не могу скопировать его или в кошку он даже при том, что я пробую как пользователь root. Кроме того, странная вещь состоит в том, что размер вышеупомянутого файла упоминается, чтобы быть как 4 096, который подобен тому, который мы имеем для каталога. Это - что-то специальный файл?

Я предполагаю, что пропускаю что-то здесь и нуждаюсь в некотором входе для знания больше о таких файлах или таких поведениях. Любезно выручите меня в понимании, почему меня не разрешают содержанию кошки таких файлов.

3
задан 7 March 2016 в 15:32

2 ответа

Для предотвращения специальных файловых систем как /sys и /proc необходимо дать следующую опцию cp:

-x, --one-file-system
    stay on this file system

(заключенный в кавычки от страница руководства )

, Если у Вас есть несколько фактических файловых систем, например, / и /home, необходимо будет затем дать несколько cp команды.

Быть осторожным, который Вы не копируете от и к то же место. Это может привести к бесконечным циклам, где Вы делаете копии копий копий...

4
ответ дан 1 December 2019 в 12:59

В регулярной файловой системе, например. ext4, если Вы только имеете w разрешение в файле, Вы не сможете читать (cat) это, Вы должны читать (r) бит для этого. Отметьте это, root может считать любой файл независимо от битов полномочий.

Теперь, /sys точка монтирования специального предложения sysfs если ядром Linux, которое является на самом деле виртуальной файловой системой и работает по-другому, чем регулярные файловые системы. /sys содержит связанную с устройством информацию системы.

Изменение чего-то в /sys непосредственно изменил бы внутреннюю структуру данных ядра, таким образом, она зависит от ядра, что она разрешила бы или отклонила бы.

Для /sys/module/nf_conntrack_ipv4/uevent, Вы имеете только w набор битов для владельца (root), даже если Вы добавляете r бит для root (который является очень плохой идеей), при чтении файла, Вы получили бы ошибку ввода-вывода, потому что дизайном ядро не позволит никому читать uevents для nf_conntrack_ipv4 модуль.

10
ответ дан 1 December 2019 в 12:59

Другие вопросы по тегам:

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