Почему я не могу создать каталог в / sys

Я изучаю Ubuntu и экспериментирую с вещами.

Я заметил, что не могу создать каталог в / sys

Это специальный каталог или что-то? Существуют ли другие типы каталогов?

(я сделал sudo -i и chmod a+w /sys)

8
задан 11 July 2014 в 16:21

2 ответа

Во-первых, необходимо измениться /sysполномочия назад (sudo chmod a-r /sys сделает это, так как полномочия по умолчанию dr-xr-xr-x). /sys не должно быть мировым записываемым!

В целом, для создания файлов и каталогов в частях системы вне домашней папки, внешних медиа, и /tmp папка, необходимо сделать это как root с sudo, вместо путем изменения полномочий или владения для предоставления себе доступа. Создание мировых записываемых каталогов особенно не рекомендуется.

Для получения информации о рекомендуемом пути см.:

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

Это обычно, что необходимо сделать, чтобы отредактировать или создать новое содержание каталогов, принадлежавших root. Однако...

/sys отличается; даже root не может непосредственно создать материал там

Как /proc и /dev, в Ubuntu и других Ose с помощью ядра Linux, /sys виртуальная файловая система, что это представляет, не реальные файлы на Вашем диске (или нигде).

Короче говоря, /sys способ, которым ядро предоставляет информацию о (физический и виртуальный) устройства.

Некоторые записи в /sys файловая система также значительно перезаписываема и пишет в них, способ динамично установить конфигурацию для устройств. (Это не должно быть перепутано с /dev файловая система; запись в записи в /dev способ отправить данные на устройства.)

Но это все еще должно быть сделано как корень. Вместо того, чтобы изменять разрешение на /sys или любая часть его, необходимо просто выполнить их действие как корень с sudo как объяснено выше.

Этот ответ на Unix. SE объясняет, как сделать это, и даже как позволить некоторым неадминистраторам (кто не может выполнить большинство действий как корень) изменить некоторых /sys настройки.

Для получения дополнительной информации, о как /sys работы, см.:

Записи в /sys создаются ядром и драйверами; Вы не можете только создать их из командной строки. (Как указано выше можно отредактировать некоторых как корень, но Вы не можете обычно делать новые из пространства пользователя кроме путем загрузки модулей ядра или иначе установки драйверов или изменения ядра.)

Если Вы, оказывается, интересуетесь записью драйверов, см.:

15
ответ дан 11 July 2014 в 16:21

Да, /sys - это «специальный» каталог. Из Википедии :

Современные дистрибутивы Linux включают каталог / sys в качестве виртуальной файловой системы (sysfs, сравнимый с / proc, который является procfs), который хранит и позволяет изменять устройства, подключенные к системе, в то время как многие традиционные UNIX и Unix-подобные операционные системы используют / sys в качестве символической ссылки на исходное дерево ядра.

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

0
ответ дан 11 July 2014 в 16:21

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

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