Estoy aprendiendo Ubuntu y experimentando con cosas.
Noté que no podía crear un directorio dentro de / sys
¿Es este un directorio especial o algo así? ¿Hay otros tipos de directorios?
(Hice una sudo -i
y una chmod a+w /sys
)
fuente
Estoy aprendiendo Ubuntu y experimentando con cosas.
Noté que no podía crear un directorio dentro de / sys
¿Es este un directorio especial o algo así? ¿Hay otros tipos de directorios?
(Hice una sudo -i
y una chmod a+w /sys
)
Primero, debe /sys
volver a cambiar los permisos ( sudo chmod a-r /sys
lo hará, ya que los permisos predeterminados son dr-xr-xr-x
)./sys
no debe ser escribible en el mundo!
En general, para crear archivos y directorios en partes del sistema fuera de su carpeta de inicio, medios externos y la /tmp
carpeta, debe hacerlo comoroot
con sudo
, en lugar de cambiar los permisos o la propiedad para tener acceso. Hacer directorios que se puedan escribir en todo el mundo no se recomienda particularmente.
Para obtener información sobre la forma recomendada, consulte:
Incluso puede usar gksudo nautilus
(o sudo -H nautilus
si no tiene gksudo
) para abrir una ventana del explorador de archivos propiedad de root. Sin embargo, tenga cuidado con esto: puede hacer casi cualquier cosa, y la mayoría de esas cosas son cosas que probablemente no desee que se hagan. Además, tenga en cuenta que si inicia un programa desde una ventana del explorador de archivos propiedad de la raíz, ese programa también se ejecutará como raíz.
En general, eso es lo que debe hacer, editar o crear nuevos contenidos de directorios propiedad deroot
. Sin embargo...
/sys
es diferente; inclusoroot
no puede crear cosas directamente allíMe gusta /proc
y /dev
, en Ubuntu y otros sistemas operativos que usan el kernel de Linux, /sys
es un sistema de archivos virtual , lo que representa no son archivos reales en su disco (o en cualquier lugar).
En resumen, /sys
es una forma en que el núcleo proporciona información sobre dispositivos (físicos y virtuales).
Algunas entradas en el /sys
sistema de archivos también se pueden escribir de manera significativa y escribir en ellas es una forma de establecer dinámicamente la configuración de los dispositivos. (Esto no debe confundirse con el /dev
sistema de archivos; escribir en las entradas /dev
es una forma de enviar datos a los dispositivos ) .
Pero esto aún debe hacerse como root. En lugar de cambiar el permiso /sys
o parte de él, solo debe realizar esas acciones como root sudo
como se explicó anteriormente.
Esta respuesta en Unix.SE explica cómo hacerlo, e incluso cómo permitir que algunos no administradores (que no pueden realizar la mayoría de las acciones como root) cambien algunas /sys
configuraciones.
Para obtener más información sobre cómo /sys
funciona, consulte:
Las entradas en /sys
son creadas por el núcleo y por los controladores; no puedes simplemente crearlos desde la línea de comandos. (Como se indicó anteriormente, puede editar algunos como root, pero generalmente no puede crear nuevos desde el espacio de usuario, excepto cargando módulos del kernel o instalando controladores o modificando el kernel).
Si le interesa escribir controladores, consulte:
Sí, /sys
es un directorio "especial". De Wikipedia :
Las distribuciones modernas de Linux incluyen un directorio / sys como un sistema de archivos virtual (sysfs, comparable a / proc, que es un procfs), que almacena y permite la modificación de los dispositivos conectados al sistema, mientras que muchos sistemas operativos UNIX y Unix tradicionales usan / sys como un enlace simbólico al árbol fuente del núcleo.
El "Almacena y permite la modificación de los dispositivos conectados al sistema" es bastante importante. El hecho de que /sys
se use como un sistema de archivos virtual, montado especialmente, es la razón por la cual usted (y el root) no pueden escribir en él. Evitaría meterse con /sys
. Con Linux, que es muy abierto y transparente, las cosas generalmente no se pueden cambiar por una buena razón; ya sea por motivos de seguridad o, en este caso, porque hay otra forma de lograr su objetivo que es mucho menos arriesgada.