Seguí estoguía tutorialsobre "Cómo crear archivos Proc de Linux en un programa C usando LKM".
Creé exitosamente mi módulo y lo cargué. Ahora quiero hacer eco en mi archivo proc para asegurarme de que se llame al método que se supone que debe llamarse.
Yo he tratado:
$ echo "hello" > /proc/procEntry123 # But it says permission is denied!
$ sudo echo "hello" > /proc/procEntry123 # Same error message.
¿Cómo puedo elevar los privilegios para hacer eco en este archivo? Soy el único usuario y administrador de este sistema.
Respuesta1
¡Pero dice que se ha denegado el permiso!
Probablemente lo diga porque estableces permisos restrictivos al llamar create_proc_entry()
. (0644 se traduce como "u=rw,go=r", que solo otorga permisos de escritura al propietario, que por defecto es root).
Puse "sudo" delante: el mismo mensaje.
Las redirecciones como >
o |
son realizadas por el shell en ejecución,antesinvoca sudo
.
Tienes que usar sudo sh -c "echo blah > /proc/blah"
o ejecutar un shell raíz con sudo -s
.
Soy el único usuario: ¡esta es mi máquina personal!
Esto no importa en Linux. Los permisos de archivos se aplicarán independientemente de quién utilice la computadora.
Si no desea eso, inicie sesión como root o utilícelo pam_cap
para tener la cap_dac_override
capacidad, pero cualquiera de los métodosvoluntadcausar problemas tarde o temprano.