Есть ли во всей системе Linux какой-либо файл, недоступный для чтения или записи для пользователя root?

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

screen.$TERM

Ваша внешняя оболочка была установлена ​​на xterm-256color(, что на самом деле неверно ), и screenнашел описание терминала дляscreen.xterm-256color(из пакета ncurses-term. Когда вы подключаете (вscreen)к удаленной машине без установленного описания терминала, вы столкнетесь с проблемами, подобными перечисленным в вопросе.

(Сообщение об ошибке относится к делу, но основная проблема в этой длинной ветке заключается в том, что репортер не понял, что различные терминалы на самом деле не действуют одинаково — сопровождающие пакета дали разумные ответы ).

Между прочим, в ncurses 6.1 есть функция , которую можно легко использовать для передачи описаний терминалов другим машинам, использующим ncurses 6.1. Но это не поможет с (a )приложениями, которые не используют ncurses, или (b )машинами, на которых не установлен ncurses 6.1. На самом деле, для последнего это создало бы новые проблемы. Когда это произойдет, обсуждение плюсов и минусов появится в FAQ по ncurses.

0
02.05.2021, 09:57
2 ответа

Многие файлы в /proc недоступны для записи, и есть файлы в /sys, которые доступны для записи, но не для чтения. Примеры:

echo something > /proc/$$/cmdline
cat /sys/block/sda/device/delete

(Будьте осторожны:echo > /sys/block/sda/device/delete"отключит" sda от системы)

Это так, потому что /proc и /sys являются особыми файловыми системами. Это не имеет ничего общего с обычными правами доступа к файлам.

Есть и другие примеры:

  • чтение -только файловых систем, таких как DVDROM
  • смонтированные файловые системы -только для чтения
  • сетевые файловые системы, в которых root не сопоставлен с пользователем с высокими -привилегиями, например. NFS с корневой тыквой
  • файлы устройств для устройств, которые позволяют только чтение или запись
4
28.07.2021, 11:35

В дополнение к файлам в /procи /sys, файловые системы FUSE по умолчанию недоступны для root; см. Почему не удается найти файл read /run/user/1000/gvfs, даже если он запущен от имени пользователя root? для получения подробной информации.

Также можно настроить системы с обязательными системами управления доступом, такими как SELinux, чтобы права root были ограничены. У Рассела Кокера (или раньше была, я не проверял )общедоступную -доступную игровую машину , на которой любой мог войти в систему как пользователь root, не причинив вреда системе.

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

4
28.07.2021, 11:35

Теги

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