Я изучаю Ubuntu и экспериментирую с вещами.
Я заметил, что не могу создать каталог в / sys
Это специальный каталог или что-то? Существуют ли другие типы каталогов?
(Я сделал sudo -i
и chmod a+w /sys
)
источник
Я изучаю Ubuntu и экспериментирую с вещами.
Я заметил, что не могу создать каталог в / sys
Это специальный каталог или что-то? Существуют ли другие типы каталогов?
(Я сделал sudo -i
и chmod a+w /sys
)
Во-первых, вы должны поменять /sys
разрешения обратно (это sudo chmod a-r /sys
будет сделано, так как разрешения по умолчанию dr-xr-xr-x
). /sys
не должно быть доступно для записи!
В общем, для создания файлов и каталогов в частях системы, находящихся за пределами вашей домашней папки, внешнего носителя и /tmp
папки, вы должны делать это какroot
обычно sudo
, а не изменять права доступа или владельца, чтобы предоставить себе доступ. Создание каталогов, доступных для записи всем, особенно не рекомендуется.
Для получения информации о рекомендуемом способе см .:
Вы даже можете использовать gksudo nautilus
(или, sudo -H nautilus
если у вас его нет gksudo
), чтобы открыть окно браузера файлов, принадлежащее пользователю root. Однако будьте осторожны с этим - он может делать практически все, и большинство из этих вещей - вещи, которые вы, вероятно, не хотите делать. Также обратите внимание, что если вы запускаете программу из окна браузера файлов, принадлежащего пользователю root, эта программа также будет работать от имени пользователя root.
Как правило, это то, что вы должны сделать, чтобы редактировать или создавать новое содержимое каталогов, принадлежащих root
. Однако...
/sys
это отличается; даже root
не могу напрямую создавать вещи тамКак /proc
и /dev
в Ubuntu и других операционных систем , использующих ядро Linux, /sys
это виртуальная файловая система , что она представляет не реальные файлы на жестком диске (или в любом месте).
Короче говоря, /sys
это способ, которым ядро предоставляет информацию о (физических и виртуальных) устройствах.
Некоторые записи в /sys
файловой системе также доступны для записи, и запись в них является способом динамической настройки конфигурации для устройств. (Это не следует путать с /dev
файловой системой; запись в записи /dev
- это способ отправки данных на устройства. )
Но это все еще должно быть сделано как root. Вместо того, чтобы изменять разрешение /sys
или какую-либо его часть, вы должны просто выполнить эти действия от имени пользователя root, sudo
как описано выше.
В этом ответе на Unix.SE объясняется, как это сделать, и даже как разрешить некоторым не-администраторам (которые не могут выполнять большинство действий от имени пользователя root) изменять некоторые /sys
настройки.
Для получения дополнительной информации о том /sys
, как работает, см .:
Записи в /sys
создаются ядром и драйверами; вы не можете просто создать их из командной строки. (Как указано выше, вы можете редактировать некоторые из них как root, но вы, как правило, не можете создавать новые из пространства пользователя, кроме как путем загрузки модулей ядра или установки драйверов или модификации ядра.)
Если вам интересно писать драйверы, смотрите:
Да, /sys
это «специальный» каталог. Из Википедии :
Современные дистрибутивы Linux включают каталог / sys в качестве виртуальной файловой системы (sysfs, сравнимый с / proc, который является procfs), который хранит и позволяет модифицировать устройства, подключенные к системе, тогда как многие традиционные UNIX и Unix-подобные операционные системы используют / sys как символическая ссылка на исходное дерево ядра.
«Сохраняет и позволяет модифицировать устройства, подключенные к системе», очень важно. Тот факт, что /sys
вы используете виртуальную файловую систему, смонтированную специально, является причиной того, что вы (и пользователь root) не можете писать в нее. Я хотел бы избежать баловаться с /sys
. В Linux, который очень открыт и прозрачен, вещи обычно не меняются по уважительной причине; либо в целях безопасности, либо, в данном случае, потому что есть другой способ достижения вашей цели, который намного менее рискован.